https://github.com/wlandau/remakegenerator
Generate large remake-style workflows with minimal code.
https://github.com/wlandau/remakegenerator
Last synced: about 1 month ago
JSON representation
Generate large remake-style workflows with minimal code.
- Host: GitHub
- URL: https://github.com/wlandau/remakegenerator
- Owner: wlandau
- Created: 2016-09-05T12:09:25.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2020-10-27T16:31:15.000Z (over 4 years ago)
- Last Synced: 2025-02-14T12:40:42.049Z (3 months ago)
- Language: HTML
- Homepage: http://will-landau.com/remakeGenerator
- Size: 189 KB
- Stars: 5
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Authors: authors.html
Awesome Lists containing this project
README
# Drake, the successor to remakeGenerator
The [drake package](https://github.com/wlandau-lilly/drake) is a newer, standalone, [CRAN-published](https://CRAN.R-project.org/package=drake) [Make](https://www.gnu.org/software/make/)-like build system. It has the convenience of [remakeGenerator](https://github.com/wlandau/remakeGenerator), the reproducibility of [remake](https://github.com/richfitz/remake), and far more parallel computing functionality than [parallelRemake](https://github.com/wlandau/parallelRemake).
# remakeGenerator
[](https://travis-ci.org/wlandau/remakeGenerator)
[](https://ci.appveyor.com/project/wlandau/remakeGenerator)
[](https://codecov.io/github/wlandau/remakeGenerator?branch=master)
[](http://cran.r-project.org/package=remakeGenerator)The `remakeGenerator` package is a helper add-on for [`remake`](https://github.com/richfitz/remake), a [Makefile](https://www.gnu.org/software/make/)-like reproducible build system for R. If you haven't done so already, go learn [`remake`](https://github.com/richfitz/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](https://www.gnu.org/software/make/).
- **Development-friendly**. Thanks to [`remake`](https://github.com/richfitz/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](https://www.gnu.org/software/make/).The `remakeGenerator` package accomplishes this by generating [YAML](http://yaml.org/) files for [`remake`](https://github.com/richfitz/remake) that would be too big to type manually.
# Installation
First, ensure that [R](https://www.r-project.org/) is installed, as well as the dependencies in the [`DESCRIPTION`](https://github.com/wlandau/remakeGenerator/blob/master/DESCRIPTION). To install the [latest CRAN release](https://cran.r-project.org/web/packages/remakeGenerator/), run
```r
install.packages("remakeGenerator")
```To install the development version, get the [devtools](https://cran.r-project.org/web/packages/devtools/) package and then run
```r
devtools::install_github("wlandau/remakeGenerator", build = TRUE)
```If you specify a tag, you can install a GitHub release.
```r
devtools::install_github("wlandau/[email protected]", build = TRUE)
```# Rtools for Windows users
Windows users may need [`Rtools`](https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows) to take full advantage of `remakeGenerator`'s features, specifically to run [Makefiles](https://www.gnu.org/software/make/) with `system("make")`.
# Tutorial
The [online package vignette](https://github.com/wlandau/remakeGenerator/blob/master/vignettes/remakeGenerator.Rmd) has a complete tutorial. You can the load the compiled version from an R session.
```r
vignette("remakeGenerator")
```# Help and troubleshooting
Use the `help_remakeGenerator()` function to obtain a collection of helpful links. For troubleshooting, please refer to [TROUBLESHOOTING.md](https://github.com/wlandau/remakeGenerator/blob/master/TROUBLESHOOTING.md) on the [GitHub page](https://github.com/wlandau/remakeGenerator) for instructions.
# Acknowledgements
This package stands on the shoulders of [Rich FitzJohn](https://richfitz.github.io/)'s [`remake`](https://github.com/richfitz/remake) package.