Replication, validation and extension of experiments are crucial for scientific progress. Computational experiments are scriptable and should be easy to reproduce. However, computational analyses are designed and run in a specific computing environment, which may be difficult or impossible to match using written instructions. We report the development of continuous analysis, a workflow that enables reproducible computational analyses. Continuous analysis combines Docker, a container technology akin to virtual machines, with continuous integration, a software development technique, to automatically rerun a computational analysis whenever updates or improvements are made to source code or data. This enables researchers to reproduce results without contacting the study authors. Continuous analysis allows reviewers, editors or readers to verify reproducibility without manually downloading and rerunning code and can provide an audit trail for analyses of data that cannot be shared.
At a glance
- Anonymous. Rebooting review. Nat. Biotechnol. 33, 319 (2015).
- Anonymous. Software with impact. Nat. Methods 11, 211 (2014).
- Reproducible research in computational science. Science 334, 1226–1227 (2011).
- Reproducibility. Science 343, 229 (2014).
- Anonymous. Illuminating the black box. Nature 442, 1 (2006).
- 1,500 scientists lift the lid on reproducibility. Nature 533, 452–454 (2016).
- Quantifying reproducibility in computational biology: the case of the tuberculosis drugome. PLoS One 8, e80278 (2013). et al.
- The Mycobacterium tuberculosis drugome and its polypharmacological implications. PLoS Comput. Biol. 6, e1000976 (2010). et al.
- Repeatability of published microarray gene expression analyses. Nat. Genet. 41, 149–155 (2009). et al.
- Case studies in reproducibility. Brief. Bioinform. 12, 288–300 (2011). &
- Open science and reproducible research. Br. Med. J. 344, e4383 (2012). &
- An introduction to Docker for reproducible research, with examples from the R environment. ACM SIGOPS Oper. Syst. Rev. 49, 71–79 (2015).
- Evolving gene/transcript definitions significantly alter the interpretation of GeneChip data. Nucleic Acids Res. 33, e175 (2005). et al.
- Long-term reduction of T-cell intracellular antigens reveals a transcriptome associated with extracellular matrix and cell adhesion components. PLoS One 9, e113141 (2014). , , &
- Docker v.1.12.5, build 7392c3b (Docker, 2016).
- Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley Professional, 2007). , &
- IPython: a system for interactive scientific computing. Comput. Sci. Eng. 9, 21–29 (2007). &
- Jupyter v.4.1.0 (Project Jupyter, 2016).
- RStudio: Integrated Development for R: v.0.98.1083 (RStudio Inc., 2015).
- Markdown: integrating a reproducible analysis tool into introductory statistics. Technol. Innov. Stat. Educ. 8, uclastat_cts_tise_20118 (2014). , , , &
- Friedrich Leisch. Sweave: dynamic generation of statistical reports using literate data analysis. Proc. Comput. Stat. 2002, 575–580 (2002).
- Semi-supervised learning of the electronic health record for phenotype stratification. J. Biomed. Inform. 64, 168–178 (2016). &
- MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform. Nucleic Acids Res. 30, 3059–3066 (2002). , , &
- PHYLIP—phylogeny inference package (version 3.2). Cladistics 5, 164–166 (1989).
- Organoid models of human and mouse ductal pancreatic cancer. Cell 160, 324–338 (2015). et al.
- Near-optimal probabilistic RNA-seq quantification. Nat. Biotechnol. 34, 525–527 (2016). , , &
- limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Res. 43, e47 (2015). et al.
- Linear models and empirical bayes methods for assessing differential expression in microarray experiments. Stat. Appl. Genet. Mol. Biol. 3, e3 (2004).
- Differential analysis of RNA-seq incorporating quantification uncertainty. Preprint at bioRxiv https://doi.org/10.1101/058164 (2016). , , , &
- Scalable and cost-effective NGS genotyping in the cloud. BMC Med. Genomics 8, 64 (2015). et al.
- Enhancing reproducibility for computational methods. Science 354, 1240–1241 (2016). et al.
- Multiple testing procedures: the multtest package and applications to genomics. in Bioinformatics and Computational Biology Solutions Using R and Bioconductor (eds. Gentleman, R. et al.) (Springer New York, 2005). , &
- EMBOSS: the European Molecular Biology Open Software Suite. Trends Genet. 16, 276–277 (2000). , &
- Supplementary Figure 1: Example continuous integration log. (166 KB)
Continuous integration log showing quantification of the abundances of RNA transcripts from RNA-seq data using Kallisto.
- Supplementary Figure 2: Example continuous analysis branch workflow. (68 KB)
Code changes are made on development branches. When completed, changes are merged into the staging branch and continuous integration runs. If the continuous integration process succeeds, changes are merged into the master branch and pushed along with regenerated figures and results.
- Supplementary Figure 3: Example basic YAML file structure. (20 KB)
Example.yml file structure,choose your Docker image, run tests, perform analysis and then publish results.
- Supplementary Figure 4: Consensus phylogenetic tree tracked between two continuous analysis runs. (253 KB)
The effect of adding the HumanTw2 sequence to the constructed phylogenetic tree in two different continuous analysis runs.
- Supplementary Figure 5: Principal component analysis plot of kallisto transcript quantification. (79 KB)
The effect of adding an additional organoid derived from pancreatic adenocarcinoma on principal components analysis using Kallisto’s estimated counts.
- Supplementary Figure 6: Differential expression analysis before and after adding an additional sample. (154 KB)
A volcano plot plotting the p-value vs. the log fold change. Adding an additional organoid derived from pancreatic adenocarcinoma leads to an additional gene being marked as significantly differentially expressed after Benjamini & Hochberg correction.
- Supplementary Text and Figures (666 KB)
Supplementary Figures 1–6
- Supplementary Data 1 (454 KB)
Top 104 most recent papers citing the manuscript used and the Custom CDF version used.
The 104 most recent papers identified using Web of Science on November 14, 2016 that reference the BrainArray manuscript and the version of the Custom CDF that was specified.
- Supplementary Data 2 (501 KB)
Top 116 most cited papers citing the manuscript used and the Custom CDF version used.
The 116 most cited papers identified using Web of Science on November 14, 2016 that reference the BrainArray manuscript and the version of the Custom CDF that was specified.
- Supplementary Data 3 (984 KB)
Complete P values for Custom CDF version 18.
- Supplementary Data 4 (989 KB)
Complete P values for Custom CDF version 19.
- Supplementary Data 5 (971 KB)
Complete P values for Custom CDF version 20.
- Supplementary Source Code (1377 KB)
Continuous analysis source code.
This includes template workflows for multiple distinct continuous analysis providers.