nutrigenomics

Generate a personalised nutrition report from your genetic data (23andMe, AncestryDNA, or VCF). Analyses 40+ genes affecting nutrient metabolism, absorption, and food sensitivities. All processing is local — your genetic data never leaves your device.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nutrigenomics" with this command: npx skills add drdaviddelorenzo/nutrigenomics

Nutrigenomics — Personalised Nutrition from Genetic Data

Skill ID: nutrigenomics Version: 0.3.1 Status: Beta Author: David de Lorenzo Requires: Python 3.11+, pandas, numpy, matplotlib, seaborn, reportlab (optional)


What This Skill Does

The Nutrigenomics generates a personalised nutrition report from consumer genetic data (23andMe, AncestryDNA raw files or VCF). It interrogates a curated set of nutritionally-relevant SNPs drawn from GWAS Catalog, ClinVar, and peer-reviewed nutrigenomics literature, then translates genotype calls into actionable dietary and supplementation guidance — all computed locally.

Key outputs

  • Markdown nutrition report with risk scores and per-SNP genotype calls
  • Radar chart of nutrient risk profile
  • Gene × nutrient heatmap
  • Reproducibility bundle (README_reproducibility.txt, environment.yml, checksums.txt, provenance.json)

Trigger Phrases

The Bio Orchestrator should route to this skill when the user says anything like:

  • "personalised nutrition", "nutrigenomics", "diet genetics"
  • "what should I eat based on my DNA"
  • "nutrient metabolism", "vitamin absorption genetics"
  • "MTHFR", "APOE", "FTO", "BCMO1", "VDR", "FADS1/2"
  • "folate", "omega-3", "vitamin D", "caffeine metabolism", "lactose", "gluten"
  • Input files: .txt or .csv (23andMe), .csv (AncestryDNA), .vcf

Curated SNP Panel

Macronutrient Metabolism

GeneSNPNutrient ImpactEvidence
FTOrs9939609Energy balance, fat mass, carb sensitivityStrong (GWAS)
PPARGrs1801282Fat metabolism, insulin sensitivityModerate
APOA5rs662799Triglyceride response to dietary fatStrong
TCF7L2rs7903146Carbohydrate metabolism, T2D riskStrong
ADRB2rs1042713Fat oxidation, exercise × diet interactionModerate

Micronutrient Metabolism

GeneSNPNutrientEffect of risk allele
MTHFRrs1801133Folate / B12↓ 5-MTHF conversion (~70%)
MTHFRrs1801131Folate / B12↓ enzyme activity (~30%)
MTRrs1805087B12 / homocysteine↑ homocysteine risk
BCMO1rs7501331Beta-carotene → Vitamin A↓ conversion (~50%)
BCMO1rs12934922Beta-carotene → Vitamin A↓ conversion (compound het)
VDRrs2228570Vitamin D absorption↓ VDR function
VDRrs731236Vitamin D↓ bone mineral density response
GCrs4588Vitamin D binding↑ deficiency risk
SLC23A1rs33972313Vitamin C transport↓ renal reabsorption
ALPLrs1256335Vitamin B6↓ alkaline phosphatase activity

Omega-3 / Fatty Acid Metabolism

GeneSNPNutrientEffect
FADS1rs174546LC-PUFA synthesis↑/↓ EPA/DHA from ALA
FADS2rs1535LC-PUFA synthesisModulates omega-6:omega-3 ratio
ELOVL2rs953413DHA synthesis↓ elongation of EPA→DHA
APOErs429358Saturated fat responseε4 → ↑ LDL-C on high SFA diet
APOErs7412Saturated fat responseCombined with rs429358 for ε typing

Caffeine & Alcohol

GeneSNPCompoundEffect
CYP1A2rs762551CaffeineSlow/Fast metaboliser
AHRrs4410790CaffeineModulates CYP1A2 induction
ADH1Brs1229984AlcoholAcetaldehyde accumulation risk
ALDH2rs671AlcoholAsian flush / toxicity risk

Food Sensitivities

GeneSNPSensitivityEffect
MCM6rs4988235Lactose intoleranceNon-persistence of lactase
HLA-DQ2Proxy SNPsCoeliac / glutenHLA-DQA1/DQB1 risk haplotypes

Antioxidant & Detoxification

