Reproducible science - motivation and basic tools

Marie-Pierre Etienne

https://github.com/MarieEtienne/reproductibilite

2024-07-24

Motivations

Reproducible science

In their paper @alston2021beginner address the question of science reproducibility in ecology.

The key aspects

It’s a growing trend: more and more journals require some elements of reproducibility.

Motivations

Practically

Where is the correct version of the report?

Motivations

Practically

An explanation in images: vidéo by Ignasi Bartomeus.

Course objective

Introducing tools to facilitate step 2.

Overview

Code / paper writing

  • git for
    • keeping track of different versions of code
    • collective work
    • reviewing and improving code quality

Around the code

  • Rmarkdown, Jupyter notebooks, Quarto to bring together code, results, and analysis.
    • vignettes in R packages
    • R help pages
    • some scientific papers (Computo asks for Jupyter/Quarto submissions)
    • dashboards …

Overview

Controlling software versions

Reproducibility also relies on stabilizing programming/library versions.

The container system Docker allows freezing a working software environment.

The winning trio of reproducible research with R

  • git code versionning
  • Rmarkdown markup language
  • Docker Controlling software version (last 2 sessions with Theo Fabien)