Demonstration of a reproducible analysis workflow
"The same set of analyses applied to the same set of data should produce the same set of results." Easier said then done! This repository provides a reproducible workflow making using tools such as;
- Rmarkdown (for reproducible documents)
- Makefile (for workflow directives)
- Docker (for isolating the environment for the analysis to run in)
- DockerHub (image hosting) and GitHub for sharing code + results
Table of contents
- Quick start options
- Problem
- Reproducible documents using Rmarkdown (walkthrough)
- Workflow directives using Makefile (walkthrough)
- Isolated environment using Docker (walkthrough)
- Sharing analyses using DockerHub and GitHub (walkthrough)
- Bugs and feature requests
- Contributing
- Copyright and license
Quick start options
Reproduce all analyses
- install Docker: version used for this demo (version 19.03.0)
- install Git: version used for this demo (version 2.24.3)
$ git clone https://github.com/singha53/reproducible_analysis_demo.git
$ cd reproducible_analysis_demo
$ make build
$ make run
- Navigate to http://localhost:8787
- login using username: rstudio and password: 123
- open terminal in RStudio and type:
$ make all
Problem
Convert the following set of steps into reproducible workflow:
-
Get data (.sh)
-
Run analysis (.py)
-
Visual results (.r)
-
Write paper (manually make word document)
Reproducible documents using Rmarkdown (walkthrough)
Icon by Muhammad Haq on freeicons.io
Workflow directives using Makefile (walkthrough)
Icon by redaxy on freeicons.io
Isolated environment using Docker (walkthrough)
Icon by fasil on freeicons.io
Sharing analyses using DockerHub and GitHub (walkthrough)
Icon by Muhammad Haq on freeicons.io
Bugs and feature requests
Have a bug or a feature request? Please add your request here: https://github.com/singha53/reproducible_analysis_demo/issues.
Contributing
Please feel free to make a pull request if you would like to modify anything.
Copyright and license
Copyright 2021 AMRITPAL SINGH Inc.
Code released under the MIT license.