dna-claude-analysis

Analyze your genetic data through conversation with Claude. Works with 23andMe, AncestryDNA, MyHeritage, Nebula, and other DNA testing services. Run...

DNA Analysis with Claude

Python 3.6+ Claude Code License: MIT GitHub stars

Analyze your genetic data through conversation with Claude. Works with 23andMe, AncestryDNA, MyHeritage, Nebula, and other DNA testing services. Run scripts, explore your genome, and get personalized explanations — all in natural dialogue.

Why Claude + DNA?

Traditional DNA analysis tools give you static reports. With Claude, you get:

  • Interactive exploration — Ask follow-up questions about any result
  • Plain English explanations — No need to Google every SNP
  • Cross-category insights — Connect findings across health, nutrition, ancestry
  • Personalized context — Discuss how results apply to your specific situation
  • Research deep-dives — Ask Claude to explain the science behind any marker

DNA Terminal Demo

Quick Start

  1. Export raw data from your DNA testing service (see Supported Services)
  2. Place the file in data/ folder
  3. Open Claude Code in this project directory
  4. Tell Claude: "Update scripts to use my genome file: data/your_filename.txt"
  5. Start chatting:
You: Run the health analysis script

Claude: *runs health_analysis.py, shows results*

You: What does my MTHFR status mean for daily life?

Claude: *explains your specific genotype and practical implications*

You: Should I be concerned about the APOE result?

Claude: *provides context, explains penetrance, suggests next steps*

Available Analysis Scripts

ScriptWhat it analyzes
health_analysis.pyCardiovascular, oncology, neurology, diabetes, pharmacogenomics
ancestry_analysis.pyEthnic markers, haplogroups, pigmentation genes
nutrition_analysis.pyLactose, gluten, caffeine, alcohol, vitamins metabolism
carrier_status_analysis.pyHereditary condition carrier status
cognitive_analysis.pyCognitive traits and predispositions
longevity_analysis.pyLongevity-associated variants
psychology_analysis.pyPsychological traits
sports_fitness_analysis.pyAthletic performance genetics
sleep_chronotype_analysis.pySleep patterns, circadian rhythm
immunity_analysis.pyImmune system markers
detoxification_analysis.pyDetox pathways, enzyme activity
skin_analysis.pySkin characteristics
vision_hearing_analysis.pySensory genetics
pain_sensitivity_analysis.pyPain perception
reproductive_analysis.pyReproductive health
physical_traits_analysis.pyPhysical characteristics

Example Conversations

Exploring Health Results

You: Run health analysis and tell me the most important findings

You: I see I have a variant in CYP2D6. What medications should I be careful with?

You: My doctor wants to prescribe codeine. Is that safe for my genotype?

Understanding Ancestry

You: Analyze my ancestry markers

You: What does the EDAR variant tell us about my ancestry?

You: How do my haplogroups connect to migration patterns?

Optimizing Nutrition

You: What does my genome say about coffee metabolism?

You: Based on my variants, what supplements might actually help me?

You: I'm lactose intolerant symptoms-wise. What does my genetics show?

Deep Dives

You: Explain the APOE gene and why it matters

You: What's the current research on rs1801133?

You: How reliable are these SNP associations? What's the evidence quality?

Generating Webpage

You: Run all analysis scripts

