Biocthis
Automate package and project setup for Bioconductor packages
Install / Use
/learn @lcolladotor/BiocthisREADME
biocthis
<!-- badges: start --> <!-- badges: end -->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).
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.
Installation instructions
Get the latest stable R release from
CRAN. Then install biocthis from
Bioconductor using the following code:
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("biocthis")
And the development version from GitHub with:
BiocManager::install("lcolladotor/biocthis")
Example
Here is how you can use biocthis to create a new Bioconductor-friendly R package (illustrated using a temporary directory):
## Load biocthis
library("biocthis")
## Create an example package for illustrative purposes.
## Note: you do not need to run this for your own package!
pkgdir <- biocthis_example_pkg()
#> ✔ Creating
#> '/var/folders/_2/hqcmhc1d1bl3lqxgcrkpv8_00000gn/T/RtmpPJ7g56/biocthisexample/'.
#> ✔ Setting active project to
#> "/private/var/folders/_2/hqcmhc1d1bl3lqxgcrkpv8_00000gn/T/RtmpPJ7g56/biocthisexample".
#> ✔ Creating 'R/'.
#> ✔ Writing 'DESCRIPTION'.
#> Package: biocthisexample
#> 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]
#> 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.3.2
#> ✔ Writing 'NAMESPACE'.
#> ✔ Setting active project to "<no active project>".
#> ✔ Setting active project to
#> "/private/var/folders/_2/hqcmhc1d1bl3lqxgcrkpv8_00000gn/T/RtmpPJ7g56/biocthisexample".
## Create the bioc templates
biocthis::use_bioc_pkg_templates()
#> ✔ Creating 'dev/'.
#> ✔ Adding "^dev$" to '.Rbuildignore'.
#> ✔ Adding "dev" to '.gitignore'.
#> ✔ Writing 'dev/01_create_pkg.R'.
#> ✔ Writing 'dev/02_git_github_setup.R'.
#> ✔ Writing 'dev/03_core_files.R'.
#> ✔ Writing 'dev/04_update.R'.
The template dev scripts include comments and steps you can follow for
making your Bioconductor-friendly R package or updating a current
package. In particular, you might want to use a Bioconductor-friendly
GitHub Actions workflow. If this is your first time seeings this words,
we highly recommend that you watch Jim Hester’s rstudio::conf(2020)
talk on this
subject.
## Create a GitHub Actions workflow that is Bioconductor-friendly
biocthis::use_bioc_github_action()
## Alternatively, use the general GitHub Actions workflow maintained by
## r-lib/actions
usethis::use_github_action("check-standard")
Citation
Below is the citation output from using citation('biocthis') in R.
Please run this yourself to check for any updates on how to cite
biocthis.
print(citation("biocthis"), bibtex = TRUE)
#> To cite package 'biocthis' in publications use:
#>
#> Collado-Torres L (2025). _Automate package and project setup for
#> Bioconductor packages_. doi:10.18129/B9.bioc.biocthis
#> <https://doi.org/10.18129/B9.bioc.biocthis>,
#> https://github.com/lcolladotor/biocthisbiocthis - R package version
#> 1.17.2, <http://www.bioconductor.org/packages/biocthis>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Manual{,
#> title = {Automate package and project setup for Bioconductor packages},
#> author = {Leonardo Collado-Torres},
#> year = {2025},
#> url = {http://www.bioconductor.org/packages/biocthis},
#> note = {https://github.com/lcolladotor/biocthisbiocthis - R package version 1.17.2},
#> doi = {10.18129/B9.bioc.biocthis},
#> }
#>
#> Collado-Torres L (2025). "Automate package and project setup for
#> Bioconductor packages." _bioRxiv_. doi:10.1101/TODO
#> <https://doi.org/10.1101/TODO>,
#> <https://www.biorxiv.org/content/10.1101/TODO>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Article{,
#> title = {Automate package and project setup for Bioconductor packages},
#> author = {Leonardo Collado-Torres},
#> year = {2025},
#> journal = {bioRxiv},
#> doi = {10.1101/TODO},
#> url = {https://www.biorxiv.org/content/10.1101/TODO},
#> }
Please note that the biocthis was only made possible thanks to many
other R and bioinformatics software authors, which are cited either in
the vignettes and/or the paper(s) describing this package.
Code of Conduct
Please note that the biocthis project is released with a Contributor
Code of Conduct. By
contributing to this project, you agree to abide by its terms.
Development tools
- Continuous code testing is possible thanks to GitHub actions through usethis, remotes, and rcmdcheck customized to use Bioconductor’s docker containers and BiocCheck.
- Code coverage assessment is possible thanks to codecov and covr.
- The documentation website is automatically updated thanks to pkgdown.
- The code is styled automatically thanks to styler.
- The documentation is formatted thanks to devtools and roxygen2.
For more details, check the dev directory.
This package was developed using biocthis.
Related Skills
apple-reminders
347.0kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
347.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
347.0kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
