A Data Carpentry Workshop

Utrecht University

Utrecht, Netherlands


Jun 24-25, 2015

9:00 am - 5:00 pm

Instructors: Karthik Ram, Aleksandra Pawlik, Mateusz Kuzak

Helpers: Mateusz Kuzak, Philip Lijnzaad, Vincenza Colonna, Aleksandra Nenadic, Frederik Coppens, Angel Corpuz, Walid Gharib, Joris Borgdorff, Carlos Martinez Ortiz

Workshop Information

Data Carpentry

In many domains of research the rapid generation of large amounts of data is fundamentally changing how research is done. The deluge of data presents great opportunities, but also many challenges in managing, analyzing and sharing data. Data Carpentry is designed to teach basic concepts, skills and tools for working more effectively with data. The workshop is aimed at researchers in the life sciences at all career stages and is designed for learners with little to no prior knowledge of programming, shell scripting, or command line tools.


For communication we will be using this Etherpad

Workshop learning objectives & programme

Workshop Learning objectives & programme


The workshop will be held in room 2.112 of the Stratenum Building, Universiteitsweg 100, Utrecht
The closest bus stop is "Heidelberglaan", reachable by bus 12 from Utrecht Central Station, or bus 28 coming from downtown. The route to room 2.112 will be sign-posted inside the Stratenum building.


For more information, please contact Celia van Gelder (DTL, ELIXIR-NL).

The participants will need to bring their own laptops configured before the workshop according to the setup instructions.

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.

Acknowledgements & Support

The workshop is supported by the ELIXIR programme. Data Carpentry is a sibling organization of Software Carpentry and is designed to teach basic concepts, skills and tools for working more effectively with data. The structure and objectives of the curriculum as well as the teaching style are informed by Software Carpentry.


Wednesday09:00 - 9:30 Introduction and setup help
09:30 - 10:30 Better use of spreadsheets (Sample dataset 1.) (Sample dataset 2)
Open Refine
10:30 - 11:00 Break
11:00 - 12:00 Introduction to R
12:00 - 13:00 Lunch break
13:00 - 14:30 Working with data in R - part 1
14:30 - 15:00 Coffee break
15:00 - 16:45 Working with data in R - part 2
16:45 - 17:00 Wrap-up
Thursday 09:00 - 10:30 Working with command line - part 1. (Sample dataset.)
10:30 - 10:45 Break
10:45 - 12:00 Working with command line - part 2
12:00 - 13:00 Lunch
13:00 - 14:45 Introduction to data manipulation with SQL
14:45 - 15:00 Break
15:00 - 16:30 Working with ELIXIR cloud
16:30 - 17:00 Wrap-up and feedback


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 command line interface, a so-called shell. Using a shell gives you the power to do more tasks more quickly by freeing you from having to click everything.


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.


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.

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!

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.


OpenRefine (formerly Google Refine) is a powerful tool for exploring and working with messy data. You will need a browser (Firefox or Chrome is recommended) to work with Open Refine. Once you install Open Refine, you should be able to launch it double clicking like most of the programs. Open Refine will open in the browser (but you don't have to be online)