A new request to upload a container to <quay.io> h...
# request-core
r
A new request to upload a container to quay.io has been made! • Container URL: https://quay.io/repository/amihajlovski/immunebuilder • Why is this needed?: For a soon-to-be-added abodybuilder2 module and potentially future nanobodybuilder and tcrbuilder2 modules • Confirmation: ◦ This can't be done through the usual Bioconda Note: only containers with a stable version will be accepted (ie. not
latest
) Core team will add this container to quay.io. Please react to the message with ✅ when this is done. [This process is not automated] submitter: @Adrian Mihajlovski
m
I can't access the container for now
a
Should be fixed now
m
do you have a Dockerfile for this?
a
m
ok, so from what I can see it's pip and conda install
plus grabbing some models right?
a
Yes, it's also caching the model weights so they aren't installed every time
m
Yeah, I'm wondering if we can be smarter here or not
@James Fellows Yates what do you think ?
j
Yeahhhh, I general feel you shouldn't couple data with software itself
Because it can often result in much larger containers (which sucks for pulling)
And what if you want to update the data in the future?
a
What should we do instead? The library does allow specifying a path for the weights
j
Yeah eaxaclty: yu have the module have a second input channel which is where you supply the path to the 'data' (in this case the weights)
m
I agree with you @James Fellows Yates
a
Alright, I suppose we can just use Seqera for this container then
m
In such a case, you could make a seqera containers for this
❤️ 1
j
I'm thinking about whether we need a standard nf-core approach for dealing with model weights (and containers) since this comes up a lot in different modules. It's kind of like the situation with reference genomes but not quite the same. Is anyone working on that?
I don't want to hijack this thread to discuss, so if there is interest we can spin up a thread somewhere more appropriate.
j
I think here is fine for now: can you describe what the difference is with reference genomes?
j
The data file (or files) is specific to each tool/module, where the reference genome is broadly usable by many tools. I don't think there would be the same economy of scale for model weights because of that.
Like igenomes provides resources to lots of different tools. A cluster administrator can provide a local copy of all those files and many tools and pipelines will benefit.
Also I'm not sure how careful developers are about versioning their weights files for the "standard" models that their tools use, so reproducibility can be thorny.
j
We have a lot of a similar things in metagenomics where we have have tool specific databases, that can be really big (>110gb in some cases). Even then we recommend splitting these off away from the tool itself. Having to repeatedly pull massive containers really sucks. It's much faster to put the data in an shared cache location on a FS or with S3 where the transfer is more speedy - also because nextflow only had to stage it once and link from there
party this 1
E.g. we had loads of problems with a tool called antiSMASH and timing out when trying to retrieve the container because it was so large.