Builds a ranked, downloadable menu of candidate flanking SNP markers around a pathogenic variant, for PGT-M linkage and karyomapping. Syngamy then reads SNP arrays after an experiment and reports which parental genome is present, on which chromosomes, and across which regions within them. Progenitor reconstructs a parent's genotype from the haploid cells that parent produced, for when no array of the parent exists.
Research use only. Candidate markers require validation and per-family phasing in a qualified genetics laboratory. Not a clinical diagnostic.
Live at originmarker.app, and in parallel at ezrakruger.cc/originmarker.
Genotype files are read in the browser. There is no endpoint that receives one.
docker compose up -d --buildThen http://localhost:8091. No API keys are required; optional ones are listed in
deploy/README-deploy.md and the app degrades gracefully without them.
Without Docker:
python -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn app.main:app --reload
cd web && npm install && npm run devThe Syngamy analysis also runs standalone, with more than the page exposes:
python origin.py --father sperm.txt --samples embryo1.txt embryo2.txtexport PANELBUILDER_CACHE=tests/fixtures PANELBUILDER_CACHE_TTL=0
.venv/bin/python -m pytest tests/
cd web && npm run build && for f in src/*.check.ts; do node "$f"; doneOffline, against recorded API responses in tests/fixtures/. npm run build is tsc -b && vite build, and the -b is the typecheck: bare tsc has no inputs here and exits 0 regardless.
Method, scope, data sources and limitations: Documentation, Syngamy and Progenitor.
Version history and the bugs each release fixed: CHANGELOG.md.
Accuracy audit, 27 public arrays with bench-established answers: audit/.