Skip to content

chore: clean up Nextflow selector warnings and dead config#472

Open
m-huertasp wants to merge 17 commits into
devfrom
chore/clean-nextflow-warnings
Open

chore: clean up Nextflow selector warnings and dead config#472
m-huertasp wants to merge 17 commits into
devfrom
chore/clean-nextflow-warnings

Conversation

@m-huertasp

@m-huertasp m-huertasp commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

What this does

Removes accumulated Nextflow "no matching selector" warnings that appeared after recent feature additions deleted or renamed processes. The fix has two parts: stripping dead withName blocks for processes that no longer exist, and simplifying overly-qualified selector paths so they match the actual module names. Feature-gated processes (regressions, introns, non-prot) get explicit comments so the expected warning is documented rather than treated as a regression.

Changes

  • Remove dead withName selectors for deleted processes: CREATESAMPLEPANELS, SUBSETPANEL, MUTRATE, SUBSETPILEUP, READSPOSBED
  • Simplify overly-qualified selector paths in base.config, exome.config, modules.config, panels.config (drop redundant namespace prefixes that no longer match)
  • Pin singleton channels at source in workflows/deepcsa.nf and subworkflows; remove redundant .first() calls

What to review

Run in Seqera to make sure no errors are raised there.

There are still some warnings from selectors:

WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:.*INTRONS:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:.*PROT:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:.*NONPROT:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:.*EXONS:.*
WARN: There's no process matching config selector: .*PLOTDEPTHSALLCONS:DEPTHSSUMMARY
WARN: There's no process matching config selector: .*PLOTDEPTHSEXONS:DEPTHSSUMMARY
WARN: There's no process matching config selector: .*NONPROT:SUBSETMUTPROFILE
WARN: There's no process matching config selector: .*MULTI:SUBSETOMEGA
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGANONPROTMULTI:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGA:.*GLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:.*GLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGANONPROT:.*GLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGANONPROTMULTI:.*GLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:MUTDENSITYPROT:SUBSETMUTDENSITY
WARN: There's no process matching config selector: .*NONPROT:SUBSETMUTDENSITY
WARN: There's no process matching config selector: .*SYNONYMOUS:SUBSETMUTDENSITY
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:EXPECTEDMUTATEDCELLS:.*
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGA:SITECOMPARISON
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGA:SITECOMPARISONMULTI
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGA:SITECOMPARISONGLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGA:SITECOMPARISONGLOBALLOCMULTI
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:SITECOMPARISON
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:SITECOMPARISONMULTI
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:SITECOMPARISONGLOBALLOC
WARN: There's no process matching config selector: BBGTOOLS:DEEPCSA:OMEGAMULTI:SITECOMPARISONGLOBALLOCMULTI

What I did to remove most of these "selector" warnings was to follow what is done in here. Basically, for those selectors that can be distinguished on their own, use only their name:

  • Only an explicit module name can cope with 'optional' execution and have a selector still picked up, even if it's 'turned off'.
  • Fully resolved paths or wildcarded withName selectors cannot be evaluated by Nextflow in this manner, and thus give you warnings like above.
    For these selectors that I couldn't use the explicit module name, it is because some logic is used to use specific subfolders based on the name (e.g. .INTRONS., etc) or because same module name is used (e.g. BBGTOOLS:DEEPCSA:OMEGAMULTI:SITECOMPARISON and BBGTOOLS:DEEPCSA:OMEGA:SITECOMPARISON

For the .first() redundant calls, I think I fix most of them. There are some missing related with the clonal_structure and the get_signatures modes that I couldn't find.

Testing

Verified by running the pipeline. No functional behaviour change found.

closes #468

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 reduces noisy Nextflow runtime warnings by (1) pruning config selectors that no longer match any processes and (2) removing redundant .first() calls by pinning singleton channels at their sources (subworkflows / collectFile(...) outputs).

Changes:

  • Remove an unused CREATESAMPLEPANELS module and delete dead withName blocks targeting removed processes.
  • Simplify withName selectors (favoring module/process aliases) and document remaining expected selector warnings for param-gated features.
  • Pin singletons at source (e.g., collectFile(...).first(), subworkflow outputs) and drop downstream redundant .first() calls.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
workflows/deepcsa.nf Removes downstream .first() calls and pins a collectFile(...) result at the source to avoid “useless first” warnings.
subworkflows/local/omega/main.nf Drops redundant .first() on a take: input when calling PREPROCESSINGGLOBALLOC.
subworkflows/local/mutationpreprocessing/main.nf Removes .first() on SUMANNOTATION.out.tab to avoid redundant value-channel pinning.
subworkflows/local/enrichpanels/main.nf Pins expanded panel outputs at the source and emits them without re-pinning.
modules/local/createpanels/sample/main.nf Deletes an orphaned/unused module (CREATESAMPLEPANELS).
conf/tools/panels.config Removes dead selectors and consolidates EXPANDREGIONS publishDir configuration under simplified selectors.
conf/tools/omega.config Documents expected warnings for gated selectors and simplifies selector patterns to better match aliases.
conf/tmp_quick_fixes.config Simplifies a selector; retains expected-warning documentation for gated features.
conf/modules.config Removes dead selectors, simplifies selectors for gated features, and adjusts regressions selectors to match module aliases.
conf/exome.config Removes dead selectors and simplifies OMEGA-related selector expressions.
conf/base.config Removes dead selectors and simplifies selector expressions to reduce “no matching selector” warnings.

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

Comment on lines +18 to 21
withName: 'MUTATEDGENOMESFROMVAFAM' {
errorStrategy = 'ignore'
maxRetries = 1
}
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.

chore: clean up Nextflow run-time warnings — unmatched config selectors and redundant .first() calls

2 participants