nf-core / modules

Repository to host tool-specific module files for the Nextflow DSL2 community!
https://nf-co.re/modules
MIT License
283 stars 723 forks source link

[FEATURE] Centralize all modules using ubuntu container into a single container #5968

Open maxulysse opened 4 months ago

maxulysse commented 4 months ago

Is your feature request related to a problem? Please describe

All of the following modules:

Use the ubuntu container for docker or singularity but a various mix of different conda tools.

And given the different tools' versions within the various ubuntu tag (20.04, 22.04 and 24.04), and the different versions of conda recipe available, I cannot use a single ubuntu container to replicate a conda env, and must use a mix of 2 or 3 depending on the actual tool one want to use. Which is bad from a pipeline point of view, as I would rather have the single one container, than 3 different versions of the same.

Second issue, the untar modules, either in conda or in docker/singularity cannot process tar.bz2 files due to the lack of conda-forge::lbzip2.

Describe the solution you'd like

So my suggestion is to create a new image, based on this conda recipe:

channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - conda-forge::coreutils=9.5
  - conda-forge::grep=3.11
  - conda-forge::gzip=1.13
  - conda-forge::lbzip2=2.5
  - conda-forge::sed=4.8
  - conda-forge::tar=1.34

Here is the singularity corresponding to it in Seqera containers: oras://community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:e1e4ff8dd129544f and the docker one: community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:10736d98b4d693d8, which I have for now mirrored on quay.io in quay.io/nf-core/coreutils_grep_gzip_lbzip2_pruned:10736d98b4d693d8.

Describe alternatives you've considered

No response

Additional context

No response

maxulysse commented 4 months ago

which should deal with https://github.com/nf-core/modules/issues/5704