
CASE 02 · 2025 · ML Researcher · Builder
UNIFIED-DTA
Drug-target affinity prediction fusing protein language models with graph networks.
SYSTEM FLOW
THE PROBLEM
Predicting how well a drug binds a target protein is a core bottleneck in discovery. Sequence-only models miss molecular structure; structure-only models miss protein context. The field needed both, jointly.
3 industry benchmarks: BindingDB · DAVIS · KIBA
HOW IT'S BUILT
Fused Meta's ESM-2 protein language model with Graph Isomorphism Networks for joint molecular + protein representation learning. Trained on BindingDB, DAVIS and KIBA with concordance index and MSE. Containerized inference with Docker + FastAPI (LRU-cached), extended with a drug-generation module using the DoubleSG architecture.
IMPACT
- 3 industry benchmarks: BindingDB · DAVIS · KIBA
- ESM-2 + GIN joint representation learning
- Dockerized, LRU-cached inference API
- Novel-compound generation via DoubleSG
WHAT IF …
Ask the project a different question. The architecture has to defend itself.
What if we skipped ESM-2 and used sequence-only embeddings?
GIN alone on molecular graphs with one-hot protein encodings would lose the semantic protein context ESM-2 provides — CI on KIBA would drop measurably. The language model is the expensive but load-bearing part; the fusion layer is where the real engineering lives. I'd keep both.
What if we needed 10× throughput?
Today: LRU-cached FastAPI with batch inference. Scaling path: precompute ESM-2 embeddings once (they're the slow part — ~seconds per protein), cache them permanently, and serve only the GIN forward pass (milliseconds). That's a ~100× effective speedup for repeated targets — which is exactly how drug repos behave.
DIVE DEEPER
Built it — now the descent. Each question opens the next layer: why, why this architecture, what broke, what I'd change.
01Why ESM-2 + GIN together?
ESM-2 gives protein language context; GIN gives molecular structure. Either alone loses half the signal — the fusion is the actual contribution.
02Why those benchmarks?
BindingDB, DAVIS and KIBA are the three the community actually trusts. CI/MSE there is the only claim reviewers accept.
03What went wrong?
First training runs diverged — mixed dtypes between ESM-2 embeddings and graph features. I normalized both streams and pinned seeds before trusting a single number.
04What would I do now?
Add uncertainty estimates and a LoRA head instead of full fine-tuning — cheaper and more honest for drug discovery.
THE REPO, INSIDE
Not a screenshot — a live iframe pulling this repo's README straight from the CDN.