The Best Pharmacogenetic Test Depends on Whether You Need a Prescribing Decision Today
If you need an answer that a prescriber can act on this week, the best pharmacogenetic test is a CLIA-certified targeted panel that reports diplotypes for the CPIC Level A genes and that calls CYP2D6 copy number and hybrid alleles explicitly. If you want the broadest and most reusable molecular substrate, 30x whole-genome sequencing plus open-source star-allele callers covers far more pharmacogenes than any panel, at the cost of weaker performance on exactly the genes that matter most. We run both, and we treat the panel as the source of truth for CYP2D6 and HLA, and the genome as the source of truth for everything else. Prescribing decisions belong to a clinician or pharmacist. A genotype alone never justifies starting, stopping, or changing a drug.
What “best” means depends on the decision you are making
Pharmacogenetic tests differ less in their chemistry than in their reporting scope. A panel that genotypes 25 variants and a genome that covers 3.1 billion bases can produce the same CYP2C19 diplotype, because the star alleles that define that diplotype are a small set of defined SNVs. The differences show up in three places: structural variation, rare variants, and how the result gets translated into a phenotype.
Head-to-head comparisons bear this out. Genome sequencing and clinical genotyping agree closely for single-nucleotide pharmacogenetic variants, and diverge mainly where copy number and structural rearrangement drive the allele definition 1. That is a narrow but consequential failure mode, and it is concentrated in CYP2D6.
The second difference is rare variation. A targeted panel interrogates the variants it was designed for and is silent about the rest. Sequencing detects novel and rare coding variants across the whole pharmacogene set, which matters because a meaningful fraction of predicted function-altering variation in these genes is rare rather than common 2. The tradeoff is that a rare missense variant with no CPIC function assignment is a research finding. A prescriber cannot use it.
The genes worth insisting on
A useful test covers the genes where CPIC has published a guideline with an actionable prescribing implication. Concretely, we look for diplotype calls in the genes below, plus HLA-B and HLA-A typing at four-digit resolution.
- CYP2D6
- CYP2C19
- CYP2C9
- CYP3A5
- CYP2B6
- DPYD
- TPMT
- NUDT15
- UGT1A1
- SLCO1B1
- VKORC1
- CYP4F2
- NAT2
- G6PD
Within those genes, a few specific variants separate a serious test from a checkbox. DPYD should include the intronic HapB3 variant rs56038477, which is missed by assays that only cover exons. UGT1A1 should resolve the promoter TA-repeat that defines *28. SLCO1B1 should report rs4149056 (c.521T>C). NUDT15 should be present alongside TPMT, because *3 is common in East and South Asian ancestries and TPMT alone does not cover thiopurine metabolism. HLA-B*57:01 and HLA-B*15:02 should be typed by a method validated for HLA. They should not be inferred from a tag SNP.
Reporting matters as much as coverage. The ACMG technical standard specifies that clinical pharmacogenomic reports state the alleles tested, name the reference sequence and nomenclature used, and make clear which variants were not interrogated 3. A report that gives you a phenotype label without the underlying diplotype and the tested allele list is not auditable. We would not build on one.
Why CYP2D6 is the hard part
CYP2D6 accounts for a large share of PGx-relevant metabolism and is the gene most likely to be called wrong. It sits next to two pseudogenes, CYP2D7 and CYP2D8, with which it recombines to form hybrid alleles such as *13 and *68. It occurs in zero to more than five copies. The region is GC-rich, which depresses coverage uniformity in short-read data.
Short-read sequencing therefore needs a dedicated caller that models read depth and the pseudogene paralogy, rather than a general-purpose variant caller. Two we use on aligned BAM or CRAM files:
# Cyrius (Illumina), read-depth and paralog aware
python star_caller.py --manifest manifest.txt --genome 38 \
--prefix sample --outDir cyp2d6/
# Aldy, whole-genome profile
aldy genotype -p wgs -g CYP2D6 -o sample.aldy sample.bam
Run both and compare. Where they disagree, treat the call as unresolved. Long-read sequencing resolves the region much more cleanly, and if CYP2D6 is the reason you are testing, a long-read or CYP2D6-specific clinical assay is a better purchase than more short-read depth. Reviews of NGS-based pharmacogenomic testing consistently name CYP2D6 structural variation as the principal validation obstacle for sequencing-based workflows 4.
Calling star alleles from your own genome
If you have WGS, the practical path is PharmCAT, which contains three stages. A matcher converts a VCF into diplotypes, a phenotyper maps diplotypes to CPIC and DPWG function labels, and a reporter assembles the output.
pharmcat_pipeline sample.GRCh38.vcf.gz \
-o pharmcat_out \
-research cyp2d6,combinations \
-reporterJson
Two preprocessing details decide whether the result is trustworthy. First, PharmCAT expects GRCh38 coordinates and a VCF that is normalized, bgzipped and indexed. Run bcftools norm -f GRCh38.fa -m -both -c ws before you start.
Second, and more important, a standard germline VCF emits only variant sites. A star-allele matcher cannot distinguish “reference at this position” from “not sequenced at this position” unless the position is present in the file. If you hand it a variants-only VCF, the matcher either no-calls the gene or silently assumes reference and returns a confident *1/*1. Force-call the PGx positions from the BAM:
bcftools mpileup -f GRCh38.fa -R pgx_positions.bed -a AD,DP sample.cram \
| bcftools call -m -Oz -o pgx_forced.vcf.gz
Then check depth at every position before you believe the diplotype. We use 20 reads as a floor and flag anything below it. This class of problem, where the analytical pipeline rather than the assay determines the reported phenotype, is the recurring theme in the clinical literature on sequencing-based PGx 5.
For HLA, run a dedicated typer such as HLA-LA or OptiType on the same BAM and confirm any actionable call with a clinical HLA assay. Sequencing-based HLA typing is accurate enough to screen and not yet a substitute for a validated clinical result 6.
What psychiatry combinatorial reports do and do not give you
The tests that dominate search results for pharmacogenetic testing are psychiatry-focused products that combine several genotypes into a proprietary category such as “use as directed” or “use with caution.” The underlying genotyping for CYP2D6 and CYP2C19 is usually sound. The combinatorial layer on top is the part to be skeptical of, because the weighting is not published and cannot be reproduced from your raw data.
Our preference is a test that returns diplotypes and CPIC function assignments and stops there. That output is stable, reproducible from the genotype, and directly comparable against future guideline revisions. A proprietary category is none of those things. If you already hold a combinatorial report, ask for the underlying diplotype table, which the ACMG standard expects a clinical report to include 3.
Questions people also ask
Is whole-genome sequencing enough on its own for pharmacogenetics?
For most genes, yes, provided you force-call the relevant positions and check depth. For CYP2D6, HLA, and the UGT1A1 promoter repeat, short-read WGS alone should be treated as a screen rather than a clinical answer, and confirmed on a targeted assay 1.
How much does coverage depth matter?
Thirty-fold mean coverage is adequate for SNV-defined star alleles, but mean coverage hides local dropout in GC-rich pharmacogene regions. Check per-position depth rather than genome-wide averages, and require reads on both strands before you accept a diplotype 4.
Can I convert an old array-based ancestry file into a PGx report?
Partially and unreliably. Consumer arrays genotype some CPIC variants and miss many others, including CYP2D6 copy number and the DPYD HapB3 intronic variant. Imputation does not recover them. Treat array data as a hypothesis generator only.
Does a pharmacogenetic result expire?
The interpretation of the genotype changes. The genotype itself does not change. CPIC allele function tables and guidelines are revised, so keep the raw VCF and BAM and re-run the phenotyper periodically rather than relying on a PDF from three years ago 6.
Who should interpret the result?
A clinical pharmacist or the prescribing physician. A diplotype constrains the options and does not select among them, and the decision depends on your indication, current medications, kidney and liver function, and adherence history.
Footnotes
-
W Yang, G Wu, U Broeckel, et al. Comparison of genome sequencing and clinical genotyping for pharmacogenes. Clinical Pharmacology & Therapeutics, 2016. https://doi.org/10.1002/cpt.411 ↩ ↩2
-
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 ↩
-
Marwan K. Tayeh, Andrea Gaedigk, Matthew P. Goetz, et al. Clinical pharmacogenomic testing and reporting: A technical standard of the American College of Medical Genetics and Genomics (ACMG). Genetics in Medicine, 2022. https://doi.org/10.1016/j.gim.2021.12.009 ↩ ↩2
-
Alireza Tafazoli, Henk-Jan Guchelaar, Wojciech Miltyk, et al. Applying Next-Generation Sequencing Platforms for Pharmacogenomic Testing in Clinical Practice. Frontiers in Pharmacology, 2021. https://doi.org/10.3389/fphar.2021.693453 ↩ ↩2
-
Yuan Ji, Yue Si, Gwendolyn A. McMillin, et al. Clinical pharmacogenomics testing in the era of next generation sequencing: challenges and opportunities for precision medicine. Expert Review of Molecular Diagnostics, 2018. https://doi.org/10.1080/14737159.2018.1461561 ↩
-
Ute I. Schwarz, Markus Gulilat, Richard B. Kim. The Role of Next-Generation Sequencing in Pharmacogenetics and Pharmacogenomics. Cold Spring Harbor Perspectives in Medicine, 2018. https://doi.org/10.1101/cshperspect.a033027 ↩ ↩2
Pothos builds longitudinal molecular profiles of individuals: whole-genome sequencing, single-cell RNA sequencing, and plasma proteomics, delivered as a detailed report, every data file, and stored cells. Build your profile.