P6 complete: optional VCF fields, SNV+indel merging, auxiliary MNV loci, PLINK 2 .pgen
ci / test (3.12) (push) Failing after 8s
ci / test (3.13) (push) Failing after 10s

- gtc-to-vcf --info-fields ASSAY_TYPE,NORM_BIN,GENTRAIN,CLUSTER_SEP,ILMN_STRAND,PROBE_IDS (--egt) and
  --extra-format X,Y,NORMX,NORMY,THETA,R, in per-sample VCFs and the --merge BCF (OUT-012, plan §8.3);
  equal to gtc2vcf's values (THETA/R missing where both normalized intensities are 0, K-023)
- --merge-snv-indel (OUT-021, EDGE-013): alleles extended to the longest REF; SNV probes read the base at POS
- --auxiliary-loci (OUT-035, EDGE-015): rules (a)-(e), E_AUX_INVALID; rule (d) uses the last plus-strand base
  for minus-strand designs (spec amended, as GTCtoVCF)
- export plink --format bed|pgen|both: PLINK 2 fixed-width .pgen/.pvar/.psam; plink2 reads it back to a .bed
  byte-identical to ours
- cohort store keeps raw/normalized intensities for the BCF path; tests (unit + gtc2vcf oracle); docs

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
This commit is contained in:
kemalandClaude Opus 5.5 committed 2026-09-28 14:29:42 +01:00
1 parent 63bb40c4e5
commit 2e8478cc6a
13 files changed
+611 -50

No files matched your search

+4 -2
View File
@@ -1280,8 +1280,10 @@ about **algorithms or numerics**, the plan wins. Each such conflict found during
- (a) exactly one ALT (not multi-allelic);
- (b) it is an MNV: `len(REF) = len(ALT) ≥ 2` and REF ≠ ALT;
- (c) the probe is the **only** assay at the site (no duplicates);
- (d) the first bases, on the plus strand, of REF and ALT match the probe's designed alleles, one each (for
example, `ATGC[AT/CG]GTAA` designed as `ATGC[A/C]NNNN`: A ↔ AT, C ↔ CG), which fixes the allele mapping;
- (d) the bases the probe interrogates match the probe's designed alleles, one each, which fixes the allele
mapping: the **first** base of REF and ALT on the plus strand for plus-strand designs (for example,
`ATGC[AT/CG]GTAA` designed as `ATGC[A/C]NNNN`: A ↔ AT, C ↔ CG), the **last** base for minus-strand designs,
because the probe extends from the other side (as GTCtoVCF);
- (e) REF equals the FASTA.
The aux record replaces the probe's REF/ALT, and its genotype is mapped through (d). The final report's Top alleles