Open lcolladotor opened 1 year ago
Thanks for opening the issue to keep the conversation going!
For Ubuntu 20, we have binaries built for our Terra BiocJupyter container. Here is the output of BiocManager::repositories()
in that container:
'getOption("repos")' replaces Bioconductor standard repositories, see
'help("repositories", package = "BiocManager")' for details.
Replacement repositories:
CRAN: https://cloud.r-project.org
BioCcontainers
"https://bioconductor.org/packages/3.17/container-binaries/terra-jupyter-r"
BioCsoft
"https://bioconductor.org/packages/3.17/bioc"
BioCann
"https://bioconductor.org/packages/3.17/data/annotation"
BioCexp
"https://bioconductor.org/packages/3.17/data/experiment"
BioCworkflows
"https://bioconductor.org/packages/3.17/workflows"
BioCbooks
"https://bioconductor.org/packages/3.17/books"
CRAN
"https://cloud.r-project.org"
with the first URL https://bioconductor.org/packages/3.17/container-binaries/terra-jupyter-r
being the binary repository.
If you want to try that out, please let me know how it goes.
With that being said, the Jupyter container was recently upgraded to Ubuntu 22 which is also the base of our rstudio container, so we won't be supporting binaries for Ubuntu 20 by default going forward, however we could build them specifically for the shiny container if we get more info on it.
Hi,
Me and my colleagues frequently deploy
shiny
apps to shinyapps.io where we use Bioconductor packages. This involves deploying an app with thersconnect
package, as for example you can see at https://github.com/LieberInstitute/spatialDLPFC/blob/840700ae86cdd414e024d9658b09dd11712ef470/code/deploy_app_k09/deploy.R#L17. Prior to runningrsconnect::deployApp()
, we typically have to useBiocManager
to specify the Bioconductor repositories as I do at https://github.com/LieberInstitute/spatialDLPFC/blob/840700ae86cdd414e024d9658b09dd11712ef470/code/deploy_app_k09/deploy.R#L14. Deploying these apps can take several minutes as Bioconductor packages are compiled from source by shinyapps.io, and well, it would be a prime use case of the new ubuntu Bioconductor binaries that would have a positive impact for users deploying apps with Bioconductor dependencies to shinyapps.io like us.From Alex's great talk at BioC2023 and my question after his talk, my understanding is that
BiocManager::repositories()
provides output that is dependent on the OS you are running it on. In my use case, it would be my laptop (say a macOS one), so it doesn't include the URLs for these new ubuntu binaries. Thus shinyapps.io doesn't even know they exist.So a potential test would be to provide the URLs for these binaries and see if
rsconnect::deployApp()
passes that info to shinyapps.io and hopefully they are used there.I do think that they use ubuntu for the apps they deploy, but I could be wrong. Actually I see this https://docs.posit.co/shinyapps.io/getting-started.html#using-your-r-packages-in-the-cloud :
Also from https://libd.shinyapps.io/spatialDLPFC_Visium_Sp09/ (the deployed version of the app), I do see that they are using
Ubuntu 20.04.5 LTS
under thesessioninfo::session_info()
output:In that same section they mention this about Bioconductor:
So in theory, if the ubuntu Bioconductor binaries support version 20.04.5, I think that we could use them on shinyapps.io. So it seems promising.
Could be of note, recently
rsconnect
changed to userenv
behind the scenes. So I'm not 100% if this affects therepositories
and howrenv
passes that information. I ran into this update while deploying this app https://github.com/LieberInstitute/Visium_SPG_AD/blob/88515bc81315d9ed0cdd830ced359b14d14ff8bb/code/20_deploy_app_wholegenome_Abeta_and_pTau_microenv/deploy.R#L16-L24 and https://github.com/rstudio/rsconnect/issues/934#issuecomment-1654104704 was useful. In any case, the old behavior ofrsconnect
can be recovered throughoptions(rsconnect.packrat = TRUE)
.If this of interest, I'll make a small example to show this as the apps I linked to are rather large dataset-wise.
Best, Leo