Implement global output publishing pattern for Nextflow v25.10+ (Issue #41)#69
Open
Implement global output publishing pattern for Nextflow v25.10+ (Issue #41)#69
Conversation
- Added global output block before workflow definition to define all pipeline outputs - Configured publish paths for all major output categories: * Quality control (clean reads) * Assembly (FASTA, GFA, logs) * Mapping (BAM files, coverage) * Binning (tables, FASTA) * Quality assessment (CheckM2 reports) * Annotation (GFF, TSV, TXT) * Taxonomic profiling (profiles, visualizations) * Post-hoc analysis (Pigeon, Appraise) * Pipeline metadata (versions) - Used publish: section in workflow to assign channels to output definitions - Removed duplicate output block from end of file - Follows Nextflow v25.10+ strict syntax requirements This implements the modern output publishing pattern that replaces process-level publishDir directives with centralized workflow outputs.
ppreshant
commented
Jan 8, 2026
| bakta_txt = params.analysis_type == "assembly" ? ASSEMBLY_MAGS.out.bakta_txt : channel.empty() // channel: [ val(meta), path(*.txt) ] | ||
|
|
||
| // Taxonomic profiling outputs | ||
| singlem_profile = params.analysis_type == "assembly" ? ASSEMBLY_MAGS.out.singlem_profile : channel.empty() // channel: [ val(meta), path(*.tsv) ] |
Member
Author
There was a problem hiding this comment.
Need to change params.analysis_type to taxonomic-profiling
|
|
||
| // Mapping outputs | ||
| mapping { | ||
| path { meta, _bam -> "mapping/${meta.id}" } |
Member
Author
There was a problem hiding this comment.
read again why I chose the other syntax vs this one?
mapping {
path { "mapping/" }
}3f23c54 to
be2e450
Compare
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.
Overview
This PR implements the modern global output publishing pattern introduced in Nextflow v25.10+ to replace process-level
publishDirdirectives with centralized workflow outputs.Changes Made
Main Workflow (
main.nf)outputblock before theworkflowdefinitionpublish:section in main workflow to assign channels to outputsModules Updated (10 total)
Removed
publishDirdirectives from all modules:modules/local/bakta/bakta/main.nfmodules/local/checkm2/parse/main.nfmodules/local/singlem/appraise/main.nfmodules/local/singlem/pipe/main.nfmodules/local/taxburst/main.nfmodules/nf-core/checkm2/predict/main.nfmodules/nf-core/flye/main.nfmodules/nf-core/samtools/coverage/main.nfSubworkflow Updated
workflows/somatem.nf- Removed publishDir directivesOutput Organization
The new structure publishes outputs to organized directories:
Benefits
Testing Notes
Related
Closes #41
Review Checklist