-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use singularity containers for apptainer profile too #2357
Comments
I do think that using a parameter instead of |
I have recently started writing a config for our institution's HPC and wondered if there is any planned progress on this issue (particularly "a significant rewrite for the nf-core download infra")? Our HPC uses
I went with this in the end, switching to Could this solution cause problems in the future (besides the confusion for others like myself writing an institution config)? |
This does not really have anything to do with As of now, unfortunately many of the over 1000 modules in the modules repo have not been updated, so they still have "singularity" hard-coded:
Regardless of any config setting, So regarding your config, you should indeed stick to Rewriting nf-core download is a huge task and unfortunately not really high priority, but will be required when that change is finalised. It, however, does not have anything to do with the problem that you are facing. |
Thanks @MatthiasZepper, very useful information! For some reason I misinterpreted the line "a significant rewrite for the nf-core download infra" to refer to how the modules use singularity/apptainer to pull containers. Since as there are so many modules where singularity is hard-coded, then as you say the config workaround is the way to go for now! As an aside, when I initially enabled |
On a second thought, that may actually not have been a misinterpretation, because there are indeed significant changes needed as well, since hard-coding the container URIs in the modules shall be removed somewhen in the future. The problem is, that this needs to happen in conjunction with coordinated updates to Nextflow, to Seqera containers and to nf-core tools (for download, linting and a new helper tool to write those configs when a pipeline is released)....and this task feels so daunting that nobody is really driving that change and presumably everyone secretly hopes that somebody else will implement the required changes^^. Plus there is still the open question what to do with tools, that are not available via conda which is, as far as I know, not decided yet. |
Matthias, do you know of any modules that aren't hard coded with singularity? |
Frankly...no 😆. With not hard coded with singularity I actually also meant additionally hard coded with apptainer as well. Since I am not involved in the modules, DSL and linting related parts of nf-core, I also have a very coarse overview of what is actually being discussed and happening there. All I know for sure is, that there was a release PR for nf-core tools more than a year ago, when the apptainer issue popped up in the final reviews. Ultimately, I did a late-night rewrite of Because people at that time were still arguing over what the new container declaration should look like in modules, To my best knowledge, those two options (Mock examples) were discussed:
If there is a point in bulk-updating all modules, if those definitions are already planned to be removed entirely from the modules in the near(?) future, I do not know. I lean towards putting emphasis on implementing the new logic for having the nice multi-aarch support by Seqera Containers and solving the registry issues with download along the way. But ultimately that is not my business - or as we say in Germany: "Not my circus, not my monkeys" 🙉. |
Yes, it doesn't seem to have ever been actioned on.
|
Thanks @SPPearce, good to know. I'll keep an eye out for the Seqera support too. |
Description of feature
Singularity has split out into an open source version called Apptainer two years ago.
Currently the logic for using singularity containers for modules is hardcoded to require the use of the singularity container profile, e.g.
so the apptainer profile will build from the docker containers instead, which is less robust and more likely to fail. It would therefore be good to enable the singularity images for apptainer too.
This was discussed in on Slack, with this summary from Phil @ewels :
The text was updated successfully, but these errors were encountered: