Conversation
There was a problem hiding this comment.
Pull request overview
This PR completes the migration of the Talos Nextflow pipeline to use Nextflow's WorkflowOutputs mechanism (publish: blocks and output {} directives) exclusively for all output file handling, removing publishDir directives from every process module. It also adds a nextflow_schema.json parameter schema and a ResummariseRawSubmissions resource configuration block.
Changes:
- Removes all
publishDir(and commented-out// publishDir) directives from every annotation, talos, and prep process module, delegating output publishing to the workflow-leveloutput {}blocks. - Removes
params.outdirfromnextflow.configand adds aResummariseRawSubmissionsresource requirements block. - Adds
nextflow_schema.jsondocumenting all pipeline parameters.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
nextflow.config |
Removes the outdir parameter; adds ResummariseRawSubmissions resource block |
nextflow_schema.json |
New file: JSON Schema describing all pipeline parameters |
nextflow/modules/talos/ValidateMOI/main.nf |
Removes publishDir directive |
nextflow/modules/talos/UnifiedPanelAppParser/main.nf |
Removes publishDir directive |
nextflow/modules/talos/StartupChecks/main.nf |
Removes commented-out publishDir directive |
nextflow/modules/talos/RunHailFiltering/main.nf |
Removes publishDir directive |
nextflow/modules/talos/HPOFlagging/main.nf |
Removes publishDir directive and associated comment |
nextflow/modules/talos/CreateTalosHTML/main.nf |
Removes publishDir directive |
nextflow/modules/prep/CreateRoiFromGff3/main.nf |
Condenses two-line comment to one line |
nextflow/modules/annotation/SplitVcf/main.nf |
Removes commented-out publishDir directive |
nextflow/modules/annotation/NormaliseAndRegionFilterVcf/main.nf |
Removes commented-out publishDir directive |
nextflow/modules/annotation/MergeVcfsWithBcftools/main.nf |
Removes commented-out publishDir directive |
nextflow/modules/annotation/AnnotatedVcfIntoMatrixTable/main.nf |
Removes publishDir directive |
nextflow/modules/annotation/AnnotateWithEchtvar/main.nf |
Removes commented-out publishDir directive |
nextflow/modules/annotation/AnnotateCsqWithBcftools/main.nf |
Removes commented-out publishDir directive |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| "gnomad_zip": { | ||
| "type": "string", | ||
| "default": "${params.large_files}/gnomad_4.1_region_merged_GRCh38_whole_genome", |
There was a problem hiding this comment.
The default value for gnomad_zip on line 106 contains a Nextflow parameter interpolation expression: "${params.large_files}/gnomad_4.1_region_merged_GRCh38_whole_genome". This is not a valid JSON Schema default value — JSON Schema default must be a literal value, not a template string. The ${params.large_files} expression will be stored and interpreted as a literal string by any JSON Schema validator or nf-core schema tooling, rather than being interpolated at runtime. The actual default is set in nextflow.config (line 56: gnomad_zip = "${params.large_files}/gnomad_4.1_region_merged_GRCh38_whole_genome"). The default in the schema should either be omitted (leaving the actual default to nextflow.config) or replaced with a descriptive placeholder string like "<large_files>/gnomad_4.1_region_merged_GRCh38_whole_genome" to indicate the path pattern without implying runtime interpolation.
| "default": "${params.large_files}/gnomad_4.1_region_merged_GRCh38_whole_genome", | |
| "default": "<large_files>/gnomad_4.1_region_merged_GRCh38_whole_genome", |
Fixes
Proposed Changes