Ensuring reproducibility
A key goal of the OpenScPCA project is to ensure that results remain reproducible over time. This section describes steps that we take to achieve this goal and ensure a stable codebase, illustrated by the figure below:
- We require each analysis module to have its own software environment with pinned dependencies
- As analysis modules mature, these software dependencies will be added to a module-specific Docker image
- We use the GitHub Actions continuous integration framework to automate certain processes that ensure reproducibility, including:
- Testing that analysis modules run to completion without errors
- Building module-specific Docker images and pushing them to a public registry for broad reuse
- We maintain a separate repository,
OpenScPCA-nf
, where completed analysis modules are run in a reproducible Nextflow workflow to generate workflow results associated with OpenScPCA data releases