Fork me on GitHub

Reproducible research

In this lesson we will discuss different methods and tools for better reproducibility in research software and data. We will demonstrate how version control, workflows, containers, and package managers can be used to record reproducible environments and workflows.

Prerequisites

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

  2. Docker and make are optional.

Schedule

10 min Motivation Should research software and data be reproducible?
Are they?
5 min Organizing your projects How should we organize files in a research project?
25 min Sharing code and data How can I share research code and data?
15 min Recording dependencies How can we communicate different versions of software dependencies?
15 min Recording environments How to capture the software environment of a computational experiment?
40 min Recording computational steps for OSeMOSYS How can we create a reproducible workflow?
When to use scientific workflow management systems.
20 min (Optional) Creating and sharing a container image