7fb3967c3f4fff3e833ad2636ffe5a74dd62b1e7
- tests/unit/test_genotype.py: fuzzy memberships incl. NaN rules, calls at cluster centres, intensity threshold, BAF/LRR interpolation and NaN pattern, LogR-dev locus set, sex rules v1/v2, TOP-strand base calls, invariant dates, end-to-end `simurg genotype` (summary schema, pass-through columns, thread/layout determinism, overwrite refusal) - tests/oracle/test_p4_genotype.py: 36 GSA samples x 2 versions byte-identical to the oracle - scripts/validate_p4_large.py + cloud task p4: compare every vendor GTC field by field and as whole files; reports which sex rule matches
SimurgArray
Personal research toolkit for Illumina Infinium genotyping BeadChip data (IDAT → normalization → genotype calling → BAF/LRR → QC → VCF/PLINK; later CN/LOH, PGx, cluster training).
- SIMURGARRAY_MASTER_PLAN.md — architecture, algorithms, roadmap
- SIMURGARRAY_FUNCTIONAL_SPEC.md — 416 itemised requirements (CLI, inputs, outputs, QC, CN, PGx, methylation, edge cases)
docs/validation/— per-phase validation reports ·docs/known_unknowns.md— findings log ·docs/research/— background
Status
Phases P0 (setup), P1 (file parsers), P2 (canonical model, raw X/Y) and P3 (normalization) are
complete — see docs/validation/. Each is validated on 2141 vendor GTCs of the 1000 Genomes Omni2.5 set
(normalization transforms bit-identical).
Available commands: simurg version, simurg inspect <files…> [--json], simurg ingest, simurg normalize.
Quick start
uv venv && uv pip install -e ".[dev]"
uv run pytest tests/unit # no downloads needed
bash scripts/bootstrap_refs.sh # reference open-source repos → refs/ (oracles)
bash scripts/fetch_data.sh p0 # ~1.4 GB of public test data → data/
bash scripts/make_oracle_gtcs.sh # builds gtc2vcf, writes oracle GTCs
uv run pytest tests/oracle # real-data acceptance tests (add -m "not slow" to skip the long ones)
uv run simurg inspect data/p0/gsa_v4_pgx/idats_Demo_36/idats_Demo_36/207895980019/207895980019_R03C01_Grn.idat
Vendor data files are downloaded for personal research use only and are never committed. See THIRD_PARTY_NOTICES.md.
Description
SimurgArray — personal research toolkit for Illumina Infinium genotyping arrays (IDAT→GTC→VCF, QC, CN, PGx)
6.2 MiB
0 Stars
1 Watchers
0 Forks
Languages
Python
89.8%
Shell
3.9%
JavaScript
3.5%
Rust
2.1%
CSS
0.3%
Other
0.3%