5

I was wondering if there is more elegant way of installing and loading multiple packages in Bioconductor similar to pacman with CRAN packages.

I tried:


# install and load  the package  manager
 if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

install and load bioconductor packages

bio_pkgs = c("BiocManager", "ggbio", "biomaRt", "EnsDb.Hsapiens.v75", "cBioPortalData", "GenomicRanges", "GenomicFeatures", "TxDb.Hsapiens.UCSC.hg19.knownGene", "Homo.sapiens")

if (!requireNamespace(bio_pkgs, quietly = TRUE)) BiocManager::install(bio_pkgs)

library(easypackages) libraries("ggbio", "biomaRt", "EnsDb.Hsapiens.v75", "renvcBioPortalData", "GenomicRanges", "GenomicFeatures", "TxDb.Hsapiens.UCSC.hg19.knownGene", "Homo.sapiens")

Sam
  • 175
  • 5

1 Answers1

7

You can do something like this:

bio_pkgs <- c("ggbio", "biomaRt", "EnsDb.Hsapiens.v75", "renvcBioPortalData", 
          "GenomicRanges", "GenomicFeatures", "TxDb.Hsapiens.UCSC.hg19.knownGene", "Homo.sapiens")

install:

BiocManager::install(bio_pkgs)

load all at once

invisible(lapply(pkgs, function(x) library(x, character.only=TRUE)))

Be aware though that if you version-control your packages with something like renv then it is encouraged to explicitely load every package as suggested here so renv can properly recognize the packages to snapshot.