# R package development: How does one automatically install Bioconductor packages upon package installation?

I have an R package on github which uses multiple Bioconductor dependencies, 'myPackage'

If I include CRAN packages in the DESCRIPTION via Depends:, the packages will automatically install upon installation via devtools, i.e.

devtools::install_github('repoName/myPackage')


This is discussed in Section 1.1.3 Package Dependencies, in Writing R Extensions

Is there a way to streamline this such that packages from Bioconductor are automatically installed as well?

Normally, users install Bioconductor packages via BiocLite, e.g.

source("http://www.bioconductor.org/biocLite.R")
biocLite("edgeR")

• Note that as of Bioconductor release 3.8 onwards, bioconductor packages are installed with BiocManager::install() which can be installed from CRAN Apr 19 '19 at 15:05

There's a trick to this where one needs to add biocViews: to the package Description. That's the only solution I've ever seen to allowing automatic installation of bioconductor dependencies. If you need a couple of examples, then click through the link I posted and scroll down to pull requests referencing that issue, they will generally include the actual example.

• I didn't find the examples in the pull requests you mentioned. However, I did search the github mirror on CRAN. There are DESCRIPTION files with a lone biocViews: line before Depends:. Others include tags, like biocViews: Infrastructure, RNA Jan 22 '18 at 19:32
• Maybe we should post an example DESCRIPTION so it's absolutely clear to future biohackers how this is done...this news needs to spread! Jan 22 '18 at 19:57
• You don't need anything after biocViews:, that alone suffices (see ?devtools::package_deps). Jan 22 '18 at 20:14

As suggested, here’s an example showing the relevant lines from a DESCRIPTION file from a CRAN/GitHub hosted project that has Bioconductor dependencies (truncated):

Depends:
R (>= 3.3.0)
biocViews:
Imports:
methods,
snpStats,
dplyr


The relevant bit is the empty biocViews: declaration, which allows the Bioconductor dependency {snpStats} to be automatically installed.