Hi everyone :hugging_face: We're currently in the ...
# help
g
Hi everyone πŸ€— We're currently in the progress of publishing some modules for metabolomics QC based on MetaProViz. Since MetaProViz has no conda/bioconda package, we build our own Docker image for it, currently hosted at ghcr.io/saezlab/metaproviz. We were told this needs to move to an official nf-core-owned registry, and that only an official nf-core core team member can do that. Could anybody help us out, or point us to the right person? Thanks so much!
j
You can ask on #C09H6NYHR9T
Using the special button
p
Though fair warning: we will probably ask you to package on bioconda instead πŸ˜… nf-co.re/docs/…/bioconda
this 3
We only just custom docker images in rare edge cases where that's not possible
c
Thanks! Since all our modules are based on our Bioconductor R-package, conda does not make sense. Given, we have an R-package as our basis, we need the Docker image. So how could we proceed here?
j
I'm pretty sure most if not all bioconductor packages are already on bioconductor
this 1
Bioconda*
I don't know if tis automatically added, but for sure if you search bioconductor on bioconda you can find loads: https://bioconda.github.io/search.html?q=bioconductor
c
Thanks I will look into it. Is there a ways that we can continue for now to submit the docker image, so we can start on the review in the meanwhile? hence, could someone move it into the official registry?
p
Yes every bioconductor package is already in bioconda
You should be able to get a conda environment and usual Seqera container image in a few clicks, I see no reason for a custom image?
Try searching for the packages at https://seqera.io/containers
Or using the nf-core CLI, which allows you to search for these and builds everything for you
j
Normally it is quite quick @Christina Schmidt to do, so we would suggest take a day or two first before we faff with custom images
!lots of nice added benefits for stuff being on conda)
c
Ok, we will look into it and if there are any issues come back to you
p
Just got Claude to check the container you supplied. Looks like 2 of the packages are very new and haven't made it to bioconda yet, but should do soon (
bioconductor-metaproviz
,
bioconductor-omnipathr
). Then there is one core R dep that's missing (
r-qcc
) that'll need to be packaged on conda-forge.
c
Thanks for all the infos. The version is because the newer version is on bioconductor devel branch. I think in october should be the next merge into main.
p
Ah so you need something that's ahead of bioconductor? But your docker image doesn't have that, right?
Other PR, but waiting for 2x upstream PRs first (so left it as draft): github.com/bioconda/bioconda-recipes/pull/69443
c
Thanks! We will get back to the PR next week as Giulia is not avaliable .
πŸ‘πŸ» 1
g
Hi, I’m back now πŸ€— Thank you so much for helping out! I’ll have a look at the PRs, and if there are any issues, I’ll come back to you.
Hi, thank you again for all the help with Bioconda and conda-forge! The r-qcc PR for conda-forge is still open, so there is no Bioconda package of MetaProViz yet. In addition, we want to publish more nf modules soon that need a newer version of MetaProViz. The new Bioconductor release with this version will only be out at the end of November, and we also do not know how long it will take after that until it is on Bioconda. We already removed the
qcc
dependency in the new release, so this should not hold us back there. Would it therefore be acceptable for us to use a custom image that installs the new version of MetaProViz from the GitHub release tag as a temporary solution, and to switch to Bioconda as soon as the new MetaProViz version is available there? We would highly appreciate it, since we would like to continue with the publishing process. Thank you in advance!
p
Bioconda is usually hours / a day or so. But yeah bioconductor being so slow is a problem. It's a shame that there's not a better way around that..
I wonder if it's possible / worth publishing it directly to bioconda without the bioconductor intermediate πŸ€” Not sure if there's precedence for that..
claude lurk
Had a dig through bioconda-recipes and there's precedent for this πŸ‘‡
β€’ Lots of R packages there build straight from GitHub release tarballs, e.g. r-azimuth and r-bayesprism:
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/r-azimuth/meta.yaml
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/r-bayesprism/meta.yaml
β€’ bioconductor-cellhashr keeps the
bioconductor-
prefix but builds from a GitHub tag:
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/bioconductor-cellhashr/meta.yaml
So my suggestion: add
bioconductor-metaproviz
now with the source pointing at the GitHub release tag. When the Bioconductor release lands, switch the source URL and bump the version. Using the same package name the whole time means the nf-core module never has to change containers, and you can skip the custom Docker image. Worth a quick check with the Bioconda folks first, but I can't see why it'd be a problem πŸ™‚
g
Thanks Phil, that’s a good idea! Is it realistic that the Bioconda recipe for
bioconductor-metaproviz
is merged and built soon? We know Bioconda is the better solution. But if it will take longer, we would really appreciate being allowed to use the custom image for a short period of time, because the timing is critical for us. We need to publish the modules by the end of the year. I saw that your PR for OmnipathR 4.0.0 (bioconda/bioconda-recipes#69442) is merged, thank you! Would it be possible to update the draft PR you already started, β€œAdd bioconductor-metaproviz 4.0.0” (bioconda/bioconda-recipes#69443)? Or should we open a new one? Here is what would change compared to the current draft: β€’ source: the GitHub tag
v4.99.0
(commit
f76eacf0973161bc204c66f33440898e62033ce1
),
<https://github.com/saezlab/MetaProViz/archive/refs/tags/v4.99.0.tar.gz>
, instead of the Bioconductor 4.0.0 tarball β€’ version: 4.99.0 instead of 4.0.0 β€’
r-qcc
dependency removed, the new version does not import it any more, so the conda-forge PR for it is no longer needed for us β€’ two new imports:
r-ggnewscale
and
r-withr
, both are on conda-forge One question: after the Bioconductor release, do we need to update the recipe ourselves (switch back to the Bioconductor URL and bump the version), or does the Bioconda bulk update handle it? We saw
bioconductor-skeleton update-all-packages
in the bulk docs, but are not sure how it treats a recipe with a GitHub source. Thanks again for all the help!
p
πŸ™ 1
g
Thank you so much!
p
Merged!
Thanks @Maxime Garcia for the review
@giulia.roeth I'm honestly not entirely sure what'll happen when the next bioconductor release comes out πŸ˜… It could be nice to revert it to be a regular bioconda package then if we're no longer in a rush
πŸ‘ 1
m
Anytime for you
g
Thank you both! πŸ™