What a Pharmacogenetics Report Tells You, and How to Generate One From Your Own Genome
A pharmacogenetics report is a table that maps your genotype at a small set of drug-metabolism and drug-transport genes onto a predicted enzyme activity phenotype, and then onto guideline language about how people with that phenotype have responded to specific drugs. It is a lookup. It does not measure your body’s response to anything. The report’s quality depends almost entirely on two things: whether the assay called the right star alleles (the standardized haplotype names used in pharmacogenetics, like CYP2C19*2), and whether the gene in question has enough published evidence to support a phenotype assignment at all. For a handful of gene-drug pairs the evidence is strong and consistent. For most of the 100-plus drugs on consumer panels, it is thin. Everything below is about how to tell the two apart in your own data.
Pharmacogenetics versus pharmacogenomics
The terms have a real history and a mostly-dissolved distinction. Pharmacogenetics, the older word, described the study of single-gene variation in drug response. It typically concerned one enzyme and one drug, and it grew out of mid-century observations of inherited differences in drug metabolism. Pharmacogenomics arrived with the genome projects and described genome-wide approaches, including drug target discovery and expression-level effects. Its scope was not limited to inherited metabolic differences 1. The shift in vocabulary tracked a shift in who was doing the work and why: the newer term was adopted partly to align the field with the funding and industrial momentum of genomics 2.
In present usage the words are interchangeable in most sentences, and regulatory documents use both 3. We use “pharmacogenetics” when talking about star-allele calling in a defined gene set and “pharmacogenomics” when talking about the broader question of how molecular data predicts drug response. If a report you receive uses one word or the other, read no meaning into the choice.
The gene set that carries most of the signal
A useful report covers a short list.
CYP2D6CYP2C19CYP2C9CYP3A4/CYP3A5CYP2B6DPYDTPMTNUDT15UGT1A1SLCO1B1VKORC1NAT2HLA-B(specifically*57:01and*15:02)HLA-A*31:01
These are the genes where variant-to-phenotype mapping has been curated across many studies and where the effect sizes on drug exposure are large enough to matter clinically. Roughly one in four to one in three prescriptions in general practice involves a drug with a known pharmacogenetic interaction, which is why panels covering a dozen genes have a surprisingly wide reach 4.
Targeted sequencing panels built specifically for this purpose make the scope explicit. ClinPharmSeq, for instance, sequences 59 pharmacogenes. It reports that a panel this size assigns a non-normal metabolizer phenotype in the large majority of individuals tested. That happens because rare functional variants are common in aggregate even when each one is individually rare 5. That is the single most useful number to hold onto: the interesting finding is usually not a common star allele you share with a third of the population, but a rare variant your array-based test never looked for.
Why array-based reports miss things, and why WGS is the right substrate
Consumer array products genotype a fixed set of probe positions. If your functional variant is not on the chip, it does not exist as far as the report is concerned, and the report will assign you a wild-type diplotype by default. The wild-type default is the core failure mode of array pharmacogenetics: absence of evidence is silently rendered as *1/*1, normal metabolizer. Third-party services that re-interpret raw 23andMe or AncestryDNA files inherit this problem exactly and cannot fix it, because the missing data was never collected.
Whole-genome sequencing changes the situation because it interrogates every position, including the rare and novel coding variants that dominate aggregate functional burden. Analyses of WGS-derived pharmacogenomic profiles recover far more functionally relevant variation per individual than panel genotyping does, including variants with no prior star-allele assignment 6. Retrospective work linking WGS to prescribing records in patient cohorts finds actionable pharmacogenetic findings that routine panel testing would have missed, and does so using genome data that had already been generated for a different diagnostic purpose 7. If you already have a genome, the marginal cost of a pharmacogenetic interpretation is the compute and an afternoon.
WGS has its own weaknesses, and they are concentrated in one gene. That gene is CYP2D6, which sits in a region with a nearly identical pseudogene, CYP2D7. It varies by whole-gene deletions (*5) and by duplications and multiplications (*1x2, *2x2, and higher). It also varies by CYP2D6-CYP2D7 hybrid alleles (*13, *36, *68). Short-read alignment collapses reads across the homology, so copy number and hybrid structure have to be inferred from depth ratios and breakpoint-spanning reads rather than read directly. Expect calls at other genes to be straightforward and CYP2D6 to be the one you check by hand.
Running the call yourself
Start from an aligned BAM or CRAM against GRCh38, ideally 30x or better, and a joint-called or single-sample VCF. The tool we would use is PharmCAT. It takes a VCF, calls diplotypes for the standard gene set, and emits a report keyed to CPIC guideline language:
java -jar pharmcat.jar \
-vcf sample.preprocessed.vcf.gz \
-o out/ \
-reporterJson -reporterHtml
Run PharmCAT’s preprocessor first (pharmcat_vcf_preprocessor.py), because the caller requires positions to be represented exactly as expected, including reference calls. A VCF that omits homozygous-reference sites will produce uncalled diplotypes rather than an error, which is the mistake most people make on the first attempt. For CYP2D6, run a dedicated copy-number-aware caller such as Cyrius or Stargazer on the BAM and pass the result into PharmCAT with -matcherHtml for inspection, rather than trusting a VCF-only call.
Three checks before you believe any line in the output. First, look at read depth over the specific positions driving each call. A DPYD c.1905+1G>A call at 8x coverage is a hypothesis. Second, check that structural genes report a copy number as well as a diplotype. A diplotype alone is not enough. If your CYP2D6 line says *1/*4 with no CN field, the caller may not have looked. Third, read the activity score arithmetic rather than the phenotype label. Activity scores convert allele function (0, 0.5, 1.0, and so on) into a sum, and the score-to-phenotype cutoffs have been revised over time, so an intermediate metabolizer label in a 2019 report and a 2024 report can rest on identical genotypes.
What the report cannot do
A diplotype predicts enzyme activity in a population. It does not predict drug concentration in you on a given day. Genotype explains a substantial but partial fraction of variance in drug exposure. The remainder comes from the following sources.
- inhibitors and inducers in other drugs and foods
- liver and kidney function
- inflammation
- age
- body composition
- adherence
Phenoconversion, in which a genotypic normal metabolizer behaves as a poor metabolizer because of an interacting drug, is common enough that genotype alone can mislead in exactly the situations where it is consulted 4.
The report also cannot tell you whether a drug will work. Metabolism genes govern exposure. Efficacy usually depends on target biology that pharmacogenetic panels do not measure. The regulatory framing has been consistent on this point: pharmacogenomic data informs dosing and safety decisions within a clinical context, and the strength of that inference varies sharply by gene-drug pair 3. Individualized prescribing built on genotype is a real and growing capability, and it remains one input among several 8.
Do not start, stop, or change the dose of any medication based on a pharmacogenetic report, including one you generated yourself. Several of these gene-drug pairs matter most for drugs with narrow therapeutic windows, where an incorrect inference cuts both ways. Bring the report to the prescribing clinician or a clinical pharmacist, and ask whether a confirmatory clinical-grade test is warranted before anything changes. Research-grade calls from your own pipeline are not a substitute for a CLIA-certified result.
Questions people also ask
What is the difference between pharmacogenetics and pharmacogenomics? Pharmacogenetics originally meant single-gene studies of inherited differences in drug metabolism, and pharmacogenomics meant genome-scale approaches including drug discovery and expression effects 1. The distinction has largely collapsed in practice, and the change in terminology reflected the field’s alignment with genomics as much as any change in method 2.
Are there risks with pharmacogenetic testing? The main risks are interpretive rather than physical. A false reassurance from an array-based *1/*1 default, a phenotype label that ignores an interacting drug, or a self-directed medication change based on a research-grade call are all realistic harms. Genomic data also carries privacy considerations independent of its pharmacogenetic content, since the same file supports many other inferences.
Can I reuse an existing consumer DNA file? You can run it through an interpretation pipeline, but understand that the file only contains the probe positions the array measured, so rare functional variants and CYP2D6 structural variation are largely invisible. Reports built on those files should be read as partial.
Do I need to re-sequence if guidelines change? No. Sequence data is stable and interpretation is versioned software, so re-running PharmCAT against updated allele definitions is the correct response to a guideline revision. This is the practical argument for keeping raw reads rather than only a PDF report.
Footnotes
-
Daniel W Nebert. Pharmacogenetics and pharmacogenomics: why is this relevant to the clinical geneticist?. Clinical Genetics, 1999. https://doi.org/10.1034/j.1399-0004.1999.560401.x ↩ ↩2
-
Adam M. Hedgecoe. Terminology and the Construction of Scientific Disciplines: The Case of Pharmacogenomics. Science, Technology, & Human Values, 2003. https://doi.org/10.1177/0162243903256274 ↩ ↩2
-
Lawrence J. Lesko, Janet Woodcock. Translation of pharmacogenomics and pharmacogenetics: a regulatory perspective. Nature Reviews Drug Discovery, 2004. https://doi.org/10.1038/nrd1499 ↩ ↩2
-
Daniel Carr, Ana Alfirevic, Munir Pirmohamed. Pharmacogenomics: Current State-of-the-Art. Genes, 2014. https://doi.org/10.3390/genes5020430 ↩ ↩2
-
Seung-been Lee, Jong-Yeon Shin, Nak-Jung Kwon, et al. ClinPharmSeq: A targeted sequencing panel for clinical pharmacogenetics implementation. PLOS ONE, 2022. https://doi.org/10.1371/journal.pone.0272129 ↩
-
Clint Mizzi, Brock Peters, Christina Mitropoulou, et al. Personalized Pharmacogenomics Profiling Using Whole-Genome Sequencing. Pharmacogenomics, 2014. https://doi.org/10.2217/pgs.14.102 ↩
-
Madeline Gorny, Katja S. Just, Tim Krüger, et al. The potential of whole genome sequencing in pharmacogenetics: a retrospective health record study in rare disease patients. European Journal of Human Genetics, 2026. https://doi.org/10.1038/s41431-026-02025-w ↩
-
B S Shastry. Pharmacogenetics and the concept of individualized medicine. The Pharmacogenomics Journal, 2005. https://doi.org/10.1038/sj.tpj.6500338 ↩
Woolf Software builds longitudinal molecular profiles of individuals: whole-genome sequencing, blood RNA sequencing, and plasma proteomics, delivered as a detailed report plus every data file. Build your profile.