GeneSNPPathwayEffect
SOD2rs4880Manganese SOD↓ mitochondrial antioxidant
GPX1rs1050450Selenium / GSH-Px↓ glutathione peroxidase
GSTT1DeletionGlutathione-S-transNull genotype → ↑ oxidative risk
NQO1rs1800566Coenzyme Q10↓ CoQ10 regeneration
COMTrs4680Catechol / B vitaminsMet/Val → methylation load

Algorithm

1. Input Parsing (parse_input.py)

Accepts:

  • 23andMe .txt or .csv (tab-separated: rsid, chromosome, position, genotype)
  • AncestryDNA .csv
  • Standard VCF (extracts GT field)

Auto-detects format from header lines. Normalises alleles to forward strand using a hard-coded reference table (avoids requiring external databases).

2. Genotype Extraction (extract_genotypes.py)

For each SNP in the panel:

  1. Look up rsid in parsed data
  2. Return genotype string (e.g. "AT", "TT", "AA")
  3. Flag as "NOT_TESTED" if absent (common for chip-to-chip variation)

3. Risk Scoring (score_variants.py)

Each SNP is scored on a 0 / 0.5 / 1.0 scale:

  • 0.0 — homozygous reference (lowest risk)
  • 0.5 — heterozygous
  • 1.0 — homozygous risk allele

Composite Nutrient Risk Scores (0–10) are computed per nutrient domain by summing weighted SNP scores. Weights are derived from reported effect sizes (beta coefficients or OR) in the primary literature.

Risk categories:

  • 0–3: Low risk — standard dietary advice applies
  • 3–6: Moderate risk — dietary optimisation recommended
  • 6–10: Elevated risk — consider testing and targeted supplementation

Important caveat: These are polygenic risk indicators based on common variants. They are not diagnostic. Rare pathogenic variants (e.g. MTHFR compound heterozygosity with high homocysteine) require clinical confirmation.

4. Report Generation (generate_report.py)

Outputs a structured Markdown report with:

  • Executive summary (top 3 personalised findings)
  • Per-nutrient sections: genotype table → interpretation → recommendation
  • Radar chart (matplotlib) of nutrient risk scores
  • Gene × nutrient heatmap (seaborn)
  • Supplement interactions table
  • Disclaimer section
  • Reproducibility block

5. Reproducibility Bundle (repro_bundle.py)

Exports to the output directory (not committed to the repo):

  • README_reproducibility.txt — step-by-step instructions to reproduce the analysis manually
  • environment.yml — pinned conda environment
  • checksums.txt — SHA-256 checksums of the SNP panel and output report (input file intentionally excluded to avoid persisting a fingerprint of genetic data)
  • provenance.json — timestamp, version, and format arguments (input filename intentionally omitted)

Note: No executable scripts are generated. The reproducibility bundle contains only text files for documentation and integrity verification.


Execution

To run the analysis on a user-provided genetic file, execute this command directly:

python {baseDir}/openclaw_adapter.py --input <path_to_genetic_file> --format auto

To run a demo without real genetic data (synthetic patient file included with the skill):

python {baseDir}/openclaw_adapter.py --input {baseDir}/tests/synthetic_patient.csv --format 23andme

{baseDir} is replaced by OpenClaw at runtime with the absolute path to this skill's folder. Do not substitute it manually. Output is written to a timestamped directory (nutrigenomics_output_YYYYMMDD_HHMMSS/) in the current working directory and persists until manually deleted.

Supported --format values: auto (default), 23andme, ancestry, vcf.

Usage

# From 23andMe raw data
openclaw "Generate my personalised nutrition report from genome.csv"

# From VCF
openclaw "Run Nutrigenomics analysis on variants.vcf and flag any folate pathway risks"

# Targeted query
openclaw "What does my APOE status mean for my saturated fat intake?"

# Run the demo report (no real genetic data needed)
openclaw "Run a demo nutrigenomics report using the synthetic patient file"

File Structure

