Can someone please remind me again what is the cur...
# modules
a
Can someone please remind me again what is the current policy on containers using biocontainers vs seqera? I would like to bump the Clair3 module, but the latest versions don’t have the singularity images available via biocontainers (almost certainly they built but haven’t gone public which seems to happen a lot, so you have to make an issue and I am too lazy) so I am wondering whether it can be switched to the Seqera containers?
a
Given that it’s going to become the default according to that I feel it’s OK to migrate then?
this 1
👍🏻 1
s
yup
m
we started migrating some
👍 2
a
A little wrinkle I discovered (at least for Clair3) is that biocontainers, despite being built on top of bioconda did not put data into
CONDA_PREFIX
whilst the seqera containers do
m
Interesting
a
Ok, so I am a little perturbed because the
docker
has
CONDA_PREFIX
set, but the
singularity
does not. I thought that within seqera containers the environments should be the same but now I am not sure.
🤔 1
p
What effect does this have? The packages are installed to a different path within the container?
I don't find the string
CONDA_PREFIX
anywhere in the Wave code base
a
So in my specific case it’s affecting the update to Clair3. Currently it uses CONDA_PREFIX for mamba and conda profiles. However it turns out that seqera containers still put the models under those paths and not the
/usr/lib
as biocontainers did. BUT then only the docker has CONDA_PREFIX set, not the singularity image
p
Ok 👍🏻 I'm not quite sure how that environment variable is being set, seeing as I can't find it in the codebase. But I've raised it with the Wave team (who are away on vacation currently but back next week) so we'll look into it.
Might be worth making an issue on the Wave repo so it doesn't get lost / so that you get updates.
a
Done. I suspect this is not a
wave
issue but more likely some weird difference between docker and singularity that was either unknown or not accounted for.
👍🏻 1
p
Thanks!
s
Does anyone have any ideas what's going on with biocontainers? It seems to have completely stopped uploading new singularity containers....
j
You can ask on the Bioconda gitter
s
Ah, I wasn't aware that such a thing existedc
s
Well the problem I find with seqera containers is that it takes ages for the website UI to update to allow the new version of the package
it didn't show as available until the next morning last time I was updating a module
p
yeah it runs nightly I think 🤔 (or maybe not, but there is some sort of cache refresh period)
But that's just the web UI / cache.
The underlying Wave service doesn't use that at all, so if you generate your image using the CLI then you should be able to fetch it within seconds of it appearing on Bioconda
Copy code
wave --freeze --conda multiqc
For example..
Wave CLI installation instructions / source code are here
Getting the ORAS singularity image is similar. Getting the HTTPS singularity image is a little more complicated, needs some finagling with
wave inspect
but I wrapped that logic in a Python snippet here.
Intention is to fully automate all of this gubbins in nf-core modules as soon as possible. We are making progress in that direction, slowly.. (very slowly)
We use our own custom cache of package names on the Seqera Containers web UI because the underlying Anaconda / PyPI API endpoints are pretty terrible and extremely slow. So either you wait a bit for new packages to appear, or you wait an annoying number of seconds for every search. I figure that most of the time, people don't care about bleeding edge releases, so that was the lesser of two evils.
s
I looked at using wave but when I saw it needed a token I stopped, I assume it's free and open like the web UI?
p
Yup 👍🏻
If you use
--freeze
and no registry then it pushes to the open community registry
It's exactly what the web UI does, the web UI just provides a token on the back end for a bot user to run the build
s
caching the indexes definitely makes sense, responsiveness is definitely better, suggest maybe having a little note somewhere saying when the last cache happened though
💡 1
p
But the builds are the same and the location is the same
👍 1