feat: bring local modules to nf-core 4.0 compliance#152
Merged
Conversation
|
SPPearce
reviewed
Jun 12, 2026
a9ab6fc to
a76efc5
Compare
Convert all 10 local modules (9 fgbio + align_bam) from 'path versions.yml'
to topic-based version emission (tuple(task.process, tool, eval(cmd)),
topic: versions), and remove the obsolete per-process .out.versions mixing in
the workflow. Versions now flow entirely through channel.topic('versions');
the collated versions YAML is byte-identical (snapshots unchanged).
…ules
Bring the 10 local modules toward nf-core compliance: add environment.yml
(conda packages) and reference it via conda "${moduleDir}/environment.yml";
add meta.yml with name/description/keywords/tools/input/output and a
containers: block (docker + singularity-oras, amd64+arm64) sourced from
Seqera Containers builds.
With local-module meta.yml containers: blocks present, generation now emits docker and singularity-oras entries for all fgbio/align_bam processes (https and conda-lock configs keep nf-core modules only).
The inline container directives in the local modules' main.nf disagreed with the generated conf/containers_* source of truth: - align_bam pinned bwa_fgbio_samtools (stale name/digest from before the environment.yml existed) instead of fgbio_bwa_samtools. - 8 fgbio modules pointed their singularity ref at a community-cr-prod https blob that now 404s; filterconsensusreads used a divergent https blob. Point every local module's main.nf container at the oras refs from conf/containers_singularity_oras_amd64.config (durable, lint-validated, and CI-exercised) plus the matching amd64 docker tags. CI did not catch the dead blobs because the generated oras config overrides main.nf on real runs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… ch_versions FilterConsensusReads pipes into `samtools sort`, so emit its samtools version to the versions topic (mirroring align_bam), in addition to fgbio. Remove the now-empty ch_versions scaffold from the workflow (all versions flow through the topic; the workflow's `versions` emit was unconsumed). Regenerate RD-mode software-version snapshots accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
867afd7 to
b579c27
Compare
SPPearce
requested changes
Jun 16, 2026
SPPearce
left a comment
Contributor
There was a problem hiding this comment.
Please swap to check for apptainer (as in my previous comment).
Contributor
|
Also please update the CHANGELOG |
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
SPPearce
approved these changes
Jun 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #151 (nf-core component updates). This PR updates the local modules, split out per review feedback (easier to review in stages).
Changes
tuple(task.process, tool, eval(cmd)), topic: versions); remove the obsolete.out.versionsmixing (and the now-vestigialch_versionsscaffold) in the workflow.FILTERCONSENSUSREADSnow also reports the samtools version (it pipes intosamtools sort), matchingALIGN_BAM's multi-tool reporting.environment.ymlto each local module and reference it viaconda "${moduleDir}/environment.yml".meta.ymlto each local module (name/description/keywords/tools/input/output) with acontainers:block (docker + singularity-oras://, amd64 + arm64) built via Seqera Containers for the 3 distinct environments (fgbio,fgbio+samtools,bwa+fgbio+samtools).conf/containers_*.configso the docker + singularity-oras configs include all local processes (https/conda-lock configs keep nf-core modules only — those wave artifacts weren't generated for the local containers).Verification (nextflow 25.10.4)
nf-core pipelines lint— 0 failuresnf-test test --profile debug,test,docker— full suite passes. The versions YAML matches pre-migration output except for the newly addedsamtoolsline underFILTERCONSENSUSREADS(snapshots updated accordingly).🤖 Generated with Claude Code