Skip to content

jagstargets: reproducible JAGS pipelines at scale #425

Description

@wlandau

Date accepted: 2021-09-27
Submitting Author: Will Landau (@wlandau)
Repository: https://github.com/wlandau/jagstargets
Version submitted: 0.0.0.9000
Editor: @noamross
Reviewers: @dill, @ernestguevarra

Due date for @dill: 2021-05-11

Due date for @ernestguevarra: 2021-06-15
Archive: TBD
Version accepted: TBD


  • Paste the full DESCRIPTION file inside a code block below:
Package: jagstargets
Title: Targets for JAGS Workflows
Description: Bayesian data analysis usually incurs long runtimes
  and cumbersome custom code. A pipeline toolkit tailored to Bayesians,
  the 'jagstargets' R package is leverages
  'targets' and 'R2jags' to ease this burden.
  'jagstargets' makes it super easy to set up useful scalable
  JAGS pipelines that automatically parallelize the computation
  and skip expensive steps when the results are already up to date.
  Minimal custom code is required, and there is no need to manually
  configure branching, so usage is much easier than 'targets' alone.
  For the underlying methodology, please refer
  to the documentation of 'targets' <doi:10.21105/joss.02959> and 'JAGS'
  (Plummer 2003) <https://www.r-project.org/conferences/DSC-2003/Proceedings/Plummer.pdf>.
Version: 0.0.0.9000
License: MIT + file LICENSE
URL: https://wlandau.github.io/jagstargets/, https://github.com/wlandau/jagstargets
BugReports: https://github.com/wlandau/jagstargets/issues
Authors@R: c(
  person(
    given = c("William", "Michael"),
    family = "Landau",
    role = c("aut", "cre"),
    email = "will.landau@gmail.com",
    comment = c(ORCID = "0000-0003-1878-3253")
  ),
  person(
    family = "Eli Lilly and Company",
    role = "cph"
  ))
Depends:
  R (>= 3.5.0)
Imports:
  coda (>= 0.19.4),
  digest (>= 0.6.27),
  fst (>= 0.9.4),
  posterior (>= 0.1.3),
  purrr (>= 0.3.4),
  qs (>= 0.14.1),
  R2jags (>= 0.6.1),
  rjags (>= 4.10),
  rlang (>= 0.4.8),
  stats,
  targets (>= 0.0.1),
  tarchetypes (>= 0.0.1),
  tibble (>= 3.0.4),
  tools,
  utils,
  withr (>= 2.3.0),
Suggests:
  dplyr (>= 1.0.2),
  fs (>= 1.5.0),
  knitr (>= 1.28),
  R.utils (>= 2.10.1),
  rmarkdown (>= 2.1),
  testthat (>= 3.0.0),
  tidyr (>= 1.1.2),
  visNetwork (>= 2.0.9)
Remotes:
  stan-dev/posterior
SystemRequirements: JAGS 4.x.y (http://mcmc-jags.sourceforge.net)
Encoding: UTF-8
Language: en-US
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.1
VignetteBuilder: knitr
Config/testthat/edition: 3

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

jagstargets leverages the existing workflow automation capabilities of targets to orchestrate computation and skip up-to-date tasks in Bayesian data analysis pipelines. jagstargets reduces the burden of user-side custom code that targets would otherwise require, which helps free statisticians to focus more on the models and less on the software engineering.

  • Who is the target audience and what are scientific applications of this package?

jagstargets is for Bayesian statisticians who develop and run JAGS models. Example workflows range from individual analyses of clinical data to large-scale simulation-based calibration studies for validation.

targets already provides the same kind of workflow automation, but it requires more custom code to set up a workflow. jagstargets uses specialized domain knowledge to make this process easier. Packages rjags and R2jags interface with JAGS but provide little workflow automation.

N/A

  • If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

N/A

Technical checks

Confirm each of the following by checking the box.

This package:

The continuous integration is temporarily having some issues because tarchetypes was just accepted to CRAN and the binaries are not yet available. (Should be fixed now.)

Publication options

  • Do you intend for this package to go on CRAN?

This package depends on posterior, which is not yet on CRAN.

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

I have prepared a JOSS manuscript, and I intend to submit it if jagstargets clears rOpenSci software review.

Code of conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions