Pharmacogenomic analysis — determines how you metabolize drugs based on your DNA using PharmCAT, a widely used research tool developed by CPIC/PharmGKB. Note: PharmCAT is a research tool, not a clinically validated diagnostic. Results should be confirmed by a certified laboratory before making prescribing decisions.
Identifies which drugs work well, which need dose adjustments, and which to avoid entirely. Covers 23 pharmacogenes affecting hundreds of medications.
docs/lessons-learned.md for migration notes (preprocessor rename, reporter flags, JSON property changes).pgkb/pharmcat:3.2.0
SAMPLE=your_sample
GENOME_DIR=/path/to/your/data
# Step 1: preprocess the VCF against the GRCh38 reference
docker run --rm \
--cpus 2 --memory 4g \
-v ${GENOME_DIR}/${SAMPLE}/vcf:/data \
-v ${GENOME_DIR}/reference:/ref \
pgkb/pharmcat:3.2.0 \
python3 /pharmcat/pharmcat_vcf_preprocessor \
-vcf /data/${SAMPLE}.vcf.gz \
-refFna /ref/Homo_sapiens_assembly38.fasta \
-o /data/ \
-bf ${SAMPLE}
# Step 2: run PharmCAT on the preprocessed VCF
docker run --rm \
--cpus 2 --memory 4g \
-v ${GENOME_DIR}/${SAMPLE}/vcf:/data \
pgkb/pharmcat:3.2.0 \
java -jar /pharmcat/pharmcat.jar \
-vcf /data/${SAMPLE}.preprocessed.vcf.bgz \
-o /data/ \
-bf ${SAMPLE} \
-reporterJson \
-reporterHtml
${SAMPLE}.report.json)${SAMPLE}.preprocessed.vcf.bgz) generated as an intermediate| Gene | Drugs Affected | Example | |—|—|—| | CYP2C19 | SSRIs, PPIs, clopidogrel | 1/17 = rapid → SSRIs fail faster | | CYP2D6 | 25% of all drugs, opioids, tamoxifen | Complex — may need BAM-based calling | | UGT1A1 | Irinotecan, bilirubin clearance | 28/28 = Gilbert’s syndrome | | DPYD | 5-FU, capecitabine (chemo) | Poor = lethal toxicity | | NAT2 | Isoniazid, hydralazine | Slow acetylator = increased toxicity |
Not called — gene has pseudogene homology that confounds VCF-based calling. Use Cyrius or StellarPGx (BAM-based) if CYP2D6 is critical.27-cpic-lookup.sh) because it parses the JSON output directly.pgkb/pharmcat:3.2.0 for reproducibility. Upgraded from 2.15.5 in v0.3.0 (Apr 2026). Breaking changes in the 3.x series are documented in docs/lessons-learned.md.