Skip to content

wlandau/remakeGenerator

Repository files navigation

Drake, the successor to remakeGenerator

The drake package is a newer, standalone, CRAN-published Make-like build system. It has the convenience of remakeGenerator, the reproducibility of remake, and far more parallel computing functionality than parallelRemake.

remakeGenerator

Travis-CI Build Status AppVeyor Build Status codecov.io CRAN_Status_Badge

The remakeGenerator package is a helper add-on for remake, a Makefile-like reproducible build system for R. If you haven't done so already, go learn remake! Once you do that, you will be ready to use remakeGenerator. With remakeGenerator, your long and cumbersome workflows will be

  • Quick to set up. You can plan a large workflow with a small amount of code.
  • Reproducible. Reproduce computation with remake::make() or GNU Make.
  • Development-friendly. Thanks to remake, whenever you change your code, your next computation will only run the parts that are new or out of date.
  • Parallelizable. Distribute your workflow over multiple parallel processes with a single flag in GNU Make.

The remakeGenerator package accomplishes this by generating YAML files for remake that would be too big to type manually.

Installation

First, ensure that R is installed, as well as the dependencies in the DESCRIPTION. To install the latest CRAN release, run

install.packages("remakeGenerator")

To install the development version, get the devtools package and then run

devtools::install_github("wlandau/remakeGenerator", build = TRUE)

If you specify a tag, you can install a GitHub release.

devtools::install_github("wlandau/remakeGenerator@v0.1.0", build = TRUE)

Rtools for Windows users

Windows users may need Rtools to take full advantage of remakeGenerator's features, specifically to run Makefiles with system("make").

Tutorial

The online package vignette has a complete tutorial. You can the load the compiled version from an R session.

vignette("remakeGenerator")

Help and troubleshooting

Use the help_remakeGenerator() function to obtain a collection of helpful links. For troubleshooting, please refer to TROUBLESHOOTING.md on the GitHub page for instructions.

Acknowledgements

This package stands on the shoulders of Rich FitzJohn's remake package.