Skip to content

Specify allosomal contigs in PostprocessGermlineCNVCalls (GATK) - #966

Open
benstory wants to merge 3 commits into
nf-core:devfrom
benstory:fix/gatkCNVparam
Open

Specify allosomal contigs in PostprocessGermlineCNVCalls (GATK)#966
benstory wants to merge 3 commits into
nf-core:devfrom
benstory:fix/gatkCNVparam

Conversation

@benstory

@benstory benstory commented Aug 6, 2026

Copy link
Copy Markdown

Description

PostprocessGermlineCNVCalls currently runs without --allosomal-contig.
Per the GATK documentation, any contig not declared as allosomal is assumed
to be autosomal and given the reference copy-number set by
--autosomal-ref-copy-number (default 2). This means X and Y are genotyped
against a diploid reference regardless of the sample's karyotype, so male
samples get spurious DEL calls across X and Y, and female samples get
spurious calls on Y.

Passing --allosomal-contig lets GATK take the reference copy-number for
those contigs from the contig ploidy calls produced by
DetermineGermlineContigPloidy, which is what the tool expects.

Ref: https://gatk.broadinstitute.org/hc/en-us/articles/360036366292-PostprocessGermlineCNVCalls

Changes

  • Added --allosomal-contig to ext.args for the postprocessing step in
    conf/modules/call_sv_germlinecnvcaller.config.
  • Contig naming is selected from params.genome, following the pattern
    already used for --haploid_contigs in
    conf/modules/call_snv_deepvariant.config: X/Y for GRCh37 and
    chrX/chrY otherwise.

Fixes #965

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/raredisease branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Ensure the test suite passes (nextflow run . -profile test_singleton,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

…nfiltered

Feed UPD/rhocall-viz unfiltered vcfanno output instead of the VEP-filtered VCF
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 4.0.3.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the Synchronisation documentation.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit f16a302

+| ✅ 257 tests passed       |+
#| ❔   9 tests were ignored |#
!| ❗   9 tests had warnings |!
Details

❗ Test warnings:

  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in CONTRIBUTING.md: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc.
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ mq_metrics = SENTIEON_DATAMETRICS.out.mq_metrics.ifEmpty(null) // channel: [ val(meta), path(mq_metrics) ]
    _
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ qd_metrics = SENTIEON_DATAMETRICS.out.qd_metrics.ifEmpty(null) // channel: [ val(meta), path(qd_metrics) ]
    _
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ gc_metrics = SENTIEON_DATAMETRICS.out.gc_metrics.ifEmpty(null) // channel: [ val(meta), path(gc_metrics) ]
    _
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ gc_summary = SENTIEON_DATAMETRICS.out.gc_summary.ifEmpty(null) // channel: [ val(meta), path(gc_summary) ]
    _
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ aln_metrics = SENTIEON_DATAMETRICS.out.aln_metrics.ifEmpty(null) // channel: [ val(meta), path(aln_metrics) ]
    _
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/raredisease/raredisease/subworkflows/local/align_sentieon/main.nf: _ is_metrics = SENTIEON_DATAMETRICS.out.is_metrics.ifEmpty(null) // channel: [ val(meta), path(is_metrics) ]
    _
  • schema_lint - Input mimetype is missing or empty

❔ Tests ignored:

  • files_exist - File is ignored: conf/modules.config
  • files_exist - File is ignored: .github/workflows/linting_comment.yml
  • files_unchanged - File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File ignored due to lint config: assets/nf-core-raredisease_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-raredisease_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-raredisease_logo_dark.png
  • modules_config - modules_config

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.3
  • Run at 2026-08-06 14:44:12

@ramprasadn

Copy link
Copy Markdown
Collaborator

Hi @benstory, just realized that I responded to you in a comment on your issue rather than here in the PR. Your suggestion below, which should enable it for all samples regardless of sex, sounds good to me.

ext.args = { params.genome == 'GRCh37' ? '--allosomal-contig X --allosomal-contig Y' : '--allosomal-contig chrX --allosomal-contig chrY' }

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