Persistent reproducible reporting by containerization of R Markdown documents.
liftr aims to solve the problem of persistent reproducible reporting. To achieve this goal, it extends the R Markdown metadata format, and uses Docker to containerize and render R Markdown documents.
Install liftr from CRAN:
install.packages("liftr")
Or try the development version on GitHub:
# install.packages("devtools")devtools::install_github("road2stat/liftr")
Browse the vignettes or the demo video for a quick-start.
Time | Event | Location |
---|---|---|
July 27, 2017 | BioC 2017 (poster for dockflow.org) | Dana-Farber Cancer Institute, Boston, MA |
May 20, 2017 | The 10th China-R Conference (talk) | Tsinghua University, Beijng, China |
April 18, 2017 | DockerCon 2017 (talk) | Austin Convention Center, Austin, TX |
December 3, 2015 | CRI Bioinformatics Workshop (talk) | The University of Chicago, Chicago, IL |
July 21, 2015 | BioC 2015 (workshop) | Fred Hutchinson Cancer Research Center, Seattle, WA |
To contribute to this project, please take a look at the Contributing Guidelines first. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
liftr is free and open source software, licensed under GPL-3.
dry_run
in render_docker()
for debugging: when set to TRUE
, it will only return the Docker commands and not actually run them.prune
in render_docker()
to automatically clean up dangling containers and images in case the image build or compilation was not successful (#27). We thank Nicolas Roelandt for suggesting this feature (#25).prune_container_auto()
, prune_image_auto()
, and prune_all_auto()
for automatic pruning of dangling containers or images without particular names specified.install_docker()
for guiding the installation of Docker.check_docker_install()
for checking if Docker is properly installed and discoverable.check_docker_running()
for checking if Docker daemon is running.purge_info
was renamed to prune_info
in render_docker()
.purge_container()
and purge_image()
are now renamed to prune_container()
and prune_image()
.vignette("liftr-addins")
and vignette("liftr-tidyverse")
.cache
in render_docker()
to improve rendering speed significantly by caching Docker image layers [#18].purge_info
to render_docker()
. This argument controls whether to output the Docker image and container name into an YAML file for purging purposes later.reset
in render_docker()
; added purge_container()
and purge_image()
for cleaning up.ghpkg
field is now deprecated. The new remotes
field supports devtools remote package name format. Now packages can be installed from GitHub, Bitbucket, Git/SVN servers, URLs, etc.include
for including any custom Dockerfile snippets into the final Dockerfile. This also fixes #21.drender()
to render_docker()
. drender()
is now deprecated.liftr
metadata fields.lift()
.inst/examples/
: explore tidyverse and Bioconductor RNA-Seq workflow.-t
and -i
from docker run
to fix #17.pandoc
to control Pandoc installation. Automatically set this to false
for rocker/rstudio
and bioconductor/...
images. This solves #12.lift()
and drender()
. They provide basic support for dockerizing R Markdown documents, with support for running Rabix workflows/tools before rendering R Markdown documents in Docker containers.