kemal 8cd092460f P1: file parsers, sample sheet, discovery, CLI inspect
Readers for IDAT v3, BPM (locus entries v4-v8), CSV manifest, EGT
(data blocks 5-9) and GTC v3-v5 (plus a layout-preserving GTC writer);
sample-sheet validation (IN-001..IN-014), IDAT discovery and pairing
(IN-020..IN-022), message catalogue and exit codes (CLI-014/016),
JSON Lines logging (CLI-007/008), atomic writes (CLI-011), run manifest,
and `simurg inspect`.

Validation (docs/validation/P1.md): GTC, BPM and EGT readers agree
exactly with Illumina BeadArrayFiles on GSA v4 / GDA v1 files; GTCs
round-trip byte-identically; BPM and CSV manifests are consistent.
2026-09-27 16:56:39 +01:00

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) and P1 (file parsers) are complete — see docs/validation/P1.md. Available commands: simurg version, simurg inspect <files…> [--json].

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.

S
Description
SimurgArray — personal research toolkit for Illumina Infinium genotyping arrays (IDAT→GTC→VCF, QC, CN, PGx)
Readme MIT
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%