A Data Carpentry Workshop

Organized by Elixir UK for researchers in life sciences.

University of Manchester

Atlas 1-2 Room, Kilburn Building, Oxford Road, M13 9PL Manchester


Nov 27-28, 2014

9:00 am - 5:00 pm

Instructors: Aleksandra Pawlik, Shoaib Sufi, Alejandra Gonzalez-Beltran

Helpers: Ian Dunlop, Aleksandra Nenadic, Christian Brenninkmeijer

Workshop Information

This Data Carpentry workshop is organised as a part of the ELIXIR UK training programme. The workshop is aimed at researchers in the life sciences at all career stages. Data Carpentry is designed to teach basic concepts, skills and tools for working more effectively with data.

The workshop will cover the following topics:

We especially encourage to register those who may be less familiar with the above topics. There is no prerequisite as to what computing skills and knowledge is required. The participants are only asked to bring their own laptops configured as described below.

The workshop will also provide an overview on data management for life scientists, including an overview of ISA-tools. We will look at tools such: an add-on for Google Spreadsheets called OntoMaton and a BioConductor package called Risa.

Acknowledgements & Support

Data Carpentry is a partnership of several NSF-funded BIO Centers (NESCent, iPlant, iDigBio, BEACON and SESYNC) and Software Carpentry, and is sponsored by the Data Observation Network for Earth (DataONE). The structure and objectives of the curriculum as well as the teaching style are informed by Software Carpentry.

This workshop is supported by ELIXIR UK.


Thursday09:00 - 10:00 Introduction and setup help
10:00 - 10:30 Better use of spreadsheets - part 1
10:30 - 11:00 Break
11:00 - 12:00 Better use of spreadsheets - part 2
12:00 - 13:00 Lunch break
13:00 - 14:30 Managing experimental metadata in tables
14:30 - 15:00 Coffee break
15:00 - 16:45 Introduction to working with data in SQL
16:45 - 17:00 Wrap-up
Friday 09:00 - 11:00 Introduction to shell
11:00 - 11:30 Break
11:30 - 13:00 Introduction to R
13:00 - 14:00 Lunch
14:00 - 15:00 Data manipulation using R - part 1
15:00 - 15:30 Break
15:30 - 16:30 Data manipulation using R - part 2
16:30 - 17:00 Wrap-up and feedback


Better use of spreadsheets

  • Formatting data tables in spreadsheets.
  • Common formatting mistakes by spreadsheet users.
  • Dates as data.
  • Basic quality control and data manipulation in spreadsheets.
  • Exporting data from spreadsheets.
  • Caveats of popular data and file formats.


Managing experimental metadata in tables

  • Managing life science experimental metadata in tables.
  • Discovery of Metadata Standards and Databases.
  • Tools shed


Introduction to working with data in SQL

  • Relational databases.
  • Working with SQLite
  • Basic queries
  • Filtering
  • Building more complex queries


The Unix Shell

  • Files and directories: pwd, cd, ls, mkdir, ...
  • History and tab completion
  • Pipes and redirection
  • Looping over files
  • Creating and running shell scripts
  • Finding things: grep, find, ...


Download the sample dataset for the Unix Shell lessons

Introduction and data manipulation with R

  • Introduction to R
  • Reading and writing .csv
  • Creating Functions
  • Looping over files
  • Analyzing Multiple Data Sets
  • Making Choices - conditionals


Download the sample datasets for the R lessons Download samples of the R scripts


To participate in a Data Carpentry workshop, you will need working copies of the software described below. Please make sure to install everything (or at least to download the installers) before the start of your workshop.



When you're writing scripts or text, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on Mac OS X and Linux is usually set to Vim, which is not famous for being intuitive. if you accidentally find yourself stuck in it, try typing the escape key, followed by ':wq!' (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell. (This will exit Vim and save the changes you made in the file.)

The Bash Shell

Bash is a commonly-used shell. Using a shell gives you more power to do more tasks more quickly with your computer.


R is a programming language that specializes in statistical computing. It is a powerful tool for exploratory data analysis. To interact with R, we will use RStudio, an interactive development environment (IDE).


SQL is a specialized programming language used with databases. We use a simple database manager called SQLite, either directly or through a browser plugin.


We'll be using a spreadsheet program. If you already have a spreadsheet program installed, like LibreOffice, Excel or OpenOffice, you can use whatever you already have. If you don't have a spreadsheet program, please download and install LibreOffice.



Notepad++ is a popular free code editor for Windows. Be aware that you must add its installation directory to your system path in order to launch it from the command line (or have other tools like Git launch it for you). The instructions to modify your path are available online here. Please ask your instructor to help you do this.

Git Bash

Install Git (version control) and a Bash shell for Windows from the msysGit project's homepage. This will provide you with Bash in the Git Bash program.

Software Carpentry Installer

Other tools used in Data Carpentry have been packaged up by Software Carpentry in an installer. This installer requires an active internet connection.

  • Download the installer.
  • Double click on the file to run it.
  • A command window will open and then close again. The installer downloads and installs a couple of command line programs that we'll need for course.
  • If you saw it open and then close again, you're set!


Install R by downloading and running this .exe file from CRAN. Also, please install the RStudio IDE.


Install the Firefox SQLite browser plugin described below.

Mac OS X


The default shell in all versions of Mac OS X is bash, so no need to install anything. You access bash from the Terminal (found in /Applications/Utilities). You may want to keep Terminal in your dock for this workshop.


We recommend Text Wrangler or Sublime Text. Alternatively, you can use nano, which should be pre-installed.


Install R by downloading and running this .pkg file from CRAN. Also, please install the RStudio IDE.


sqlite3 comes pre-installed on Mac OS X. Also install the Firefox SQLite browser plugin described below.



The default shell is usually bash, but if your machine is set up differently you can run it by opening a terminal and typing bash. There is no need to install anything.


Kate is one option for Linux users. Alternatively, you can use nano, which should be pre-installed.


You can download the binary files for your distribution from CRAN. Or you can use your package manager, e.g. for Debian/Ubuntu run apt-get install r-base. Also, please install the RStudio IDE.


sqlite3 comes pre-installed on Linux. Also install the Firefox SQLite browser plugin described below.


Extras - everyone needs to install these

Firefox SQLite Plugin

Instead of using sqlite3 from the command line, you will use this plugin for Firefox instead. If you don't already have firefox, install it first. To install the sqlite plugin:

  • Start Firefox.
  • Go to the plugin homepage.
  • Click the "Add Now" button.
  • Click "Install Now" on the dialog that appears after the download completes.
  • Restart Firefox when prompted.
  • To check that it was installed correctly, select "SQLite Manager" from the "Tools" menu.