Skip to content

Workflow outputs only#645

Open
MattWellie wants to merge 19 commits intomainfrom
workflow-outputs_only
Open

Workflow outputs only#645
MattWellie wants to merge 19 commits intomainfrom
workflow-outputs_only

Conversation

@MattWellie
Copy link
Copy Markdown
Collaborator

@MattWellie MattWellie commented Mar 5, 2026

This PR has been open a while, and has various stacked branches. Trying to tidy this up now.

The line count is kinda hideous, but much of that is adding a new nextflow schema file, or indenting blocks of script inside a script: parameter.

This doesn't change any app functionality, it's more like a massive linting for the pre-existing NF workflow. This might be the last commit to main before switching to a dev-branch centred development workflow.

Fixes

  • Workflows were using a mix of WorkflowOutputs and PublishDir - this harmonises exclusively on Workflow outputs
  • some workflow modules lacked an explicit script: declaration
  • some workflow scripts lacked a pipefail instruction
  • Dockerfile improvements (removing second htslib download, removing some layers, bumping to bcftools 1.23.1)
  • Correction to the bcftools compression used when writing the merged VCF file
  • Adds 3x retries to the ClinVar downloader process (fragile)
  • Added nextflow_schema.json for Seqera/other platforms

Linting

  • Channel. changed to channel. ("Channel" is deprecated in NextFlow according to nextflow lint)
  • Unused elements in channel joins are prefixed with _
  • Resource settings corrected in Groovy (e.g. '1 GB' -> 1.GB)

@MattWellie MattWellie requested a review from Copilot March 5, 2026 04:52
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-level output {} blocks.
  • Removes params.outdir from nextflow.config and adds a ResummariseRawSubmissions resource requirements block.
  • Adds nextflow_schema.json documenting 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.

Comment thread nextflow.config
Comment thread nextflow_schema.json Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 32 out of 32 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread main.nf
Comment thread nextflow/talos.nf
Comment thread nextflow_schema.json Outdated
Comment thread nextflow_schema.json Outdated
Comment thread src/talos/cpg_internal_scripts/CPG_Dockerfile Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants