Enhancing Reproducibility and Collaboration via Management of R Package Cohorts

Science depends on collaboration, result reproduction, and the development of supporting software tools. Each of these requires careful management of software versions. We present a unified model for installing, managing, and publishing software contexts in R. It introduces the package manifest as a...

Full description

Bibliographic Details
Main Authors: Gabriel Becker, Cory Barr, Robert Gentleman, Michael Lawrence
Format: Article
Language:English
Published: Foundation for Open Access Statistics 2017-11-01
Series:Journal of Statistical Software
Subjects:
Online Access:https://www.jstatsoft.org/index.php/jss/article/view/3327
id doaj-4ac95a4d692e450f9d84eea0ddda1df5
record_format Article
spelling doaj-4ac95a4d692e450f9d84eea0ddda1df52020-11-24T23:30:13ZengFoundation for Open Access StatisticsJournal of Statistical Software1548-76602017-11-0182111810.18637/jss.v082.i011167Enhancing Reproducibility and Collaboration via Management of R Package CohortsGabriel BeckerCory BarrRobert GentlemanMichael LawrenceScience depends on collaboration, result reproduction, and the development of supporting software tools. Each of these requires careful management of software versions. We present a unified model for installing, managing, and publishing software contexts in R. It introduces the package manifest as a central data structure for representing versionspecific, decentralized package cohorts. The manifest points to package sources on arbitrary hosts and in various forms, including tarballs and directories under version control. We provide a high-level interface for creating and switching between side-by-side package libraries derived from manifests. Finally, we extend package installation to support the retrieval of exact package versions as indicated by manifests, and to maintain provenance for installed packages. The provenance information enables the user to publish libraries or sessions as manifests, hence completing the loop between publication and deployment. We have implemented this model across three software packages, switchr, switchrGist and GRANBase, and have released the source code under the Artistic 2.0 license.https://www.jstatsoft.org/index.php/jss/article/view/3327reproducibilitycollaborationsoftware distributionpackage development
collection DOAJ
language English
format Article
sources DOAJ
author Gabriel Becker
Cory Barr
Robert Gentleman
Michael Lawrence
spellingShingle Gabriel Becker
Cory Barr
Robert Gentleman
Michael Lawrence
Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
Journal of Statistical Software
reproducibility
collaboration
software distribution
package development
author_facet Gabriel Becker
Cory Barr
Robert Gentleman
Michael Lawrence
author_sort Gabriel Becker
title Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
title_short Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
title_full Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
title_fullStr Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
title_full_unstemmed Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
title_sort enhancing reproducibility and collaboration via management of r package cohorts
publisher Foundation for Open Access Statistics
series Journal of Statistical Software
issn 1548-7660
publishDate 2017-11-01
description Science depends on collaboration, result reproduction, and the development of supporting software tools. Each of these requires careful management of software versions. We present a unified model for installing, managing, and publishing software contexts in R. It introduces the package manifest as a central data structure for representing versionspecific, decentralized package cohorts. The manifest points to package sources on arbitrary hosts and in various forms, including tarballs and directories under version control. We provide a high-level interface for creating and switching between side-by-side package libraries derived from manifests. Finally, we extend package installation to support the retrieval of exact package versions as indicated by manifests, and to maintain provenance for installed packages. The provenance information enables the user to publish libraries or sessions as manifests, hence completing the loop between publication and deployment. We have implemented this model across three software packages, switchr, switchrGist and GRANBase, and have released the source code under the Artistic 2.0 license.
topic reproducibility
collaboration
software distribution
package development
url https://www.jstatsoft.org/index.php/jss/article/view/3327
work_keys_str_mv AT gabrielbecker enhancingreproducibilityandcollaborationviamanagementofrpackagecohorts
AT corybarr enhancingreproducibilityandcollaborationviamanagementofrpackagecohorts
AT robertgentleman enhancingreproducibilityandcollaborationviamanagementofrpackagecohorts
AT michaellawrence enhancingreproducibilityandcollaborationviamanagementofrpackagecohorts
_version_ 1725542238840160256