Skip to content

AlexBella365/OpenDNA

 
 

Repository files navigation

OpenDNA

Local-first precision-medicine synthesis for consumer DNA files. Your raw data stays on your machine.

CI License: Apache 2.0 Python 3.11+

Parses a 23andMe / AncestryDNA / MyHeritage raw DNA file against 12 SNP panels, cross-references findings with ClinVar + PharmGKB/CPIC annotations, and renders a self-contained HTML report. Optional LLM synthesis (Ollama, LM Studio, Anthropic, OpenAI) adds prose interpretation and report Q&A.

Privacy — what leaves your machine

  1. Your raw DNA file never leaves your machine. Parsing, panel matching, and annotation all happen on localhost.
  2. LLM calls are opt-in and send only filtered findings (gene, rsid, genotype, tier, note) — never raw DNA. Local providers (Ollama, LM Studio) need no API key. Remote providers (Anthropic, OpenAI) only receive data after you paste a key.
  3. No telemetry, no accounts, no persistence. API keys are held in memory for one call then discarded.

Quickstart

git clone https://github.com/AlexBella365/OpenDNA.git
cd OpenDNA
uv sync --all-extras --dev
source .venv/bin/activate
opendna serve           # http://localhost:8787

Upload your raw DNA file, pick panels, optionally configure an LLM, and click Generate report.

What OpenDNA interprets

Panel Focus Key genes
Cardiovascular & Longevity CAD risk, thrombosis, lifespan APOE, 9p21, FOXO3, F5
Methylation & Detox Folate/B12 cycle MTHFR, COMT, MTR/MTRR, CBS, VDR
Pharmacogenomics (PGx) Drug metabolism CYP2C19, CYP2C9, VKORC1, DPYD, TPMT
Athletic Performance Fiber type, recovery ACTN3, PPARA, PPARGC1A, COL5A1
Dietary Sensitivity Lactose, caffeine, alcohol LCT, CYP1A2, ALDH2, ADH1B, FADS1
Eye Health & AMD Macular degeneration CFH, ARMS2, C3
Iron Metabolism (HFE) Hemochromatosis C282Y, H63D, S65C
Histamine Handling Exploratory DAO/HNMT AOC1, HNMT
Nicotine Dependence Smoking reinforcement CHRNA5, CHRNA3
Vitamin D & Bone Low-25(OH)D tendency DHCR7, CYP2R1, GC, VDR
Cognition & Mood Plasticity, dopamine BDNF, DRD2, OXTR
Stimulant Sensitivity Caffeine/adenosine ADORA2A, CYP1A2, COMT

The analyzer handles allele-order variations (AG == GA) and reverse-strand reports automatically.

Sample report

Sample OpenDNA report

Generated from a synthetic DNA fixture through the full pipeline. No personal data embedded.

Headless (CLI)

opendna scan ~/Downloads/genome.txt
opendna scan ~/Downloads/genome.txt --panels pharmacogenomics methylation
opendna update-db

Troubleshooting

Problem Fix
port already in use opendna serve --port 9000
Report hangs on "Calling …" LLM calls take 10–30s. Check API key is valid.
Local provider unreachable Start Ollama / LM Studio and confirm the server URL.
Many unknown findings Normal — consumer arrays cover ~700K of 3B possible positions.

Roadmap

  • v0.2 — chat-with-your-genome, PDF export.
  • v0.3 — VCF / WGS input.
  • v0.4 — polygenic risk scores.

Data sources

  • ClinVar — NIH, public domain.
  • PharmGKB / CPIC — CC BY-SA 4.0.
  • SNP interpretations — author's own curation from peer-reviewed literature.

Built by Peter Corbett. Apache 2.0 license.
Modified by Alexandre Bellaiche

About

Local-first precision-medicine synthesis for consumer DNA files (23andMe / AncestryDNA / MyHeritage). Apache 2.0.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 64.0%
  • Swift 11.0%
  • Jinja 8.5%
  • JavaScript 8.4%
  • CSS 3.7%
  • HTML 2.5%
  • Other 1.9%