Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) — 12 genes, 31 SNPs, 51 drugs
.claude/skills/clawbio-pharmgx-reporter/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 870% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -3% | 0% |
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.
--drug flag for quick lookup of one medication (used by Drug Photo skill)| 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 | — |
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.
report.md with gene profile table, drug summary, and clinical alertsbash# 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>
bashpython 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).
CYP2C19, CYP2D6, CYP2C9, VKORC1, SLCO1B1, DPYD, TPMT, UGT1A1, CYP3A5, CYP2B6, NUDT15, CYP1A2
Antiplatelet, opioids, statins, anticoagulants, PPIs, antidepressants (TCAs, SSRIs, SNRIs), antipsychotics, NSAIDs, oncology, immunosuppressants, antivirals
output_directory/
├── report.md # Full pharmacogenomic report
├── result.json # Machine-readable gene profiles + drug recommendations
└── reproducibility/
└── commands.sh # Exact command to reproduceRequired:
Trigger conditions — the orchestrator routes here when:
Chaining partners:
drug-photo: Single-drug mode powers the photo → dosage card pipelineprofile-report: PharmGx results feed into the unified genomic profileclinpgx: ClinPGx provides deeper gene-drug lookup when the user wants more detailOther measured skills in the registry, with their headline benchmark lift.