systemPipeRdata
provides data analysis workflow templates compatible with the systemPipeR
software package (H Backman and Girke
2016). The latter is a Workflow Management System (WMS) for
designing and running end-to-end analysis workflows with automated
report generation for a wide range of data analysis applications.
Support for running external software is provided by a command-line
interface (CLI) that adopts the Common Workflow Language (CWL). How to
use systemPipeR is explained in its main vignette here.
The workflow templates provided by systemPipeRdata come
equipped with sample data and the necessary parameter files required to
run a selected workflow. This setup simplifies the learning process of
using systemPipeR, facilitates testing of workflows, and
serves as a foundation for designing new workflows. The standardized
directory structure (Figure 1) utilized by the workflow templates and
their sample data is outlined in the Directory
Structure section of systemPipeR's main vignette.
Figure 1: Directory structure
ofsystemPipeR's workflows. For details, see here.
The systemPipeRdata package is available at Bioconductor
and can be installed from within R as follows.
An overview table of workflow templates, included in
systemPipeRdata, can be returned as shown below. By
clicking the URLs in the last column of the below workflow list, users
can view the Rmd source file of a workflow, as well as the
corresponding HTML report generated after running a
workflow on the provided test data. A list of the default data analysis
steps included in each workflow is given here. Similar and additional workflow
templates are also available from GitHub (see below and here),
which can be retrieved directly from their repositories. To create an
empty workflow template without any test data included, users want to
choose the new template, which includes only the required
directory structure and parameter files.
| Name | Description | URL |
|---|---|---|
| new | Generic Workflow Template | Rmd, HTML |
| rnaseq | RNA-Seq Workflow Template | Rmd, HTML |
| riboseq | RIBO-Seq Workflow Template | Rmd, HTML |
| chipseq | ChIP-Seq Workflow Template | Rmd, HTML |
| varseq | VAR-Seq Workflow Template | Rmd, HTML |
| SPblast | BLAST Workflow Template | Rmd, HTML |
| SPcheminfo | Cheminformatics Drug Similarity Template | Rmd, HTML |
| SPscrna | Basic Single-Cell Workflow Template | Rmd, HTML |
Table 1: Workflow templates
The chosen example below uses the genWorkenvir function
from the systemPipeRdata package to create an RNA-Seq
workflow environment (selected under workflow="rnaseq")
that is fully populated with a small test data set, including FASTQ
files, reference genome and annotation data. The name of the resulting
workflow directory can be specified under the mydirname
argument. The default NULL uses the name of the chosen
workflow. An error is issued if a directory of the same name and path
exists already. After this, the user’s R session needs to be directed
into the resulting rnaseq directory (here with
setwd). The other workflow templates from the above table can be loaded the same
way.
On Linux and OS X systems the same can be achieved from the command-line of a terminal with the following commands.
In addition to the templates distributed through
systemPipeRdata, similar workflow templates can also be
retrieved directly from GitHub repositories using the
genWorkenvir_gh function. Details on this are provided below.
For running and working with systemPipeR workflows,
users want to visit systemPipeR’s
main vignette. The following gives only a very brief preview on how
to run workflows, and create scientific and technical reports.
After a workflow environment (directory) has been created and the
corresponding R session directed into the resulting directory (here
rnaseq), the workflow can be loaded from the included R
Markdown file (Rmd, here
systemPipeRNAseq.Rmd). This template provides common data
analysis steps that are typical for RNA-Seq workflows. Users have the
options to add, remove, modify workflow steps by applying these changes
to the sal workflow management container directly, or
updating the Rmd file first and then updating
sal accordingly.
library(systemPipeR)
sal <- SPRproject()
sal <- importWF(sal, file_path = "systemPipeRNAseq.Rmd", verbose = FALSE)The default analysis steps of the imported RNA-Seq workflow are listed below. Users can modify the existing steps, add new ones or remove steps as needed.
Default analysis steps in RNA-Seq Workflow
HISAT2 (or any other RNA-Seq
aligner)Once the workflow has been loaded into sal, it can be
executed from start to finish (or partially) with the runWF
command. However, running the workflow will only be possible if all
dependent CL software is installed on a user’s system. Their names and
availability on a system can be listed with
listCmdTools(sal, check_path=TRUE).
Workflows can be visualized as topology graphs using the
plotWF function.
Toplogy graph of RNA-Seq workflow.
Scientific and technical reports can be generated with the
renderReport and renderLogs functions,
respectively. Scientific reports can also be generated with the
render function of the rmarkdown package. The
technical reports are based on log information that
systemPipeR collects during workflow runs.
In addition to the workflow templates distributed with the
systemPipeRdata package, similar templates are available as
standalone repositories on GitHub. These workflows include both
well-established and experimental analysis pipelines that extend the
range of supported applications. A curated list of available workflow
repositories is maintained on the systemPipe project website here. Each repository
contains a complete workflow environment including parameter files,
example input data (when available), and documentation describing the
workflow structure and usage.
Workflow environments hosted on GitHub can be initialized directly
from within R using the genWorkenvir_gh() function. For
example:
genWorkenvir_gh(url = "https://github.com/systemPipeR/sprwf-rnaseq.git",
mydirname = "sprwf-rnaseq")This command downloads the workflow repository and creates a local
workflow environment that can be executed or customized by the user.
After initialization, the R session should be directed to the resulting
project directory, and the param and data
directories loaded with the getParam_gh and
getData_gh functions. Detailed instructions and
documentation for each workflow are provided within the corresponding
GitHub repositories.
It is possible to create a new workflow environment from RStudio.
This can be done by selecting
File -> New File -> R Markdown -> From Template -> systemPipeR New WorkFlow.
This option creates a template workflow that has the expected directory
structure (see here).
Figure 2:
Selecting workflow template within RStudio.
The paths to the sample data provided by the
systemPipeRdata package can be returned with the the
pathList function.
## $targets
## [1] "/tmp/Rtmp78NOAO/Rinst163b4dce65ab/systemPipeRdata/extdata/param/targets.txt"
##
## $targetsPE
## [1] "/tmp/Rtmp78NOAO/Rinst163b4dce65ab/systemPipeRdata/extdata/param/targetsPE.txt"
The following gives an overview of the default data analysis steps
used by selected workflow templates included in the
systemPipeRdata package (see Table 1).
Any of the workflows included below can be loaded by assigning their
name to the workflow argument of the
genWorkenvir function. The workflow names can be looked up
under the ‘Name’ column of Table
1.
[ Vignette ]
This Generic workflow (named new) is intended
to be used as a template for creating new workflows from scratch where
users can add steps by copying and pasting existing R or CL steps as
needed, and populate them with their own code. In its current form, this
mini workflow will export a test dataset to multiple files,
compress/decompress the exported files, import them back into R, and
then perform a simple statistical analysis and plot the results.
[ Vignette ]
HISAT2 (or any other RNA-Seq
aligner)[ Vignette ]
Bowtie2 or
rsubreadMACS2[ Vignette ]
[ Vignette ]
HISAT2 (or any other RNA-Seq
aligner)[ Vignette ]
[ Vignette ]
[ Vignette ]
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 26.04.1 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils
## [6] datasets methods base
##
## other attached packages:
## [1] magrittr_2.0.5 systemPipeRdata_2.16.0
## [3] systemPipeR_2.18.0 ShortRead_1.70.0
## [5] GenomicAlignments_1.48.0 SummarizedExperiment_1.42.0
## [7] Biobase_2.72.0 MatrixGenerics_1.24.0
## [9] matrixStats_1.5.0 BiocParallel_1.46.0
## [11] Rsamtools_2.28.0 Biostrings_2.80.2
## [13] XVector_0.52.0 GenomicRanges_1.64.0
## [15] IRanges_2.46.0 S4Vectors_0.50.3
## [17] Seqinfo_1.2.0 BiocGenerics_0.58.1
## [19] generics_0.1.4 BiocStyle_2.40.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 xfun_0.61
## [3] bslib_0.12.0 hwriter_1.3.2.1
## [5] ggplot2_4.0.3 remotes_2.5.0
## [7] htmlwidgets_1.6.4 latticeExtra_0.6-31
## [9] lattice_0.23-1 vctrs_0.7.3
## [11] tools_4.6.1 bitops_1.1-0
## [13] parallel_4.6.1 tibble_3.3.1
## [15] pkgconfig_2.0.3 Matrix_1.7-6
## [17] RColorBrewer_1.1-3 S7_0.2.2
## [19] cigarillo_1.2.1 lifecycle_1.0.5
## [21] stringr_1.6.0 compiler_4.6.1
## [23] farver_2.1.2 deldir_2.0-4
## [25] textshaping_1.0.5 codetools_0.2-20
## [27] htmltools_0.5.9 sys_3.4.3
## [29] buildtools_1.0.0 sass_0.4.10
## [31] yaml_2.3.12 pillar_1.11.1
## [33] crayon_1.5.3 jquerylib_0.1.4
## [35] DelayedArray_0.38.2 cachem_1.1.0
## [37] abind_1.4-8 tidyselect_1.2.1
## [39] digest_0.6.39 stringi_1.8.9
## [41] dplyr_1.2.1 maketools_1.3.2
## [43] fastmap_1.2.0 grid_4.6.1
## [45] cli_3.6.6 SparseArray_1.12.3
## [47] S4Arrays_1.12.1 scales_1.4.0
## [49] rmarkdown_2.32 pwalign_1.8.0
## [51] jpeg_0.1-11 interp_1.1-6
## [53] otel_0.2.0 png_0.1-9
## [55] kableExtra_1.4.1 evaluate_1.0.5
## [57] knitr_1.52 viridisLite_0.4.3
## [59] rlang_1.3.0 Rcpp_1.1.2
## [61] glue_1.8.1 xml2_1.6.0
## [63] BiocManager_1.30.27 formatR_1.14
## [65] svglite_2.2.2 rstudioapi_0.19.0
## [67] jsonlite_2.0.0 R6_2.6.1
## [69] systemfonts_1.3.2
This project was supported by funds from the National Institutes of Health (NIH) and the National Science Foundation (NSF).