Bioconductor packages don't install automatically
I’ve been setting up Alakazam on a new computer (R4.1.1), and found that the Bioconductor packages don’t automatically install when using install.packages(“alakazam”). I get an error stating that Biostrings, GenomicAlignments, and IRanges are not available. I believe this is related to Shazam issue #155. Using install_deps in a source code install does install these dependencies, however. Any ideas on how to address this? Difficult to debug since it seems specific to the CRAN installation to a local machine that doesn’t already have those dependencies installed.
Comments (7)
-
-
reporter Sounds good. I tried
#2already, but no dice. This is on an Ubuntu machine, so not sure if platform dependent. -
Hrm. 2 was my best guess. Try explicitly defining the view? Looks like they are all part of the
DataRepresentation
view, so change the line inDESCRIPTION
tobiocViews: Software, Infrastructure, DataRepresentation
or:
biocViews: DataRepresentation
-
I think there is some mismatch with the R version and the Bioconductor version what is causing the problem. I removed
GenomicAlignments
from my computer and then installation from the source code or withinstall.packages("alakazam")
fail. ButBiocManager::install("alakazam")
works.The install() function is provided by BiocManager. This is a wrapper around install.packages, but with the repository chosen according to the version of Bioconductor in use, rather than to the version relevant at the time of the release of R. Source: https://www.bioconductor.org/install/
-
FYI. Bioconductor 3.14 released October 27, 2021.
-
Reproducible using
install.packages
in:- rocker/tidyverse:4.0.5
- rocker/tidyverse:4.1.1
But works fine using either:
devtools::install_bitbucket("kleinstein/alakazam@1.1.0")
remotes::install_local("alakazam_1.1.0.tar.gz")
Which is a pain in the ass, because I can’t figure a way to test changes while reproducing the error.
How much work would it be to replace the BioC packages with alternatives? Hassling with BioC is a semi-frequent annoyance anyway.
-
This installs successfully:
docker run -it rocker/tidyverse:4.1.1 bash R setRepositories(ind=1:3) install.packages("alakazam")
- Log in to comment
You could test it in a container, like rocker/verse then you don’t have to go through the install/uninstall song and dance with BioC. I would try:
biocViews:
line inDESCRIPTION
down a line so that it's aboveImports:
. I’d very, very surprised if this changed anything, but it’s easy to test.install.packages("BiocManager")
first. See if it’s a problem of not having a mechanism to install BioC packages.I haven’t seen this before and it doesn’t happen on CRAN’s check service, which tends to be the most difficult place to install. I’m really not sure. Is it Windows/Mac/Linux specific?