skills/nutrigenomics/
├── SKILL.md                      ← this file (agent instructions)
├── nutrigenomics.py            ← main entry point
├── parse_input.py                ← multi-format parser
├── extract_genotypes.py          ← SNP lookup engine
├── score_variants.py             ← risk scoring algorithm
├── generate_report.py            ← Markdown + figures
├── repro_bundle.py               ← reproducibility export
├── data/
│   └── snp_panel.json            ← curated SNP definitions
├── tests/
│   ├── synthetic_patient.csv     ← fixed 23andMe-format test data (for pytest)
│   └── test_nutrigenomics.py           ← pytest suite
└── examples/
    ├── generate_patient.py       ← random patient generator (demo use)
    ├── data/                     ← generated patient files land here (gitignored)
    └── output/
        ├── nutrigenomics_report.md     ← pre-rendered demo report
        ├── nutrigenomics_radar.png     ← demo radar chart (nutrient risk profile)
        └── nutrigenomics_heatmap.png   ← demo gene × nutrient heatmap

Note: Runtime output directories and randomly generated patient files are excluded from version control. Only the pre-rendered demo report in examples/output/ is committed.


Privacy

All computation runs locally — no genetic data is ever transmitted to external servers or third-party services.

What the report contains: The Markdown report includes per-SNP genotype calls (e.g. AT, TT) for each of the 58 panel SNPs analysed. This is intentional: knowing your specific genotype at each nutrition-related locus is what makes the report actionable. Full raw genome data from the input file is not reproduced in the report; only the 58 panel SNPs are included.

File persistence: Output files (report, figures, reproducibility bundle) are written to a timestamped nutrigenomics_output_YYYYMMDD_HHMMSS/ directory under the working directory and persist on disk until manually deleted. The input file is read-only and is never copied into the output directory.

If you are running this skill on behalf of others or in a shared environment, delete the output directory once the user has downloaded their results.


Limitations & Disclaimer

  1. Not a medical device. This skill provides educational, research-oriented nutrigenomics analysis. It does not constitute medical advice.
  2. Common variants only. The panel covers SNPs with MAF > 1% in at least one major population. Rare pathogenic variants are out of scope.
  3. Population context. Effect sizes are predominantly derived from European GWAS cohorts. Risk estimates may not generalise equally across all ancestries.
  4. Gene–environment interaction. Genetic risk scores interact with baseline diet, lifestyle, microbiome, and epigenetic state. A "high risk" score does not mean a nutrient deficiency is present — it means the individual may benefit from monitoring.
  5. Simpson's Paradox note. Population-level associations used to derive weights may not reflect individual trajectories (see Corpas 2025, Nutrigenomics and the Ecological Fallacy).

Roadmap

  • v0.2: Microbiome × genotype interaction module (16S rRNA input)
  • v0.3: Longitudinal tracking — compare reports across time
  • v0.4: HLA typing for immune-mediated food reactions (coeliac, gluten sensitivity)
  • v1.0: Multi-omics integration (metabolomics + genomics + dietary recall)

References

This skill's SNP panel and methodology are informed by peer-reviewed nutrigenomics research. For verification and additional details, consult:

Users are encouraged to verify specific claims through these authoritative sources and with qualified healthcare providers.


Contributing

The SNP panel (data/snp_panel.json) is maintained by the skill author. To suggest additions or corrections, contact David de Lorenzo directly via GitHub (@drdaviddelorenzo) or open an issue on GitHub.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Health Copilot: Eating, Sleep, and Exercise Tracking

帮助记录每餐摄入、睡眠质量以及运动锻炼恢复情况,并提供参考建议;可配合自动化工作流将识别结果写入飞书表格并生成图表视图,并支持每日营养评估提醒与每周健康综合评估报告。 Track meals, sleep quality, exercise, and recovery with practical guidanc...

Registry SourceRecently Updated
510Profile unavailable
General

Health Management

健康管理助手 - 基于十本畅销健康书籍共识的数据驱动健康管理系统。**快速暗号**: 健康记录、饮食分析、健康评分、周报、月报。**自然触发**: 记录饮食、查询营养、分析健康状况、补剂管理。支持多语言、多用户、时区自动识别。

Registry SourceRecently Updated
5691Profile unavailable
General

个人健康教练

Personal health coach for gym and daily reminders with weather-aware outfit suggestions.

Registry SourceRecently Updated
970Profile unavailable
General

Sahabat Bumil 🤰

Panduan kehamilan lengkap untuk ibu hamil Indonesia dengan info nutrisi, perkembangan janin, kesehatan, persiapan melahirkan, dan perencanaan biaya lokal.

Registry SourceRecently Updated
1501Profile unavailable