Note that biocthis is not a Bioconductor-core package and as such it is not a Bioconductor official package. It was made by and for Leonardo Collado-Torres so he could more easily maintain and create Bioconductor packages as listed at lcolladotor.github.io/pkgs/. Hopefully biocthis will be helpful for you too.
Basics
Install biocthis
R
is an open-source statistical environment which can be easily modified to enhance its functionality via packages. biocthis is a R
package available via the Bioconductor repository for packages. R
can be installed on any operating system from CRAN after which you can install biocthis by using the following commands in your R
session:
You can install the development version from GitHub with:
BiocManager::install("lcolladotor/biocthis")
Required knowledge
biocthis is based on many other packages and in particular in those that have implemented the infrastructure needed for creating tidyverse-style R packages. That is usethis (Wickham, Bryan, and Barrett, 2021), devtools (Wickham, Hester, and Chang, 2021), and testthat (Wickham, 2011). It will also be helpful if you are familiar with styler (Müller and Walthert, 2021). Finally, we highly recommend that you run biocthis within RStudio Desktop.
If you are asking yourself the question “Where do I start using Bioconductor?” you might be interested in this blog post.
Asking for help
As package developers, we try to explain clearly how to use our packages and in which order to use the functions. But R
and Bioconductor
have a steep learning curve so it is critical to learn where to ask for help. The blog post quoted above mentions some but we would like to highlight the Bioconductor support site as the main resource for getting help: remember to use the biocthis
tag and check the older posts. Other alternatives are available such as creating GitHub issues and tweeting. However, please note that if you want to receive help you should adhere to the posting guidelines. It is particularly critical that you provide a small reproducible example and your session information so package developers can track down the source of the error.
Citing biocthis
We hope that biocthis will be useful for your work. Please use the following information to cite the package and the overall approach. Thank you!
## Citation info
citation("biocthis")
#>
#> Collado-Torres L (2021). _Automate package and project setup for
#> Bioconductor packages_. doi: 10.18129/B9.bioc.biocthis (URL:
#> https://doi.org/10.18129/B9.bioc.biocthis),
#> https://github.com/lcolladotor/biocthisbiocthis - R package version
#> 1.5.0, <URL: http://www.bioconductor.org/packages/biocthis>.
#>
#> Collado-Torres L (2021). "Automate package and project setup for
#> Bioconductor packages." _bioRxiv_. doi: 10.1101/TODO (URL:
#> https://doi.org/10.1101/TODO), <URL:
#> https://www.biorxiv.org/content/10.1101/TODO>.
#>
#> To see these entries in BibTeX format, use 'print(<citation>,
#> bibtex=TRUE)', 'toBibtex(.)', or set
#> 'options(citation.bibtex.max=999)'.
Quick start to using to biocthis
biocthis is an R package that expands usethis with Bioconductor-friendly templates. These templates will help you quickly create an R package that either has Bioconductor dependencies or that you are thinking of submitting to Bioconductor one day. biocthis has functions that can also enhance your current R packages that either are already distributed by Bioconductor or have Bioconductor dependencies. biocthis also includes a Bioconductor-friendly GitHub Actions workflow for your R package(s). To use the functions in this package, you need to load it as shown below.
Using biocthis
in your R package
If you haven’t made an R package yet, you can do so using usethis. That is, utilize usethis::create_package()
with the package name of your choice. If you are using RStudio Desktop this function will open a new RStudio window and open R in the correct location. Otherwise, you might need to use setwd()
to change directories.
In this vignette we will create an example package called biocthispkg
on a temporary directory and work in this directory in order to illustrate how the functions work. In a real world scenario, you would be working inside your R package and would not run biocthis_example_pkg()
.
## Create an example package for illustrative purposes.
## Note: you do not need to run this for your own package!
pkgdir <- biocthis_example_pkg("biocthispkg", use_git = TRUE)
#> ✔ Creating '/tmp/RtmpEFEYIC/biocthispkg/'
#> ✔ Setting active project to '/tmp/RtmpEFEYIC/biocthispkg'
#> ✔ Creating 'R/'
#> ✔ Writing 'DESCRIPTION'
#> Package: biocthispkg
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.0.0.9000
#> Authors@R (parsed):
#> * First Last <first.last@example.com> [aut, cre] (YOUR-ORCID-ID)
#> Description: What the package does (one paragraph).
#> License: `use_mit_license()`, `use_gpl3_license()` or friends to pick a
#> license
#> Encoding: UTF-8
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.1.2
#> ✔ Writing 'NAMESPACE'
#> ✔ Setting active project to '<no active project>'
#> ✔ Setting active project to '/tmp/RtmpEFEYIC/biocthispkg'
#> ✔ Initialising Git repo
#> ✔ Adding '.Rproj.user', '.Rhistory', '.Rdata', '.httr-oauth', '.DS_Store' to '.gitignore'
Once you have created a package, you can use use_bioc_pkg_templates()
to create a set of scripts in the dev
(developer) directory.
## Create the bioc templates
biocthis::use_bioc_pkg_templates()
#> ✔ Creating 'dev/'
#> ✔ Adding '^dev$' to '.Rbuildignore'
#> ✔ Writing 'dev/01_create_pkg.R'
#> ✔ Writing 'dev/02_git_github_setup.R'
#> ✔ Writing 'dev/03_core_files.R'
#> ✔ Writing 'dev/04_update.R'
If you run use_bioc_pkg_templates()
inside RStudio Desktop, then all the scripts will open on your RStudio window. Each script contains comments that will guide you on the steps you need to do to create your Bioconductor-friendly R package. These scripts are:
-
01_create_pkg.R
- Helps you install R packages needed for developing R packages with these template scripts.
- Helps you check if the R package name you chose is available.
- Includes the steps up to running
use_bioc_pkg_templates()
.
-
02_git_github_setup.R
- Ignores the
*.Rproj
files to comply with Bioconductor’s requirements
- Initializes a git repository
- Creates the corresponding GitHub repository
-
03_core_files.R
- Creates Bioconductor-friendly
README.Rmd
and NEWS.md
files
- Creates Bioconductor-friendly GitHub template for issues
- Uses the tidyverse-style GitHub contributing and code of conduct files
- Creates a template Bioconductor-friendly
CITATION
file
- Adds several badges to the
README.Rmd
file
- Sets up unit tests using testthat (Wickham, 2011)
- Adds a Bioconductor-friendly GitHub Actions workflow
- Deploys an initial documentation website using pkgdown (Wickham and Hesselberth, 2020)
-
04_update.R
- Automatically styles the R code in your package using styler (Müller and Walthert, 2021)
- Update the documentation file using devtools (Wickham, Hester, and Chang, 2021)
Many of these steps are powered by usethis (Wickham, Bryan, and Barrett, 2021) with some of them utilizing biocthis (Collado-Torres, 2021).
biocthis
functions overview
The dev
scripts use the different functions provided by biocthis in the suggested order. However, below we give a brief overview of what they do.
bioc_style()
bioc_style()
helps you automatically apply a coding style to your R package files using styler (Müller and Walthert, 2021) that is based on the tidyverse coding style guide but modified to make it more similar to the Bioconductor coding style guide.
## Automatically style the example package
styler::style_pkg(pkgdir, transformers = biocthis::bioc_style())
#> ────────────────────────────────────────
#> Status Count Legend
#> ✔ 0 File unchanged.
#> ℹ 0 File changed.
#> ✖ 0 Styling threw an error.
#> ────────────────────────────────────────
use_bioc_citation()
use_bioc_citation()
creates an R package CITATION
file at inst/CITATION
that is pre-populated with information you might want to use for your (future) Bioconductor package such as the Bioconductor DOIs and reference a journal article describing your package (that you might consider submitting to bioRxiv as a pre-print first). Alternatively, use usethis::use_citation()
.
## Create a template CITATION file that is Bioconductor-friendly
biocthis::use_bioc_citation()
#> ✔ Creating 'inst/'
#> ✔ Writing 'inst/CITATION'
#> • Edit 'inst/CITATION'
use_bioc_description()
use_bioc_description()
creates an R package DESCRIPTION
file that is pre-populated with information you might want to use for your (future) Bioconductor package such as links to the Bioconductor Support Website and biocViews
. You will still need to manually edit the file. Alternatively, use usethis::use_description()
.
## Create a template DESCRIPTION file that is Bioconductor-friendly
biocthis::use_bioc_description()
#> ✔ Leaving 'DESCRIPTION' unchanged
#> Package: biocthispkg
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.99.0
#> Date: 2021-11-23
#> Authors@R (parsed):
#> * First Last <first.last@example.com> [aut, cre] (YOUR-ORCID-ID)
#> Description: What the package does (one paragraph).
#> License: Artistic-2.0
#> URL:
#> BugReports: https://support.bioconductor.org/t/biocthispkg
#> biocViews: Software
#> Encoding: UTF-8
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.1.2
use_bioc_github_action()
Getting started
use_bioc_github_action()
creates a GitHub Actions (GHA) workflow file that is configured to be Bioconductor-friendly. Alternatively, use usethis::use_github_action()
for the general GitHub Actions workflow maintained by r-lib/actions
. If this is your first time seeing the words GitHub Actions, we highly recommend that you watch Jim Hester’s rstudio::conf(2020)
talk on this subject. Here is how you can add this GHA workflow to your R package:
## Create a GitHub Actions workflow that is Bioconductor-friendly
biocthis::use_bioc_github_action()
#> ✔ Creating '.github/'
#> ✔ Adding '^\\.github$' to '.Rbuildignore'
#> ✔ Adding '*.html' to '.github/.gitignore'
#> ✔ Creating '.github/workflows/'
#> ✔ Writing '.github/workflows/check-bioc.yml'
Main GHA workflow features
This GitHub Actions (GHA) workflow is based on r-lib/actions//examples/check-standard.yaml and others. The goal is to provide on demand R CMD check
s on Linux, macOS and Windows using a similar setup to Bioconductor-devel and release branches. Some key features that make this GHA workflow Bioconductor-friendly are:
- It runs
R CMD check
on the same platforms (Linux, macOS and Windows) that Bioconductor supports.
- It runs
BiocCheck::BiocCheck()
on all these platforms, unlike the Bioconductor nightly builds. BiocCheck is complementary to R CMD check
and can help you improve your R package.
- It uses the Bioconductor devel and release dockers to test your package on Linux. Since all system dependencies required by Bioconductor packages are already included in these docker images, it’s unlikely that you’ll need to fiddle with Linux system dependencies. The information on the docker image is then used for configuring the macOS and Windows tests.
Additional features
Furthermore, the use_bioc_github_action()
GHA workflow provides the following features:
- It runs covr (Hester, 2020) unless disabled by the environment variable
run_covr
(see the first few lines of the workflow).
- It automatically deploys a documentation website using pkgdown (Wickham and Hesselberth, 2020) unless disabled by the environment variable
run_pkgdown
(see the first few lines of the workflow).
- It displays the information from testthat (Wickham, 2011) unless disabled by the environment variable
has_testthat
(see the first few lines of the workflow). Similarly, has_RUnit
controls whether you want to run the RUnit
tests described in the Bioconductor unit testing guidelines.
- It caches the R packages and re-uses them for future tests except if you use the keyword
/nocache
in your commit message. Using /nocache
can be helpful for debugging purposes. The caches are specific to the platform, the R version, and the Bioconductor version . These caches help you speed up your checks and are updated after a successful build.
- The machines provided by GitHub have 7GB of RAM, 2 cores and 14 GB of disk as noted in their help pages. It’s free for open source projects, but you can also pay to use it on private repositories as explained in their features website.
Automatically scheduled tests
You could also edit the resulting GHA workflow to run automatically every few days (for example, every Monday) by adding a cron
line as described in the official GHA documentation. This could of interest to you in some situations, though you should also be aware that it will use your GHA compute time that can have limits depending on your GitHub account and repository settings. If you are setting up a cron
scheduled job, you might find crontab.guru useful.
Ultimately, there are many things you can do with GHA and you might want to use workflow as the basis for building bookdown or rmarkdown websites, or even docker
images. Some examples are:
Notes about GHA workflows
Using a GitHub Actions workflow with Bioconductor-devel (R-devel six months in the year), regardless of which GHA workflow you use specifically, will expose you to issues with installing R packages in the latest versions of Bioconductor, CRAN, GitHub and elsewhere. At r-lib/actions#where-to-find-help you can find a list of steps you can take to get help for R GHA workflows. In the end, you might have to ask for help in:
- developer-oriented mailing lists,
- GitHub repositories for the packages you have issues installing them with,
- GitHub Actions repositories, and elsewhere.
That is, the GHA workflow provided by biocthis can break depending on changes upstream of it. In particular, it can stop working:
- just prior to a new R release (unless
r-lib/actions
supports R alpha
releases),
- if the required Bioconductor docker image is not available (for example, due to issues building these images based on dependencies on
rocker
and other upstream tools) .
We highly recommend watching any developments as they happen at actions since the r-lib
team does an excellent job keeping their GHA workflows updated. You can do so by subscribing to the RSS atom feed for commits in their repository processed through RSS FeedBurner that you can subscribe to by email.
If you are interested in learning more details about how this GHA workflow came to be, check the biocthis developer notes
vignette.
use_bioc_issue_template()
use_bioc_issue_template()
creates a GitHub issue template file that is pre-populated with information you might want to use for your (future) Bioconductor package such as links to the Bioconductor Support Website and examples of the information you can ask users to provide that will make it easier for you to help your users. Alternatively, use usethis::use_tidy_issue_template()
.
## Create a template GitHub issue file that is Bioconductor-friendly
biocthis::use_bioc_issue_template()
#> ✔ Creating '.github/ISSUE_TEMPLATE/'
#> ✔ Writing '.github/ISSUE_TEMPLATE/issue_template.md'
use_bioc_news_md()
use_bioc_news_md()
creates a NEWS.md
template file that is pre-populated with information you might want to use for your (future) Bioconductor package. Alternatively, use usethis::use_news_md()
.
## Create a template NEWS.md file that is Bioconductor-friendly
biocthis::use_bioc_news_md()
#> ✔ Writing 'NEWS.md'
use_bioc_pkg_templates()
This function was already described in detail in the previous main section.
use_bioc_readme_rmd()
use_bioc_readme_rmd()
creates a README.Rmd
template file that is pre-populated with information you might want to use for your (future) Bioconductor package such as Bioconductor’s installation instructions, how to cite your package and links to the development tools you used. Alternatively, use usethis::use_readme_rmd()
.
## Create a template README.Rmd file that is Bioconductor-friendly
biocthis::use_bioc_readme_rmd()
#> ✔ Writing 'README.Rmd'
#> ✔ Adding '^README\\.Rmd$' to '.Rbuildignore'
#> ✔ Writing '.git/hooks/pre-commit'
use_bioc_support()
use_bioc_support()
creates a template GitHub support template file that is pre-populated with information you might want to use for your (future) Bioconductor package such where to ask for help including the Bioconductor Support website. Alternatively, use usethis::use_tidy_support()
.
## Create a template GitHub support file that is Bioconductor-friendly
biocthis::use_bioc_support()
#> ✔ Writing '.github/SUPPORT.md'
use_bioc_vignette()
use_bioc_vignette()
creates a template vignette file that is pre-populated with information you might want to use for your (future) Bioconductor package. This template includes information on how to cite other packages using RefManageR, styling your vignette with BiocStyle, instructions on how to install your package from Bioconductor, where to ask for help, information a user might need to know before they use your package, as well as the reproducibility information on how the vignette was made powered by sessioninfo. You will need to spend a significant amount of time editing this vignette as you develop your R package. Alternatively, use usethis::use_vignette()
.
## Create a template vignette file that is Bioconductor-friendly
biocthis::use_bioc_vignette("biocthispkg", "Introduction to biocthispkg")
#> ✔ Adding 'knitr' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("knitr", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `knitr::fun()` (replacing `fun()`).
#> ✔ Adding 'BiocStyle' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("BiocStyle", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `BiocStyle::fun()` (replacing `fun()`).
#> ✔ Adding 'RefManageR' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("RefManageR", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `RefManageR::fun()` (replacing `fun()`).
#> ✔ Adding 'sessioninfo' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("sessioninfo", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `sessioninfo::fun()` (replacing `fun()`).
#> ✔ Adding 'testthat' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("testthat", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `testthat::fun()` (replacing `fun()`).
#> ✔ Setting VignetteBuilder field in DESCRIPTION to 'knitr'
#> ✔ Adding 'inst/doc' to '.gitignore'
#> ✔ Creating 'vignettes/'
#> ✔ Adding '*.html', '*.R' to 'vignettes/.gitignore'
#> ✔ Adding 'rmarkdown' to Suggests field in DESCRIPTION
#> • Use `requireNamespace("rmarkdown", quietly = TRUE)` to test if package is installed
#> • Then directly refer to functons like `rmarkdown::fun()` (replacing `fun()`).
#> ✔ Writing 'vignettes/biocthispkg.Rmd'
#> • Edit 'vignettes/biocthispkg.Rmd'
Reproducibility
The biocthis package (Collado-Torres, 2021) was made possible thanks to:
- R (R Core Team, 2021)
-
BiocStyle (Oleś, 2021)
-
covr (Hester, 2020)
-
devtools (Wickham, Hester, and Chang, 2021)
-
fs (Hester and Wickham, 2020)
-
glue (Hester, 2021)
-
knitr (Xie, 2021)
-
pkgdown (Wickham and Hesselberth, 2020)
-
rlang (Henry and Wickham, 2021)
-
RefManageR (McLean, 2017)
-
rmarkdown (Allaire, Xie, McPherson, Luraschi, Ushey, Atkins, Wickham, Cheng, Chang, and Iannone, 2021)
-
sessioninfo (Wickham, Chang, Flight, Müller, and Hester, 2021)
-
styler (Müller and Walthert, 2021)
-
testthat (Wickham, 2011)
-
usethis (Wickham, Bryan, and Barrett, 2021)
This package was developed using biocthis.
Code for creating the vignette
Date the vignette was generated.
#> [1] "2021-11-23 03:23:51 UTC"
Wallclock time spent generating the vignette.
#> Time difference of 3.719 secs
R
session information.
#> ─ Session info ──────────────────────────────────────────────────────────────────────────────────────────────────────
#> hash: nine-thirty, person surfing: dark skin tone, person with veil: light skin tone
#>
#> setting value
#> version R version 4.1.2 (2021-11-01)
#> os Ubuntu 20.04.3 LTS
#> system x86_64, linux-gnu
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz UTC
#> date 2021-11-23
#> pandoc 2.14.0.3 @ /usr/local/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> askpass 1.1 2019-01-13 [2] RSPM (R 4.1.0)
#> backports 1.3.0 2021-10-27 [1] RSPM (R 4.1.0)
#> BiocManager 1.30.16 2021-06-15 [2] CRAN (R 4.1.2)
#> BiocStyle * 2.22.0 2021-10-26 [1] Bioconductor
#> biocthis * 1.5.0 2021-11-23 [1] Bioconductor
#> bookdown 0.24 2021-09-02 [1] RSPM (R 4.1.0)
#> cachem 1.0.6 2021-08-19 [2] RSPM (R 4.1.0)
#> cli 3.1.0 2021-10-27 [2] RSPM (R 4.1.0)
#> crayon 1.4.2 2021-10-29 [2] RSPM (R 4.1.0)
#> credentials 1.3.1 2021-07-25 [2] RSPM (R 4.1.0)
#> desc 1.4.0 2021-09-28 [2] RSPM (R 4.1.0)
#> digest 0.6.28 2021-09-23 [2] RSPM (R 4.1.0)
#> ellipsis 0.3.2 2021-04-29 [2] RSPM (R 4.1.0)
#> evaluate 0.14 2019-05-28 [2] RSPM (R 4.1.0)
#> fansi 0.5.0 2021-05-25 [2] RSPM (R 4.1.0)
#> fastmap 1.1.0 2021-01-25 [2] RSPM (R 4.1.0)
#> fs 1.5.0 2020-07-31 [2] RSPM (R 4.1.0)
#> generics 0.1.1 2021-10-25 [2] RSPM (R 4.1.0)
#> gert 1.4.3 2021-11-10 [2] RSPM (R 4.1.0)
#> glue 1.5.0 2021-11-07 [2] RSPM (R 4.1.0)
#> htmltools 0.5.2 2021-08-25 [1] RSPM (R 4.1.0)
#> httr 1.4.2 2020-07-20 [2] RSPM (R 4.1.0)
#> jquerylib 0.1.4 2021-04-26 [1] RSPM (R 4.1.0)
#> jsonlite 1.7.2 2020-12-09 [2] RSPM (R 4.1.0)
#> knitr 1.36 2021-09-29 [2] RSPM (R 4.1.0)
#> lifecycle 1.0.1 2021-09-24 [2] RSPM (R 4.1.0)
#> lubridate 1.8.0 2021-10-07 [1] RSPM (R 4.1.0)
#> magrittr 2.0.1 2020-11-17 [2] RSPM (R 4.1.0)
#> memoise 2.0.0 2021-01-26 [2] RSPM (R 4.1.0)
#> openssl 1.4.5 2021-09-02 [2] RSPM (R 4.1.0)
#> pillar 1.6.4 2021-10-18 [2] RSPM (R 4.1.0)
#> pkgconfig 2.0.3 2019-09-22 [2] RSPM (R 4.1.0)
#> pkgdown 1.6.1 2020-09-12 [1] RSPM (R 4.1.0)
#> plyr 1.8.6 2020-03-03 [1] RSPM (R 4.1.0)
#> purrr 0.3.4 2020-04-17 [2] RSPM (R 4.1.0)
#> R.cache 0.15.0 2021-04-30 [1] RSPM (R 4.1.0)
#> R.methodsS3 1.8.1 2020-08-26 [1] RSPM (R 4.1.0)
#> R.oo 1.24.0 2020-08-26 [1] RSPM (R 4.1.0)
#> R.utils 2.11.0 2021-09-26 [1] RSPM (R 4.1.0)
#> R6 2.5.1 2021-08-19 [2] RSPM (R 4.1.0)
#> ragg 1.2.0 2021-10-30 [1] RSPM (R 4.1.0)
#> Rcpp 1.0.7 2021-07-07 [1] RSPM (R 4.1.0)
#> RefManageR * 1.3.0 2020-11-13 [1] RSPM (R 4.1.0)
#> rlang 0.4.12 2021-10-18 [2] RSPM (R 4.1.0)
#> rmarkdown 2.11 2021-09-14 [1] RSPM (R 4.1.0)
#> roxygen2 7.1.2 2021-09-08 [2] RSPM (R 4.1.0)
#> rprojroot 2.0.2 2020-11-15 [2] RSPM (R 4.1.0)
#> rstudioapi 0.13 2020-11-12 [2] RSPM (R 4.1.0)
#> sessioninfo * 1.2.1 2021-11-02 [2] RSPM (R 4.1.0)
#> stringi 1.7.5 2021-10-04 [2] RSPM (R 4.1.0)
#> stringr 1.4.0 2019-02-10 [2] RSPM (R 4.1.0)
#> styler * 1.6.2 2021-09-23 [1] RSPM (R 4.1.0)
#> sys 3.4 2020-07-23 [2] RSPM (R 4.1.0)
#> systemfonts 1.0.3 2021-10-13 [1] RSPM (R 4.1.0)
#> testthat 3.1.0 2021-10-04 [2] RSPM (R 4.1.0)
#> textshaping 0.3.6 2021-10-13 [1] RSPM (R 4.1.0)
#> tibble 3.1.6 2021-11-07 [2] RSPM (R 4.1.0)
#> usethis * 2.1.3 2021-10-27 [2] RSPM (R 4.1.0)
#> utf8 1.2.2 2021-07-24 [2] RSPM (R 4.1.0)
#> vctrs 0.3.8 2021-04-29 [2] RSPM (R 4.1.0)
#> whisker 0.4 2019-08-28 [2] RSPM (R 4.1.0)
#> withr 2.4.2 2021-04-18 [2] RSPM (R 4.1.0)
#> xfun 0.28 2021-11-04 [2] RSPM (R 4.1.0)
#> xml2 1.3.2 2020-04-23 [2] RSPM (R 4.1.0)
#> yaml 2.2.1 2020-02-01 [2] RSPM (R 4.1.0)
#>
#> [1] /__w/_temp/Library
#> [2] /usr/local/lib/R/site-library
#> [3] /usr/local/lib/R/library
#>
#> ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Bibliography
This vignette was generated using BiocStyle (Oleś, 2021) with knitr (Xie, 2021) and rmarkdown (Allaire, Xie, McPherson, et al., 2021) running behind the scenes.
Citations made with RefManageR (McLean, 2017).
[1] J. Allaire, Y. Xie, J. McPherson, et al. rmarkdown: Dynamic Documents for R. R package version 2.11. 2021. URL: https://github.com/rstudio/rmarkdown.
[2] L. Collado-Torres. Automate package and project setup for Bioconductor packages. https://github.com/lcolladotor/biocthisbiocthis - R package version 1.5.0. 2021. DOI: 10.18129/B9.bioc.biocthis. URL: http://www.bioconductor.org/packages/biocthis.
[3] L. Henry and H. Wickham. rlang: Functions for Base Types and Core R and ‘Tidyverse’ Features. https://rlang.r-lib.org, https://github.com/r-lib/rlang. 2021.
[4] J. Hester. covr: Test Coverage for Packages. https://covr.r-lib.org, https://github.com/r-lib/covr. 2020.
[5] J. Hester. glue: Interpreted String Literals. https://github.com/tidyverse/glue, https://glue.tidyverse.org/. 2021.
[6] J. Hester and H. Wickham. fs: Cross-Platform File System Operations Based on ‘libuv’. http://fs.r-lib.org, https://github.com/r-lib/fs. 2020.
[7] M. W. McLean. “RefManageR: Import and Manage BibTeX and BibLaTeX References in R”. In: The Journal of Open Source Software (2017). DOI: 10.21105/joss.00338.
[8] K. Müller and L. Walthert. styler: Non-Invasive Pretty Printing of R Code. https://github.com/r-lib/styler, https://styler.r-lib.org. 2021.
[9] A. Oleś. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.22.0. 2021. URL: https://github.com/Bioconductor/BiocStyle.
[10] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2021. URL: https://www.R-project.org/.
[11] H. Wickham. “testthat: Get Started with Testing”. In: The R Journal 3 (2011), pp. 5–10. URL: https://journal.r-project.org/archive/2011-1/RJournal_2011-1_Wickham.pdf.
[12] H. Wickham, J. Bryan, and M. Barrett. usethis: Automate Package and Project Setup. https://usethis.r-lib.org, https://github.com/r-lib/usethis. 2021.
[13] H. Wickham, W. Chang, R. Flight, et al. sessioninfo: R Session Information. https://github.com/r-lib/sessioninfo#readme, https://r-lib.github.io/sessioninfo/. 2021.
[14] H. Wickham and J. Hesselberth. pkgdown: Make Static HTML Documentation for a Package. https://pkgdown.r-lib.org, https://github.com/r-lib/pkgdown. 2020.
[15] H. Wickham, J. Hester, and W. Chang. devtools: Tools to Make Developing R Packages Easier. https://devtools.r-lib.org/, https://github.com/r-lib/devtools. 2021.
[16] Y. Xie. knitr: A General-Purpose Package for Dynamic Report Generation in R. R package version 1.36. 2021. URL: https://yihui.org/knitr/.