V2 CN validation: Pi tuning rounds, CYTO-041 effect, common-CNV sensitivity limit (K-027)

This commit is contained in:
kemal committed 2026-09-29 11:11:14 +01:00
1 parent 803f4aaec3
commit fa36e550c9
2 files changed
+30 -7

No files matched your search

+29 -6
View File
@@ -53,11 +53,34 @@ BAF-supported "mosaic" events are 0–2 % in truth and rarely reproduced: shifte
mismatched cluster file mimic allelic imbalance). Small BAF-supported mosaic gains are often real germline
duplications labelled mosaic (43 % in truth).
## Pi tuning rounds (2026-09-29), 40 arrays (20 individuals × replicates 1, 2), reference = replicate 3 of all 120
`scripts/v2/cn_tune.sh TAG [options]`; truth as above, QUAL ≥ 20, PASS only (after the K-027 noise-gate fix).
| Round | DEL calls / in truth | DUP | mosaic loss PASS / in truth | mosaic gain PASS / in truth | LOH replicated |
|---|---|---|---|---|---|
| base (per-probe reference het BAF spread in the emissions) | 22 / 100 % | 3 / 67 % | 29 / 11 % | 24 / 38 % | 80 % |
| `--mosaic-prior 0.0005` | 25 / 96 % | 4 / 75 % | 27 / 12 % | 22 / 36 % | 80 % |
| `--mosaic-prior 0.0005 --switch-distance 1e8` | 24 / 96 % | 4 / 75 % | 25 / 14 % | 23 / 35 % | 80 % |
| CYTO-041 (noise-normalised BAF split, complete-loss promotion) | 27 / 93 % | 4 / 75 % | **19** / 5 % | **19** / 42 % | 80 % |
* The mosaic prior and switch distance barely matter. CYTO-041 moves heterozygote-free "mosaic" losses (compressed
constitutional deletions) to DEL (`HIGHFRACTION`) and sends noise-driven mosaic calls to `LowFraction`
(MDEL 29 → 19 PASS, MDUP 24 → 19). On the implanted set (`data/v2cn/syn3`) MF estimates stay unbiased
(15 % → 0.16, 20 % → 0.21, 30 % → 0.30), detection is unchanged (126/216) and the CYTO-022 gate still passes.
* Remaining mosaic-loss false positives are long, low-amplitude LRR dips (−0.05 … −0.1) with a heterozygous BAF
spread only 1.0–1.3 × the probe's reference spread, or short events with < 20 heterozygous probes (MF from LRR).
Without phasing a < 20 % mosaic loss cannot be separated from regional BAF noise (K-027).
* **Sensitivity is limited by common CNVs.** Detected truth DEL by carrier frequency among the 120 individuals:
< 5 %: 24/64 (38 %), 5–20 %: 1/20, 20–50 %: 1/80, > 50 %: 0/156 (DUP 10/66, 0/2, 1/24, 0/40). The batch
reference is the per-probe median LRR, so an event carried by most reference samples is normalised away (and the
cluster file, trained on the population, already absorbs part of it). Array CN calling targets rare events; the
headline sensitivity figures above are dominated by common polymorphic deletions.
## Next steps
1. Mosaic calling: require consistent BAF imbalance with a per-probe reference of heterozygous BAF spread, raise the
evidence for mosaic states (prior/size), and relabel compressed germline gains/losses as constitutional; tune on
GSE165845 and re-measure (replicate reproducibility is the cheapest check).
2. Sensitivity for 25–500 kb events: lower switch cost for short events with strong LRR, per-probe LRR SD from the
reference.
3. Re-run the truth comparison; document the final numbers.
1. Report sensitivity for rare events (carrier frequency < 5 %) as the primary metric in `cn_validate_truth.py`.
2. Mosaic losses: phasing-based BAF (MoChA-style) is the principled fix for low fractions; until then consider a
minimum heterozygous-probe count for mosaic PASS calls.
3. Sensitivity for 25–500 kb events: per-probe LRR SD from the reference.
4. A final full-cohort run (cloud, ~$0.10, needs approval) once the above settle.