Computational pharmacogenomics, research pipeline
Predicting how a genetic variant changes an enzyme's activity.
PepFold is a variant-structure pipeline I built as a developer. It takes a coding variant in a drug-metabolizing gene, folds the protein, and predicts how much the variant shifts the enzyme's activity. The signal comes from two channels: a stability estimate that tracks how much protein is made, and a sequence-likelihood score that tracks activity and transfers across genes.
The problem PepFold is built around
Clinical pharmacogenomics guidelines assign one activity score per allele. A patient carrying a variant is labelled a poor, intermediate, normal, or ultrarapid metabolizer, and that single label sets the dose for every drug the enzyme touches.
The measured biology does not fit one number. The same variant can hit one drug and spare another:
OCT1 p.F244A
- metformin
- 15%
- sumatriptan
- 115%
- pirenzepine
- ~800%
activity vs wild-type
CYP2D6*10
- nortriptyline
- 1.3%
- dextromethorphan (O)
- 1–5%
- dextromethorphan (N)
- 47%
activity vs wild-type
UGT1A9 p.M33T
- propofol
- 0.5%
- mycophenolic acid
- 102%
activity vs wild-type
These are measured values from the literature, not PepFold outputs. Same protein, same mutation, up to three orders of magnitude apart depending on the drug. A single per-allele score cannot represent that, and, as the next section says plainly, PepFold does not predict it yet either.
What works today
- Predicting a variant's overall shift in enzyme activity, from structure and sequence, transferable between genes rather than fit to one.
- A stability channel (ThermoMPNN ΔΔG on folded structures) that tracks protein abundance, the part of loss-of-function that is the protein not being made.
- A sequence-likelihood channel (ESM masked-marginal) that carries the activity signal, with calibration slope near 1, so the output maps onto a dose scale rather than just a ranking.
What it does not do
- Predict the per-drug differences shown above. On the current features, the substrate-specific signal measures null, cleanly, across ten model families.
- The specificity is real in the data, it is just not recoverable from whole-protein sequence embeddings plus ligand descriptors. That negative result is mapped, not waved away, down to the experiment that would resolve it.
- Nothing here is a clinical tool. It is computational research analysis, not for treatment decisions.
The structural pipeline
Public data in, a folded structure and two learned channels out. This is what feeds the predictor.
ClinVar
Variant annotation
UniProt / PDB
Target and structure mapping
ESMFold
Structure prediction
ThermoMPNN
ΔΔG stability channel
ESM-2
Sequence-likelihood channel
Validation in progress
The current test is CYP2D6 and tamoxifen: predicting how coding variants shift the formation of endoxifen, the active metabolite. The held-out endpoint is kept firewalled out of training, and the analysis is pre-registered before the data arrives, so the result counts either way. It is being run with a clinical pharmacology group rather than scored in isolation.
It is not concluded. The honest state is a coherent but not yet decisive signal, which is why the protocol is frozen and the outcome is left open.
Get in touch
If you work on pharmacogenomic variant effects and any of this is useful to compare notes on, I read every message.
[email protected]PepFold is a computational research tool. Outputs are not experimentally validated and are not for clinical decisions. Methodology · Legal