peprpepr is the official R package for the pepkit suite, a collection of tools
that interface with portable encapsulated projects, or PEPs. PEP format defines a structure for
organizing project metadata using a yaml file.
pepr allows you to read any PEP-formatted project metadata
(and potentially even actual sample data) into R, providing you a
convenient user interface to interact with and share project
metadata.
peprYou can install pepr in the usual way. Currently from
GitHub (but we target a CRAN release at some point).
devtools::install_github('pepkit/pepr')
Load pepr and read in your project. We have provided a
basic example to show you how it works. You can use this to get the file
path to a built-in example project configuration yaml
file:
library('pepr')
NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true")
branch = "master"
projectConfigFile = system.file("extdata",
paste0("example_peps-", branch),
"example_basic",
"project_config.yaml",
package="pepr")Loading your project metadata into R is a single line of code:
## Loading config file: /tmp/Rtmp7NInD9/Rinstb77c8dd91/pepr/extdata/example_peps-master/example_basic/project_config.yaml
That’s it! You now have a Project object, p, to
interact with in R. You can also use PEPhub registry paths
to fetch them online:
To fetch private PEPs, use PEPhub Client to login and generate an authentication token. Or, login to PEPhub and generate a new key to save it locally:
You should then be able to fetch your private PEPs by registry path.
pepr::Project object in RNow you can interface with that project object to grab both
sample-level and project-level metadata. Here’s how you can access the
metadata. If you just run the show() function on your
object, you’ll get a simple report telling you a few basic stats, like
where the project came from and how many samples it has:
## PEP project object. Class: Project
## file:
## /tmp/Rtmp7NInD9/Rinstb77c8dd91/pepr/extdata/example_peps-master/example_basic/project_config.yaml
## samples: 2
To get the sample table out of the project, you use the
samples() function:
sampleTable(p)
## sample_name protocol file
## <char> <char> <char>
## 1: frog_1 anySampleType data/frog1_data.txt
## 2: frog_2 anySampleType data/frog2_data.txtAnd you can also access the project configuration metadata with the
config() function:
## Config object. Class: Config
## pep_version: 2.0.0
## sample_table:
## /tmp/Rtmp7NInD9/Rinstb77c8dd91/pepr/extdata/example_peps-master/example_basic/sample_table.csv
## name: example_basic
If you would like to save your project to a new directory, use the
saveProject() function:
Follow the other vignettes for more advanced capabilities of
pepr.