feat(#4): versions.yml + conf/base.config + conf/modules.config#18
Merged
Conversation
Establishes the conventions every future module extraction copies.
conf/base.config
Label-based portable resource tiers (process_single/low/medium/high/long).
Wired into nextflow.config before profiles so withName: in profile_annotate.config
still overrides for UCR HPCC. Decouples module definitions from infrastructure.
conf/modules.config
Extracts publishDir from modules/local/ into config. The three annotation
modules (ANTISMASH_RUN, INTERPROSCAN_RUN, SIGNALP_RUN) no longer hard-code
publishDir "${params.target}" inline.
modules/local/*.nf
All four extracted modules updated:
- Remove inline cpus/memory/time (replaced by resource-tier label)
- Remove inline publishDir (moved to conf/modules.config)
- Add second label 'process_low' / 'process_medium' alongside existing
provisioning label (antismash / interproscan / signalp / setup)
- Add 'versions.yml' output (emit: versions) with real version capture in
script: and stub versions in stub:
- Add emit: name to primary output so .out.results / .out.versions are
unambiguous
funannotate.nf
- ch_versions channel accumulates versions.yml from ASM_STATS, ANTISMASH_RUN,
INTERPROSCAN_RUN, SIGNALP_RUN whenever those processes run
- ch_versions.unique().collectFile() writes logs/nextflow/software_versions.yml
- Call sites updated to use .out.results / .out.versions
Stub-run gate: 15 completed, 0 failed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbWwmm9v6dJn13sgAJn3Sa
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.
Summary
Establishes the conventions every future module extraction (Issues #5–#10) must copy. One commit.
What changed
conf/base.config(new)Portable label-based resource tiers applied to every run before profiles kick in:
process_singleprocess_lowprocess_mediumprocess_highprocess_longUCR HPCC
withName:blocks inconf/profile_annotate.configstill override these per-process. Config load order:base.config→modules.config→ profile configs →withName:wins.conf/modules.config(new)Extracts
publishDirout ofmodules/local/process definitions.ANTISMASH_RUN,INTERPROSCAN_RUN,SIGNALP_RUNno longer hard-codepublishDir "${params.target}"inline.modules/local/*.nf— all four extracted modules updatedcpus/memory/time→ replaced bylabel 'process_low'/label 'process_medium'publishDir→ moved toconf/modules.configpath 'versions.yml', emit: versionsoutput with real version capture inscript:and pinned stub versions instub:emit: resultsto primary output so.out.results/.out.versionsare always unambiguousfunannotate.nfch_versionschannel accumulatesversions.ymlfromASM_STATS,ANTISMASH_RUN,INTERPROSCAN_RUN,SIGNALP_RUNwhenever those processes runch_versions.unique().collectFile()writeslogs/nextflow/software_versions.yml.out.results/.out.versionsTest plan
nextflow run . -profile test -stub-run— 15 completed, 0 failedversions.ymlemitted and collected in stub output🤖 Generated with Claude Code
https://claude.ai/code/session_01AbWwmm9v6dJn13sgAJn3Sa