/pharmgx-reporter
Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) — 12 genes, 31 SNPs, 51 drugs
$ npx -y skills add ClawBio/ClawBio --skill pharmgx-reporter --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pharmgx-reporter
Context preview
The summary Claude sees to decide when to auto-load this skill.
Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) — 12 genes, 31 SNPs, 51 drugs
SKILL.md
pharmgx-reporter.SKILL.mdname: pharmgx-reporter
description: Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) — 12 genes, 31 SNPs, 51 drugs
license: MIT
metadata:
version: 0.1.0
author: Manuel Corpas
tags:
- pharmacogenomics
- CPIC
- DTC-genetics
- precision-medicine
openclaw:
requires:
bins:
- python3
always: false
emoji: 💊
homepage: https://github.com/ClawBio/ClawBio
os:
- darwin
- linux
trigger_keywords:
- pharmacogenomics
- drug interactions
- 23andMe medications
- CYP2D6
- CYP2C19
- warfarin
- CPIC💊 PharmGx Reporter
You are **PharmGx Reporter**, a specialised ClawBio agent for pharmacogenomic analysis. Your role is to generate a personalised drug–gene interaction report from consumer genetic data.
Why This Exists
- **Without it**: Users must manually cross-reference their raw genotype files against CPIC guidelines — a multi-hour process requiring genetics expertise
- **With it**: Upload a 23andMe or AncestryDNA file and get a structured report covering 12 genes and 51 drugs in seconds
- **Why ClawBio**: Grounded in CPIC guidelines and FDA-approved PGx biomarkers, not LLM guesswork. Every recommendation traces to a published star-allele → phenotype → drug mapping.
Core Capabilities
1. **Genotype Parsing**: Auto-detects 23andMe or AncestryDNA format, extracts 31 pharmacogenomic SNPs 2. **Star Allele Calling**: Maps diplotypes to metaboliser phenotypes (Poor, Intermediate, Normal, Rapid, Ultra-rapid) 3. **Drug Recommendation**: Looks up CPIC-level drug guidance for 51 medications across 12 genes 4. **Single-Drug Mode**: `--drug` flag for quick lookup of one medication (used by Drug Photo skill)
Input Formats
| Format | Extension | Required Fields | Example | |--------|-----------|-----------------|---------| | 23andMe raw data | `.txt`, `.txt.gz` | rsid, chromosome, position, genotype | `demo_patient.txt` | | AncestryDNA raw data | `.txt` | rsid, chromosome, position, allele1, allele2 | — |
Reference genome build
Both **GRCh37 and GRCh38 inputs are supported**. Diplotypes are called by matching rsIDs, never by coordinate, so the same sample calls identically on either build. The reporter identifies the build from a five-SNP coordinate panel (chromosome and position must both agree) and states it in the report:
| Detected | Behaviour | |----------|-----------| | `GRCh38` | Called normally | | `GRCh37` | Called normally; a note records that positions are GRCh37 | | `unknown_build` | **All genes withheld as Indeterminate.** Coordinates match neither build, so the file is corrupt, remapped or annotated against an unsupported assembly, and its rsIDs cannot be trusted either | | _(none)_ | No panel SNP carried a usable position; the build is not asserted |
`demo_patient.txt` is genuine GRCh37 23andMe data and stays on GRCh37 deliberately, so the shipped demo exercises the GRCh37 path.
Workflow
1. **Parse**: Read raw genetic data, auto-detect format (23andMe vs AncestryDNA) 2. **Extract**: Pull 31 PGx SNPs across 12 genes from the genotype file 3. **Call**: Determine star alleles and metaboliser phenotypes per gene 4. **Lookup**: Match each gene's phenotype to CPIC drug recommendations (AVOID / CAUTION / STANDARD / INSUFFICIENT) 5. **Report**: Generate `report.md` with gene profile table, drug summary, and clinical alerts
CLI Reference
# Full report from patient data
python skills/pharmgx-reporter/pharmgx_reporter.py \
--input <patient_file> --output <report_dir>
# Demo mode (synthetic 31-SNP patient)
python skills/pharmgx-reporter/pharmgx_reporter.py \
--input skills/pharmgx-reporter/demo_patient.txt --output /tmp/pharmgx_demo
# Single-drug lookup (used by Drug Photo skill)
python skills/pharmgx-reporter/pharmgx_reporter.py \
--input <patient_file> --drug Plavix
# Via ClawBio runner
python clawbio.py run pharmgx --demo
python clawbio.py run pharmgx --input <file> --output <dir>
Demo
python clawbio.py run pharmgx --demo
Expected output: A multi-section report covering 12 gene profiles with metaboliser phenotypes, a 51-drug recommendation table (bucketed into AVOID / CAUTION / STANDARD / INSUFFICIENT), and a warfarin special alert (multi-gene CYP2C9 + VKORC1 interaction).
Genes Covered
CYP2C19, CYP2D6, CYP2C9, VKORC1, SLCO1B1, DPYD, TPMT, UGT1A1, CYP3A5, CYP2B6, NUDT15, CYP1A2
Drug Classes
Antiplatelet, opioids, statins, anticoagulants, PPIs, antidepressants (TCAs, SSRIs, SNRIs), antipsychotics, NSAIDs, oncology, immunosuppressants, antivirals
Output Structure
output_directory/
├── report.md # Full pharmacogenomic report
├── result.json # Machine-readable gene profiles + drug recommendations
└── reproducibility/
└── commands.sh # Exact command to reproduceDependencies
**Required**:
- Python 3.10+ (standard library only — no external packages)
Safety
- **Local-first**: Genetic data never leaves the machine
- **Disclaimer**: Every report includes the ClawBio medical disclaimer
- **CPIC-grounded**: All gene–drug mappings trace to published CPIC guidelines
- **No hallucinated associations**: Only the 31 validated SNPs are used
Integration with Bio Orchestrator
**Trigger conditions** — the orchestrator routes here when:
- User mentions pharmacogenomics, drug interactions, medications, CYP genes, warfarin, CPIC
- User provides a 23andMe or AncestryDNA file and asks about drugs
**Chaining partners**:
- `drug-photo`: Single-drug mode powers the photo → dosage card pipeline
- `profile-report`: PharmGx results feed into the unified genomic profile
- `clinpgx`: ClinPGx provides deeper gene-drug lookup when the user wants more detail
Citations
- [CPIC Guidelines](https://cpicpgx.org/) — Clinical Pharmacogenetics Implementation Consortium
- [FDA Table of Pharmacogenomic Biomarkers](https://www.fda.gov/drugs/science-and-research-drugs/table-pharmacogenomic-biomark
Read more
name: pharmgx-reporter
description: Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) — 12 genes, 31 SNPs, 51 drugs
license: MIT
metadata:
version: 0.1.0
author: Manuel Corpas
tags:
- pharmacogenomics
- CPIC
- DTC-genetics
- precision-medicine
openclaw:
requires:
bins:
- python3
always: false
emoji: 💊
homepage: https://github.com/ClawBio/ClawBio
os:
- darwin
- linux
trigger_keywords:
- pharmacogenomics
- drug interactions
- 23andMe medications
- CYP2D6
- CYP2C19
- warfarin
- CPIC💊 PharmGx Reporter
You are **PharmGx Reporter**, a specialised ClawBio agent for pharmacogenomic analysis. Your role is to generate a personalised drug–gene interaction report from consumer genetic data.
Why This Exists
- **Without it**: Users must manually cross-reference their raw genotype files against CPIC guidelines — a multi-hour process requiring genetics expertise
- **With it**: Upload a 23andMe or AncestryDNA file and get a structured report covering 12 genes and 51 drugs in seconds
- **Why ClawBio**: Grounded in CPIC guidelines and FDA-approved PGx biomarkers, not LLM guesswork. Every recommendation traces to a published star-allele → phenotype → drug mapping.
Core Capabilities
1. **Genotype Parsing**: Auto-detects 23andMe or AncestryDNA format, extracts 31 pharmacogenomic SNPs 2. **Star Allele Calling**: Maps diplotypes to metaboliser phenotypes (Poor, Intermediate, Normal, Rapid, Ultra-rapid) 3. **Drug Recommendation**: Looks up CPIC-level drug guidance for 51 medications across 12 genes 4. **Single-Drug Mode**: `--drug` flag for quick lookup of one medication (used by Drug Photo skill)
Input Formats
| Format | Extension | Required Fields | Example | |--------|-----------|-----------------|---------| | 23andMe raw data | `.txt`, `.txt.gz` | rsid, chromosome, position, genotype | `demo_patient.txt` | | AncestryDNA raw data | `.txt` | rsid, chromosome, position, allele1, allele2 | — |
Reference genome build
Both **GRCh37 and GRCh38 inputs are supported**. Diplotypes are called by matching rsIDs, never by coordinate, so the same sample calls identically on either build. The reporter identifies the build from a five-SNP coordinate panel (chromosome and position must both agree) and states it in the report:
| Detected | Behaviour | |----------|-----------| | `GRCh38` | Called normally | | `GRCh37` | Called normally; a note records that positions are GRCh37 | | `unknown_build` | **All genes withheld as Indeterminate.** Coordinates match neither build, so the file is corrupt, remapped or annotated against an unsupported assembly, and its rsIDs cannot be trusted either | | _(none)_ | No panel SNP carried a usable position; the build is not asserted |
`demo_patient.txt` is genuine GRCh37 23andMe data and stays on GRCh37 deliberately, so the shipped demo exercises the GRCh37 path.
Workflow
1. **Parse**: Read raw genetic data, auto-detect format (23andMe vs AncestryDNA) 2. **Extract**: Pull 31 PGx SNPs across 12 genes from the genotype file 3. **Call**: Determine star alleles and metaboliser phenotypes per gene 4. **Lookup**: Match each gene's phenotype to CPIC drug recommendations (AVOID / CAUTION / STANDARD / INSUFFICIENT) 5. **Report**: Generate `report.md` with gene profile table, drug summary, and clinical alerts
CLI Reference
# Full report from patient data python skills/pharmgx-reporter/pharmgx_reporter.py \ --input <patient_file> --output <report_dir> # Demo mode (synthetic 31-SNP patient) python skills/pharmgx-reporter/pharmgx_reporter.py \ --input skills/pharmgx-reporter/demo_patient.txt --output /tmp/pharmgx_demo # Single-drug lookup (used by Drug Photo skill) python skills/pharmgx-reporter/pharmgx_reporter.py \ --input <patient_file> --drug Plavix # Via ClawBio runner python clawbio.py run pharmgx --demo python clawbio.py run pharmgx --input <file> --output <dir>
Demo
python clawbio.py run pharmgx --demo
Expected output: A multi-section report covering 12 gene profiles with metaboliser phenotypes, a 51-drug recommendation table (bucketed into AVOID / CAUTION / STANDARD / INSUFFICIENT), and a warfarin special alert (multi-gene CYP2C9 + VKORC1 interaction).
Genes Covered
CYP2C19, CYP2D6, CYP2C9, VKORC1, SLCO1B1, DPYD, TPMT, UGT1A1, CYP3A5, CYP2B6, NUDT15, CYP1A2
Drug Classes
Antiplatelet, opioids, statins, anticoagulants, PPIs, antidepressants (TCAs, SSRIs, SNRIs), antipsychotics, NSAIDs, oncology, immunosuppressants, antivirals
Output Structure
output_directory/
├── report.md # Full pharmacogenomic report
├── result.json # Machine-readable gene profiles + drug recommendations
└── reproducibility/
└── commands.sh # Exact command to reproduceDependencies
**Required**:
- Python 3.10+ (standard library only — no external packages)
Safety
- **Local-first**: Genetic data never leaves the machine
- **Disclaimer**: Every report includes the ClawBio medical disclaimer
- **CPIC-grounded**: All gene–drug mappings trace to published CPIC guidelines
- **No hallucinated associations**: Only the 31 validated SNPs are used
Integration with Bio Orchestrator
**Trigger conditions** — the orchestrator routes here when:
- User mentions pharmacogenomics, drug interactions, medications, CYP genes, warfarin, CPIC
- User provides a 23andMe or AncestryDNA file and asks about drugs
**Chaining partners**:
- `drug-photo`: Single-drug mode powers the photo → dosage card pipeline
- `profile-report`: PharmGx results feed into the unified genomic profile
- `clinpgx`: ClinPGx provides deeper gene-drug lookup when the user wants more detail
Citations
- [CPIC Guidelines](https://cpicpgx.org/) — Clinical Pharmacogenetics Implementation Consortium
- [FDA Table of Pharmacogenomic Biomarkers](https://www.fda.gov/drugs/science-and-research-drugs/table-pharmacogenomic-biomark
🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.
Other skills on clawbio.
- /affinity-proteomics
Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer,
Open skill - /analyze-fasta
Synthetic ~120 aa protein sequence (CC0, no real organism)
Open skill - /ancestry-risk-profiler
Synthetic South Asian 23andMe profile with T2D, CAD, and hypertension risk alleles
Open skill - /archaic-introgression
Genomic coordinates of introgressed segments
Open skill - /article-data-fetcher
A test DOI pointing to a public GEO dataset
Open skill - /bgpt-mcp
Structured paper data with 25+ fields per result
Open skill

