To test approaches for building a completely reproducible document. This repository should act as something of a sandbox to experiment with methods and to practice using tools.
To be successful, the document should be able to be compiled in a fresh environment by cloning this repository and running a script/makefile.
This will require reproducible:
- data access
- compute environment
- code/scripts
- document generation
As a starting point, the following tools will be used:
-
Git. To manage the contributions of multiple people we will attempt to follow this model (http://nvie.com/posts/a-successful-git-branching-model/) for branching. tldr: don't make commits on the master branch. master only gets modified via pull requests.
-
Bookdown - an R package that enables writing technical documents in markdown
-
Singularity - a container system for reproducible/portable compute environments
-
Snakemake or Nextflow for top level managment of entire pipeline from input data to final document. Both facilitate HPC execution and Sigularity integration. See
NEXTFLOW.mdfor details on how to run a simple pipeline using different compute environments.