Claude: *runs 17 analysis scripts, generates reports/*

You: Generate DNA Terminal webpage

Claude: *reads reports, creates webpage/dna_terminal.html*

You: Open the webpage in browser

Claude: *opens file in default browser*

Full Pipeline (One Command)

You: Run complete DNA analysis pipeline — all scripts, then generate webpage

Project Structure

dna-claude-analysis/
├── data/
│   ├── README.md            # Instructions for data placement
│   └── your_genome.txt      # ← Put your DNA file here
├── scripts/
│   └── *_analysis.py        # Analysis scripts (17 categories)
├── reports/                 # Generated markdown reports
├── webpage/
│   ├── STYLE_GUIDE.md       # Terminal UI design system
│   └── dna_terminal.html    # ← Generated webpage
├── .claude/                 # Claude project settings
├── CLAUDE.md                # Project instructions for Claude
├── .gitignore               # Keeps your data private
└── README.md

Setup: Configuring Your Data File

Important: Before running scripts, you need to set the path to your genome file.

Just tell Claude:

You: Update all scripts to use my genome file: data/my_dna_file.txt

Claude will update the GENOME_FILE variable in all scripts automatically.

Option 2: Manual Setup

Each script has a GENOME_FILE variable at the top:

PYTHON
# In scripts/health_analysis.py (and other scripts)
GENOME_FILE = f"{BASE_PATH}/data/your_genome_file.txt"  # ← Change this

Replace with your actual filename:

PYTHON
GENOME_FILE = f"{BASE_PATH}/data/genome_John_Doe_v5_Full_20240101.txt"

How It Works

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  Your Genome    │ ──▶ │  Python Script  │ ──▶ │  Markdown Report│
│  (600K SNPs)    │     │  (analyze SNPs) │     │  (findings)     │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                                                        │
                                    ┌───────────────────┴───────────────────┐
                                    ▼                                       ▼
                           ┌─────────────────┐                     ┌─────────────────┐
                           │     Claude      │                     │  DNA TERMINAL   │
                           │  (explain,      │                     │  (interactive   │
                           │   contextualize,│                     │   webpage)      │
                           │   answer Qs)    │                     │                 │
                           └─────────────────┘                     └─────────────────┘

Generate Interactive Webpage

After running analysis scripts, Claude can generate a beautiful DNA Terminal webpage — a single-file HTML visualization with terminal/hacker aesthetic.

Quick Start

You: Generate DNA Terminal webpage from the reports

Claude: *reads all reports, creates webpage/dna_terminal.html*

What You Get

  • Single HTML file — No dependencies, works offline
  • Terminal aesthetic — Matrix-style green-on-black interface
  • Fixed navigation — Jump between sections
  • Color-coded risks — Green (good), amber (warning), red (risk)
  • Mobile responsive — Works on any device

Style Guide

See webpage/STYLE_GUIDE.md for complete design system:

  • Color palette and typography
  • Component library (tables, charts, findings)
  • Section structure and IDs
  • Build instructions

Complete Workflow

┌─────────────────────────────────────────────────────────────────────┐
│                     DNA ANALYSIS PIPELINE                           │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  STEP 1: DATA                                                       │
│  ─────────────────                                                  │
│  • Export raw DNA from 23andMe/Ancestry/etc                         │
│  • Place in data/ folder                                            │
│  • Tell Claude: "Use my file: data/genome.txt"                      │
│                                                                     │
│  STEP 2: ANALYSIS                                                   │
│  ─────────────────                                                  │
│  • "Run health analysis" — single script                            │
│  • "Run all analysis scripts" — full pipeline                       │
│  • Reports saved to reports/*.md                                    │
│                                                                     │
│  STEP 3: EXPLORE                                                    │
│  ─────────────────                                                  │
│  • Ask questions about any finding                                  │
│  • "What does my APOE status mean?"                                 │
│  • "How does this affect my diet?"                                  │
│                                                                     │
│  STEP 4: VISUALIZE                                                  │
│  ─────────────────                                                  │
│  • "Generate DNA Terminal webpage"                                  │
│  • Opens interactive HTML dashboard                                 │
│  • Terminal aesthetic with navigation                               │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Tips for Best Results

  1. Start broad, then narrow — Run a full analysis first, then ask about specific findings
  2. Ask "so what?" — Claude can explain practical implications, not just raw data
  3. Request comparisons — "How does my result compare to population averages?"
  4. Explore connections — "Could my sleep issues be related to any of these variants?"
  5. Verify important findings — Ask Claude about evidence quality and study sizes

Important Notes

  • Not medical advice — This is educational exploration, not diagnosis
  • Genetics ≠ destiny — Environment and lifestyle matter more for most traits
  • Consult professionals — For medical decisions, see a genetic counselor
  • Privacy first — Your genome data stays local on your machine

Requirements

  • Python 3.6+
  • Claude Code (or any Claude interface with file access)
  • Raw DNA data from any major testing service

Supported DNA Testing Services

Scripts work with raw data from multiple providers. Most use similar formats (rsID, chromosome, position, genotype).

Consumer Genotyping (~600K-700K SNPs)

ServiceCoverageRaw Data ExportNotes
23andMe~640K SNPsSettings → 23andMe Data → DownloadMost popular, good health reports
AncestryDNA~700K SNPsSettings → Download DNA DataBest for genealogy
MyHeritage DNA~700K SNPsDNA → Manage DNA kits → DownloadGood European coverage
FamilyTreeDNA~700K SNPsmyFTDNA → Download Raw DataY-DNA & mtDNA specialists
Living DNA~650K SNPsAccount → DownloadBest British Isles ancestry

Whole Genome Sequencing (WGS) — Full Coverage

ServiceCoveragePrice RangeNotes
Nebula Genomics30x WGS$250-300Privacy-focused, good reports
Dante Labs30x WGS$200-400European company
Sequencing.com30x WGS$200-400Good app ecosystem
Sano Genetics30x WGS~$300UK-based

Free / Research Options

ServiceTypeNotes
All of UsWGSNIH research program (US only)
Our Future HealthGenotypingUK research program
Genes for GoodGenotypingUniversity of Michigan (limited)

Where to Upload Existing Data

Already tested? Upload your raw data for additional analysis:

Getting Your Data

23andMe

  1. Log into 23andMe
  2. Settings → 23andMe Data → Download Raw Data
  3. Unzip and place in data/ folder

AncestryDNA

  1. Log into Ancestry
  2. DNA → Settings → Download DNA Data
  3. Confirm via email, download, place in data/

MyHeritage

  1. Log into MyHeritage
  2. DNA → Manage DNA kits → Actions → Download
  3. Place in data/ folder

Other Services

Most services: Account Settings → Download Raw Data → Place in data/

File Format

Scripts expect standard format (auto-detected):

# rsid          chromosome  position    genotype
rs4477212       1           82154       AA
rs3094315       1           752566      AG

Most services use this format. VCF files from WGS may need conversion (ask Claude for help).


Explore your genome through conversation. Ask Claude anything.