In this tutorial, we will strive to build good scientific software. By good
scientific software we mean readable, reproducible, and reliable software that
address scientific questions by data analysis and modelling. We will try to
define hallmarks of good scientific software, and discuss how to use software
tools to achieve these hallmarks.
Prerequisites
You need to install Git, Python, and Snakemake.
10 min | Motivation |
Should research software and data be reproducible?
Are they? |
10 min | Organizing your projects | How should we organize files in a research project? |
30 min | Recording dependencies | How can we communicate different versions of software dependencies? |
30 min | Recording computational steps |
How can we create a reproducible workflow?
When to use scientific workflow management systems. |
15 min | Recording environments | How to capture the software environment of a computational experiment? |
25 min | Sharing code and data | How can I share research code and data? |
20 min | (Optional) Creating and sharing a container image |