tools icon indicating copy to clipboard operation
tools copied to clipboard

nf-core container download for downloading

Open adamrtalbot opened this issue 2 years ago • 3 comments

Description of feature

Break out the feature for downloading singularity containers from nf-core download and put it in it's own command line. When running nf-core download the tool could incorporate this function as part of it.

Modularity will help #2407 and possibly #2406 via breaking each tool into it's constituent components. The next step will be to give each it's own CLI.

adamrtalbot avatar Aug 21 '23 19:08 adamrtalbot

Indeed, a massive refactoring and rewrite of the nf-core download tool is required, that should

  • Refactor the whole codebase into separate, more modular classes
  • Make use of nextflow inspect for container detection.
  • Sport a separate container download CLI command. (Should also support docker then?)
  • Implement the new GUI with Textualize

Any volunteers?

MatthiasZepper avatar Aug 25 '23 09:08 MatthiasZepper

Talking to @MatthiasZepper in Office Hours

I understood his recommendation is to separate into two separate commands nf-core containers - Using nextflow inspect or just the wave-api nf-core downloads - legacy anything pre tools 3.0

@MatthiasZepper Also pitched that an issue with nextflow inspect is the need for a profile. We could just skip nextflow inspect and pull all the environment.ymls and pass them to the wave-api, which will do it's hashing magic and return the containers. I think this is pretty clever.

edmundmiller avatar Jul 09 '24 18:07 edmundmiller

I just learned that Phil has already come up with a similar solution. Like him, I was also thinking of a custom config file with container specifications, like in POC1. The difference between our proposals is that Phil want to create it upfront and include it into pipeline releases, while I suggest that nf-core download could generate it when downloading the pipeline.

In either way, the first step to implementing the desired modularity would be to start work on #2940 and move the new cleaned class WorkflowRepo out of the download command to a separate file from which it can be imported into both, the new nf-core container command and the refactored download command.

Some more ramblings are here btw.

MatthiasZepper avatar Jul 10 '24 19:07 MatthiasZepper