I am part of a team maintaining internal Docker/Singularity images that include R packages as dependencies. We are not building off of the Bioconductor or R images, as we have other requirements to meet.
With the release of Bioconductor 3.16, one of the packages we explicitly rely on is no longer available:
package 'ensemblVEP' is not available for Bioconductor version '3.16'
Looking in the repository listings, it appears that
ensemblVEP lacks any source or binary packages in 3.16 at this time: https://bioconductor.org/packages/release/bioc/html/ensemblVEP.html
I understand that the package updating has more to do with the
ensemblVEP team than anything on Bioconductor's side. We don't really have the time available right now to wait for it to update. What I need to know is:
In a Dockerfile, what is the correct way to force Bioconductor to use version 3.15?
My current approach is roughly:
RUN R -e " \ options(Ncpus = $(nproc)); \ library(BiocManager); \ BiocManager::version(); \ BiocManager::install(update = TRUE, ask = FALSE, version = '3.15'); \ "
Which would then be followed by blocks to install the packages we require.
This seems like it should work based on documentation I've located, but I'm receiving errors after it seems to succeed in updating multiple packages:
Error in .install_github(todo, lib = lib, lib.loc = lib.loc, repos = repos, : argument "update" is missing, with no default Calls: <Anonymous> ... .install_updated_version -> .install -> .install_github
When I try to look into that error, I'm taken to the Bioconductor Github for
While I was able to parse some of this, I'm unsure what's actually failing here. As far as I can tell I've supplied everything I should be.
Is there some additional parameter I need to pass for this to process correctly non-interactively?
Is there a way to specify/force install version BiocManager 3.15 from the start? If I can avoid installing 3.16 only to immediately downgrade a lot of packages that will keep my build times down and bypass the error/issue I'm seeing with that process. When I tried
install.packages('BiocManager', version = '3.15') it fails and when I try
install.packages('https://cran.r-project.org/src/contrib/Archive/BiocManager/BiocManager_1.30.17.tar.gz', repos=NULL, type='source') it installs 3.16.
Thanks in advance and let me know if additional information is needed.