Skip to content

feat: made all steps optional#47

Draft
fevac wants to merge 2 commits intodevfrom
optional_steps
Draft

feat: made all steps optional#47
fevac wants to merge 2 commits intodevfrom
optional_steps

Conversation

@fevac
Copy link
Collaborator

@fevac fevac commented Mar 11, 2026

Closes https://github.com/Clinical-Genomics/CancerBioInfo/issues/97

Added

  • Added new include_process parameter allowing users to selectively enable or disable specific processing steps.

Changed

  • Refactored workflow to use a ch_current_*_vcf pattern, allowing sequential conditional execution of processing steps.
  • local annotation, filtering, VEP annotation, and clinical filtering for both SNV and SVs are now conditionally executed based on the include_process configuration.

@github-actions
Copy link

PR checklist

  • Fill in description of the PR and link to any relevant issues.
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool, follow the pipeline conventions in the contribution docs.
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

@fevac
Copy link
Collaborator Author

fevac commented Mar 11, 2026

For refinement:

  • ch_current_{snv,sv}_vcf for sequencial steps always including a channel with vcf and index (channel: meta, vcf, tbi)
  • include_process parameter
    • name
    • comma separated
  • supported processes naming accepted by parameter:
    • snv_local_annotation
    • snv_filtering
    • snv_ensemblvep
    • snv_clinical_filtering
    • sv_local_annotation
    • sv_filtering
    • sv_ensemblvep
    • sv_clinical_filtering
  • actual process names
    • VCFANNO
    • RESEARCH_FILTERING
    • ENSEMBLVEP_SNV
    • CLINICAL_FILTERING
    • SVDB_QUERY_DB
    • TABIX_SVDB_SV
    • RESEARCH_FILTERING_SV
    • ENSEMBLVEP_SV
    • CLINICAL_FILTERING_SV

@beatrizsavinhas
Copy link
Contributor

beatrizsavinhas commented Mar 13, 2026

Suggestions:

  • Avoid overriding and reusing the same input variable for all steps (This is a programming bad practice. For example, if a bug is introduced that makes a mandatory step not run, the pipeline will run anyway, but incorrectly, because the input variable already exists. It also makes it hard to trace back where the contents of the chanel are coming from.)

  • Consider changing the logic to focus on skip instead of include:

    • There can be a skip_subworkflow for several connected steps and a skip_tools for specific tools instead.
  • Consider creating 4 general subworkflows that can be skipped:

    • Local/Ensembl_vep annotation
    • Clinical/Research filtering

    The benefit of subworkflows is that you already have a standardized output by default. No matter what tools are skipped/included in the workflow, the output is always the same subworkflow.out.

  • More general suggestion: Separate SV and SNV processing into 2 subworkflows.

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