Open LiNk-NY opened 1 month ago
Hey, sorry for the late response.
There are a few options. A quick fix would be to use a separate (sub)domain and add rule in nginx or cloudflare that maps https://yourdomain/packages/3.20/bioc/$path
to https://bioc.r-universe.dev/$path
.
But perhaps it would be more in the bioconductor spirit to mirror snapshots of the repository? This is also very easy to do, you can use the api tab to create a URL to download snapshots, for example the url below downloads a snapshot of the full repo including 4.4 binaries for win+mac:
https://bioc.r-universe.dev/api/snapshot/zip?types=win,mac&binaries=4.4
So you could have a mirror server somewhere with a cronjob that downloads this snapshot every night and hosts it using any static http server under /packages/3.20/bioc/
.
We would also need to be able to configure / limit the R version used for the Bioc universe. Currently for Bioc devel 3.20 packages, only R 4.4.0 is used.
Do you mean the version that we provide binaries for? I don't think we can prevent users with different R versions to try and install packages from bioc.r-universe.dev
but IIUC BiocManager automatically chooses a bioc branch based on the R version?
Hi Jeroen @jeroen
Thank you for the introduction to the r-universe and for your efforts in including the Bioconductor universe.
Question: Is it possible to configure the path where packages are stored for the Bioc universe?
For
BiocManager
to work seamlessly with the https://bioc.r-universe.dev and the existing Bioconductor repository, we would have to have a package directory structure that includes Biconductor version and package type, e.g., https://www.bioconductor.org/packages/3.20/bioc/src/contrib/ABSSeq_1.58.0.tar.gz converts to https://bioc.r-universe.dev/packages/3.20/bioc/src/contrib/ABSSeq_1.58.0.tar.gz. The template would look something likehttps://{BioC_mirror}/packages/{biocVersion}/{pkgType}/src/contrib/{package}_{pkgVersion}.tar.gz
We would also need to be able to configure / limit the R version used for the
Bioc
universe. Currently for Bioc devel 3.20 packages, only R4.4.0
is used.Note that for binary linux packages we use : https://bioconductor.org/packages/3.20/container-binaries/bioconductor_docker/src/contrib/ABSSeq_1.58.0_R_x86_64-pc-linux-gnu.tar.gz with a template:
https://{BioC_mirror}/packages/{biocVersion}/container-binaries/{containerPlatform}/src/contrib/{package}_{pkgVersion}.tar.gz
Side note. We have a way to match
pkgType
to BiocManager repository location but for now we will only work withbioc
which maps toBioCsoft
inBiocManager::repositories()
.Thanks, Marcel