What a DNA Medication Test Can and Cannot Tell You
A DNA medication test genotypes a handful of drug-metabolism genes and tells you which enzyme activity group you fall into. That is real information for a specific, short list of drug-gene pairs where the evidence is strong: fluoropyrimidines and DPYD, thiopurines and TPMT or NUDT15, clopidogrel and CYP2C19, abacavir and HLA-B*57:01, carbamazepine and HLA-B*15:02. It is much weaker information for the use case these tests are marketed on, which is picking an antidepressant. The genotype is stable for life and cheap to obtain, so the sensible position is to have the calls on file before you need them, and to treat the accompanying report as a starting point for a conversation with the clinician who is prescribing, never as a prescribing decision you make yourself.
If you already have whole-genome sequencing, you do not need to buy a separate medication test. Everything a commercial panel reports is derivable from a 30x genome plus one or two specialized callers, and the derivation is reproducible, versioned, and free. The argument that pharmacogenomic annotation should be a standard byproduct of any clinical genome rather than a separate purchase has been made in the literature repeatedly, both as an automated reporting pipeline attached to clinical genome sequencing 1 and as a general policy position: if the sequence data exists, look at the pharmacogenetic variants too 2.
What the commercial panels measure
Panels differ mostly in gene count, not in method. A typical consumer or clinic-ordered test uses a targeted genotyping platform (TaqMan, MassARRAY, or a small amplicon panel) to interrogate a fixed set of positions, and increasingly nucleic acid mass spectrometry is used for the multiplexed readout 3. The genes you will see across almost all of them are CYP2C19, CYP2C9, CYP2D6, CYP3A4/CYP3A5, CYP1A2, CYP2B6, VKORC1, SLCO1B1, TPMT, and sometimes DPYD, NUDT15, UGT1A1, and HLA typing.
The consequence of a fixed position list is that a panel can only find the alleles it was designed to find. CYP2C19 *2 (rs4244285, c.681G>A) and *17 (rs12248560) are on every panel because they are common in European and East Asian populations. Rarer loss-of-function alleles, and alleles that are common in African or Indigenous populations but were not in the original design, come back as “*1” by default. That default-to-normal behavior is the single most important failure mode of panel pharmacogenomics, and it is invisible in the report: a no-call and a reference call look the same on a page that says “normal metabolizer.”
CYP2D6 is the hardest gene in the set and the one where panels vary most. It sits next to two pseudogenes, CYP2D7 and CYP2D8, and carries whole-gene deletions (*5), duplications and multiplications of both functional and nonfunctional alleles, and CYP2D6-CYP2D7 hybrid structures (*13, *36, *68). Getting activity score right requires copy number, not just SNVs. A panel that genotypes five SNVs and skips copy number will misassign a meaningful fraction of people, usually by calling an ultrarapid metabolizer with a gene duplication a normal metabolizer.
Calling the same alleles from your own genome
The pipeline we would use has three stages: normalize the variant calls, run PharmCAT for everything except CYP2D6, and call CYP2D6 separately from the alignment.
PharmCAT (the Pharmacogenomics Clinical Annotation Tool) takes a VCF, matches named alleles for roughly two dozen genes, assigns phenotypes, and emits a report keyed to CPIC (Clinical Pharmacogenetics Implementation Consortium) guidelines. The critical detail is that PharmCAT distinguishes a reference call from a missing call, so a sites-only or variants-only VCF will produce an inflated number of uncertain results. Start from a gVCF or a VCF with explicit reference genotypes at the PharmCAT positions, aligned to GRCh38, then left-align and split multiallelics:
bcftools norm -m-both -f GRCh38.fa -Oz -o norm.vcf.gz input.g.vcf.gz
bcftools index norm.vcf.gz
pharmcat_vcf_preprocessor -vcf norm.vcf.gz -refFna GRCh38.fa -o prep/
pharmcat -vcf prep/*.preprocessed.vcf.bgz -reporterJson -o out/
Read out/*.report.json rather than the HTML. The JSON carries the per-gene diplotype, the specific positions that were missing, and the allele-definition version, which is what you need if you re-run the pipeline in two years against updated definitions.
For CYP2D6, run a structural-variant-aware caller directly on the BAM or CRAM. Cyrius (from Illumina) is the one we would use for short-read whole genomes: it models copy number and hybrid alleles and returns a star diplotype with a confidence flag. Aldy is a good cross-check and also handles CYP2A6, CYP2B6, and other structurally complex loci. Both want reasonably even coverage; below about 20x the copy-number inference degrades and you start seeing low-confidence calls. Feed the resulting diplotype back into PharmCAT as an outside call file:
python star_caller.py --manifest bams.txt --genome 38 --prefix cyp2d6 --outDir cyrius/
printf "CYP2D6\t*1/*4\n" > outside.tsv
pharmacat -vcf prep/*.preprocessed.vcf.bgz -po outside.tsv -o out/
HLA alleles are the other thing PharmCAT will not give you. HLA-B*57:01 and HLA-B*15:02 have the strongest evidence of any pharmacogenomic markers, and short-read callers such as HLA-HD or OptiType (the latter on RNA-seq reads, which are plentiful over HLA) will type them to four digits. If a result there would change a prescribing decision, confirm with a clinical HLA typing lab. Research-grade typing from short reads is good, not diagnostic.
Two genes deserve extra care because the actionable variants are non-obvious. DPYD’s most consequential common variant is HapB3 (c.1129-5923C>G, rs75017182), an intronic splice variant that a coding-only annotation pipeline will drop entirely, alongside c.1905+1G>A (rs3918290), c.1679T>G (rs55886062), and c.2846A>T (rs67376798). SLCO1B1 c.521T>C (rs4149056) is a transporter variant, not a metabolism variant, and it affects statin exposure rather than clearance by a CYP enzyme. Both are on the actionable list precisely because the downstream consequences can be severe, and both are questions for an oncologist or prescribing physician, not for self-interpretation.
Where the evidence is strong and where it is not
The split is between pharmacokinetic predictions with hard endpoints and psychiatric drug selection. In the first category, the gene explains a large fraction of drug exposure variance and the adverse event is dose-dependent and dramatic. The interpretive framework for pulling this out of a whole genome, alongside disease-risk and carrier findings, was laid out early in the clinical sequencing era and has held up 4.
Psychiatric pharmacogenomics is the category the marketing rests on and the category where a careful reading of the literature is least encouraging. The critical analyses of clinical adoption in psychiatry identify the recurring problems: trial designs where the control arm is treatment-as-usual rather than a masked comparator, outcome measures that capture symptom scales over short windows, proprietary combinatorial algorithms whose gene weightings are not published and therefore not auditable, and the plain fact that CYP2C19 and CYP2D6 status explains drug concentration rather than drug response 5. A report that sorts thirty antidepressants into green, yellow, and red columns is making claims well beyond what the underlying gene-drug evidence supports for most of those entries.
Treat the genotype as one input on a list that includes prior response, comorbidity, interacting drugs, and adherence. Your prescriber weighs those. You should not.
Cost and coverage
Standalone pharmacogenomic panels run roughly $150 to $500 out of pocket, and combinatorial psychiatric panels list around $2,000 before payer adjustment. Coverage is inconsistent by drug-gene pair: payers are most likely to reimburse DPYD, TPMT, and HLA-B*57:01 testing ordered ahead of a specific prescription, and least likely to reimburse an untargeted panel ordered speculatively. Sequencing-based testing faces a steeper path still, since payers have historically demanded evidence of change in clinical management before covering next-generation sequencing at all 6, and they evaluate genome and exome sequencing under distinct coverage rationales rather than as one category 7. Ask for the CPT codes and a written pre-determination before testing if cost matters.
Questions people also ask
Can you get a DNA test to see what meds work for you? You can get a test that predicts how fast you clear certain drugs, which is a different question from which drug will work. For the drug-gene pairs with CPIC guidelines, that prediction carries real weight on dosing and on avoiding a specific toxicity. For antidepressant selection, the predictive value is modest 5.
Is the GeneSight test worth the cost? If your interest is the underlying genotypes, no: the same CYP2C19, CYP2D6, and CYP2B6 calls come out of a genome you already own, and the combinatorial algorithm on top is unpublished and therefore unauditable. If you have no sequence data and a clinician specifically wants the report, the calculation changes.
Which patient would benefit most from pharmacogenomic testing? Someone facing a fluoropyrimidine or a thiopurine, where a loss-of-function genotype predicts severe dose-dependent toxicity, and someone who has already had an unexplained adverse reaction or an unusual dose requirement. Preemptive panel testing in a healthy person yields information that mostly sits unused until it doesn’t 2.
What are the limitations of pharmacogenetic testing? Fixed panels report reference by default at positions they do not interrogate, CYP2D6 requires copy-number-aware calling that many platforms omit, phenoconversion from interacting drugs can override genotype entirely, and allele definitions and guideline mappings change, so a report is a snapshot 1.
What is the downside of DNA testing? Beyond over-interpretation, the durable concerns are insurance and disclosure. Those have been debated since the Human Genome Project and remain jurisdiction-dependent, so check what protections apply where you live before you order clinical-grade testing 8.
Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.
Footnotes
-
Barbara J. Klanderman, Christopher Koch, Kalotina Machini, et al. Automated Pharmacogenomic Reports for Clinical Genome Sequencing. The Journal of Molecular Diagnostics, 2022. https://doi.org/10.1016/j.jmoldx.2021.12.001 ↩ ↩2
-
Martina Cornel, Anja Roelofsen, Loes Kreeftenberg. DNA Medication Pass: If Genomics Data Is Available, Why Not Look at Pharmacogenetic Variants Too?. Clinical Obesity Genetics, 2025. https://doi.org/10.1007/978-3-032-04095-4_19 ↩ ↩2
-
Liqian Mo, Xin Luo, Caihua Yang, et al. Current status and prospects of nucleic acid mass spectrometry in clinical pharmacogenomics. Precision Medication, 2024. https://doi.org/10.1016/j.prmedi.2024.10.001 ↩
-
Frederick E. Dewey, Megan E. Grove, James R. Priest, et al. Sequence to Medical Phenotypes: A Framework for Interpretation of Human Whole Genome DNA Sequence Data. PLOS Genetics, 2015. https://doi.org/10.1371/journal.pgen.1005496 ↩
-
Catherine R. Virelli, Ayeshah G. Mohiuddin, James L. Kennedy. Barriers to clinical adoption of pharmacogenomic testing in psychiatry: a critical analysis. Translational Psychiatry, 2021. https://doi.org/10.1038/s41398-021-01600-7 ↩ ↩2
-
Shraddha Chakradhar. Insurance companies are slow to cover next-generation sequencing. Nature Medicine, 2015. https://doi.org/10.1038/nm0315-204 ↩
-
Kathryn A. Phillips, Julia R. Trosman, Michael P. Douglas, et al. US private payers’ perspectives on insurance coverage for genome sequencing versus exome sequencing: A study by the Clinical Sequencing Evidence-Generating Research Consortium (CSER). Genetics in Medicine, 2022. https://doi.org/10.1016/j.gim.2021.08.009 ↩
-
Ruth Chadwick, Charles Ngwena. The human genome project, predictive testing and insurance contracts: Ethical and legal responses. Res Publica, 1995. https://doi.org/10.1007/bf01113136 ↩