--- title: "Rules to create a new Workflow Template" author: "Author: Daniela Cassol (danicassol@gmail.com)" date: "Last update: `r format(Sys.time(), '%d %B, %Y')`" output: BiocStyle::html_document: toc_float: true code_folding: show package: systemPipeR vignette: | %\VignetteEncoding{UTF-8} %\VignetteIndexEntry{WF: New Workflow Template} %\VignetteEngine{knitr::rmarkdown} fontsize: 14pt editor_options: chunk_output_type: console type: docs weight: 2 --- ```{r setup, echo=FALSE, message=FALSE, wwarning=FALSE, eval=TRUE} suppressPackageStartupMessages({ library("systemPipeRdata") }) ``` # How to create a new Workflow Template `SPRthis` package expand [usethis](https://github.com/r-lib/usethis) package, providing automation to create [systemPipeR](https://github.com/tgirke/systemPipeR) workflows templates. ## Installation To install `SPRthis` using from `BiocManager` the following code: ```{r install_pkg, eval=FALSE} if (!requireNamespace("BiocManager", quietly = TRUE)) { install.packages("BiocManager") BiocManager::install("dcassol/SPRthis") ``` ## Quick start to using to `SPRthis` ```{r} ## Load the package library(SPRthis) ## create Package sprthis(wfName="SPRtest", analysis="SPRtest", path=tempdir()) ```
SPRtest/
├── DESCRIPTION
├── NAMESPACE
├── README.md
├── SPRtest.Rproj
├── .gitignore
├── .Rbuildignore
├── .Rproj.user/
├── R/
│ ├── functions.R
├── vignettes
│ ├── bibtex.bib
│ ├── SPRtest.Rmd
└── inst
├── rmarkdown
│ └── templates
│ └── SPRtest
│ ├── template.yml
│ └── skeleton
│ ├── batchtools.slurm.tmpl
│ ├── .batchtools.conf.R
│ ├── bibtex.bib
│ ├── NEWS
│ ├── SPRconfig.yml
│ ├── skeleton.Rmd
│ ├── targetsPE.txt
│ ├── data/
│ ├── param/
│ └── results/
# Help functions to create the package
## Create the webiste for the package with `pkgdown`
Edit the `_pkgdown.yml` file and run:
```{r, eval=FALSE}
pkgdown::build_site()
```
## Documentation with `roxygen2`
```{r, eval=FALSE}
roxygen2::roxygenise()
```
## Testing the code with `testthat`
To test the code, you can run
```{r, eval=FALSE}
devtools::test()
```
# Update R Markdown template on `skeleton`
```{r, eval=FALSE}
path <- file.path("vignettes/SPRtest.Rmd")
skeleton_update(path)
```
# Package available to `genWorkenvir` Function
After creating the new repository on GitHub [systemPipeR Organization](https://github.com/systemPipeR),
please follow:
- Rules:
- The Workflow Template need to be available under [systemPipeR Organization](https://github.com/systemPipeR/);
- The repository needs to be `public`;
- About setting:
- `Description`: keywords in the description are required: "Workflow Template";
- `Topics`: we expected "systempiper" and "release" or "development" words on Topics section;
- Branch name: To make simple, please name the branch as "master".
## Check availability of workflow templates
A collection of workflow templates are available, and it is possible to browse the
current availability, as follows:
```{r eval=TRUE, tidy=FALSE}
systemPipeRdata::availableWF(github = TRUE)
```
This function returns the list of workflow templates available within the package
and [systemPipeR Project Organization](https://github.com/systemPipeR) on GitHub. Each one
listed template can be created as described above.