Fork me on GitHub

Reproducible research

In this lesson we will discuss different methods and tools for better reproducibility in research. We will demonstrate how version control, workflow engines and containers can be used to develop reproducible workflows.

This demonstration will use Python snippets but all tools work equally well for other programming languages.


  1. You need to install Git, Python, Make, Snakemake.

  2. Docker is optional.


14:30 Motivation Why should research be reproducible?
Why is research sometimes irreproducible?
14:40 Organizing your projects How should we organize files in a research project?
How can I share research code and data?
15:05 Workflow management tools How can we create a reproducible workflow?
What are scientific workflow management systems?
15:45 Virtual environments How to capture the software environment of a computational experiment?
How can we communicate different versions of software dependencies?
16:25 Finish