Tools for reproducible research

National course. The course is open for current and potential facility users such as PhD students, postdocs, group leaders and core facility staff at Swedish universities with interest in making their computational analysis more reproducible.

The course is organized by NBIS.

Responsible teachers: Leif Wigge, Rasmus Ågren

Contact information: and


Course homepage

Important dates

Application open: December 11

Application deadline: February 18

Confirmation to accepted participants: March 1


Course fee

1300 SEK (includes lunches, coffee and snacks)
*Please note that NBIS cannot invoice individuals


Course description

One of the key principles of proper scientific procedure is the act of repeating an experiment or analysis and being able to reach similar conclusions. Published research based on computational analysis, e.g. bioinformatics or computational biology, have often suffered from incomplete method descriptions (e.g. list of used software versions); unavailable raw data; and incomplete, undocumented and/or unavailable code. This essentially prevents any possibility of attempting to reproduce the results of such studies. The term “reproducible research” has been used to describe the idea that a scientific publication based on computational analysis should be distributed along with all the raw data and metadata used in the study, all the code and/or computational notebooks needed to produce results from the raw data, and the computational environment or a complete description thereof.

Reproducible research not only leads to proper scientific conduct but also provides other researchers the access to build upon previous work. Most importantly, the person setting up a reproducible research project will quickly realize the immediate personal benefits: an organized and structured way of working. The person that most often has to reproduce your own analysis is your future self!


Course content

In this course you will learn how to make your data analyses reproducible.

In particular, you will learn:

  •    good practices for data analysis
  •    how to use the version control system git to track edits and collaborate on coding
  •    how to use the package and environment manager Conda
  •    how to use the workflow manager Snakemake
  •    how to use R Markdown to generate automated reports
  •    how to use Jupyter notebooks to document your ongoing analysis
  •    how to use Docker to distribute containerized computational environments

Entry requirements

Required for being able to follow the course and to complete computer exercises:

  •  familiarity with using the terminal (e.g. be familiar with commands such as ls, cd, touch, mkdir, pwd, wget, man, etc.)
  • bring your own laptop running Linux or Mac OS (if you run Windows and are interested in participating, please contact the course leaders by email, see above, before applying)
  • some knowledge in R and/or python is beneficial but not strictly required

Selection criteria

The course can accommodate 20 participants. Selection criteria include correct entry requirements, motivation to attend the course as well as gender and geographical balance.