Phase 0 deliverables: full technical specification and roadmap (SIMURGARRAY_MASTER_PLAN.md), CLAUDE.md, bootstrap script for reference open-source repos and tiered dataset fetch script with checksums. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
18 lines
1.1 KiB
Markdown
18 lines
1.1 KiB
Markdown
# SimurgArray
|
|
Personal research toolkit for Illumina Infinium genotyping arrays (IDAT→GTC→VCF, QC, CN, PGx).
|
|
The full spec and roadmap is SIMURGARRAY_MASTER_PLAN.md — read the relevant section before changing code.
|
|
|
|
## Rules
|
|
- Work phase by phase (§18). Don't start a phase until the previous gate passes.
|
|
- Science modules (signal/, genotype/, cn/, qc/, pgx/) are pure functions; no I/O inside them.
|
|
- Every algorithm cites its source (§7 tags) in its docstring.
|
|
- MIT/BSD/Apache/Unlicense code may be ported with attribution in THIRD_PARTY_NOTICES.md.
|
|
GPL tools (plink2, illuminaio, verifyIDintensity) = subprocess oracles only; never copy their code.
|
|
- Never commit vendor data (BPM/CSV/EGT/IDAT) — only tests/fixtures/ (Artistic-2.0 Bioconductor files, synthetic data).
|
|
- Never hide oracle discrepancies; record them in docs/known_unknowns.md.
|
|
- Default mode is bit-exact vs Illumina-produced GTCs; keep a clean-math mode too.
|
|
|
|
## Commands
|
|
- uv sync ; uv run pytest -q ; uv run ruff check . ; uv run mypy src
|
|
- bash scripts/fetch_data.sh p0|p1|p2 ; bash scripts/bootstrap_refs.sh
|