Skip to content

Trio/Duo inheritance mode for a mosaic parent (dominant, low-VAF parent) #1830

Description

@davmlaw

🤖 Written by Claude

A medical scientist asked whether a dominant node can find variants where a parent is mosaic - the child is constitutional HET (~50% VAF) and the parent carries the variant in a fraction of cells. In the data the parent is either (a) called 0/0 by the germline caller with a handful of alt reads in AD (below the ~15-20% VAF calling threshold - the common case), or (b) called HET with a low VAF (5-30%).

What works today

Trio node in Denovo mode, then add the parents' Allele depth / Allele frequency sample columns to the grid and sort by them - candidates with parental alt reads float to the top. Covers case (a) with no code: CohortGenotype.samples_allele_depth / samples_allele_frequency are stored per sample per variant, and in a joint-called multi-sample VCF the parent's values at the proband's site are stored even when its GT is 0/0.

The gap

Case (b): Denovo excludes a HET-called parent, and Dominant with an unaffected parent does too. The Trio node's AD/DP/GQ/PL thresholds and the Allele Frequency slider apply one range across all samples (ANY/ALL), so "proband AF ≥ 0.3 AND parent AF 0.02-0.35" can't be expressed.

Proposal - TrioInheritance.MOSAIC_PARENT "Dominant (mosaic parent)"

  • proband: HAS_VARIANT
  • one parent (either, OR'd): zygosity unconstrained (HOM_REF / HET / MISSING) and (samples_allele_frequency in [min, max] or samples_allele_depth ≥ N)
  • other parent: NO_VARIANT and AF below min
  • two node fields, mosaic_max_af (default ~0.35) and mosaic_min_alt_reads (default 2), shown as a row in the zygosity table
  • same mode on the Duo node (Duo analysis: proband + one parent (Duo model, wizard and DuoNode) #1829) with its single parent - the "other parent clean" clause drops

AD is the robust signal (AF is only stored when the VCF has an AF FORMAT field); samples_allele_depth is the alt depth so AD ≥ N is a direct array-index filter like the AF one in cohort_mixin.get_allele_frequency_q_list.

Warnings the node should carry

  • Needs a joint-called (multi-sample) VCF - per-sample VCFs merged into a cohort have no parent record at the proband's site, so no AD.
  • Depth: a 5% mosaic at 30x is ~1.5 reads. Meaningful at ~100x+ / targeted panels; on standard WGS results are mostly sequencing noise and index hopping. Sorting by parent AD is the honest presentation.
  • Blood mosaicism ≠ gonadal - absent signal in blood doesn't exclude germline mosaicism. A recurrence-risk hint, not a rule-out.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions