DDI Checker

Drug-Drug Interaction Detection System

System online

What is DDI Checker?

A two-stage clinical decision-support system that detects drug-drug interactions using a direct DrugBank dictionary lookup and a Graph Neural Network trained on the pharmacological interaction graph of 4,795 FDA-approved drugs. Built as a graduate-level ML project demonstrating responsible AI in a healthcare context.

4,795 FDA-approved drugs 824,249 interaction pairs GNN AUROC 0.9738 DrugBank v5.1 Responsible ML certified Open source
How it works
01
Enter two drug names
Type any drug name (generic/INN) or DrugBank ID. The resolver handles case variants, common synonyms (aspirin → Acetylsalicylic acid, adrenaline → Epinephrine), leading/trailing whitespace, and DrugBank IDs like DB00682.
02
Two-stage lookup
Stage 1 — Dict lookup: O(1) check against all 824,249 documented DrugBank pairs. If found, returns the exact interaction sentence — no model involved, fully auditable.

Stage 2 — GNN: If nothing is found, a HeteroGraphSAGE network predicts whether an interaction is likely from the pharmacological graph structure and 980 per-drug features.
03
Transparent result
Every response carries a source label: documented (DrugBank ground truth), gnn_predicted (model inference), or not_found (no documented interaction and GNN confidence below threshold). GNN predictions always include a safety disclaimer and confidence score. Users always know whether they are looking at established data or a model prediction.
How it works

🗄️ The Largest Drug Database

Every check starts with the full DrugBank database — 4,795 FDA-approved drugs and 824,000 documented interaction pairs, all curated from peer-reviewed literature. Type a drug name, brand name, or synonym and the system resolves it instantly. If an interaction is documented, you get the verbatim clinical description — no interpretation, no black box.

🤖 AI That Reasons Across Pathways

For undocumented pairs, a Graph Neural Network learns from the full interaction network — including shared protein targets, metabolic enzymes, and transporters. When the model flags a potential interaction, it tells you why: which shared pathways drove the prediction. Predictions are always labelled separately from documented data so you know exactly what you're looking at.

📊 91.75 % Accuracy, Peer-Validated

The GNN achieves 0.9738 AUC-ROC on held-out test pairs — far above random chance and above standard logistic regression and rule-based baselines. Every result carries a source label (documented or predicted) and a confidence score, so clinicians and researchers can calibrate how much weight to put on each result.

Key numbers
4,795
FDA-approved drugs
824K
Documented DDI pairs
980
Features per drug
0.974
GNN AUROC (warm eval)
<5 ms
Dict lookup latency (O(1))
4 / 4
Responsible ML topics covered
Context & limitations

👤 Users · Decision · Deployers

Users
Clinical pharmacists, physicians, and clinical decision support system operators
Decision augmented
Screening drug pairs for potential interactions before prescribing
Deployers
Hospital pharmacy systems, EHR providers (e.g. Epic, Cerner), or formulary management tools
Payer / incentive
Hospitals seeking to reduce adverse drug event liability and readmissions

⚠️ Known Limitations

⚠️
DrugBank DDI labels are incomplete — many real interactions are undocumented, making true negatives uncertain. The model is trained under PU (positive-unlabelled) learning for this reason.
⚠️
2,107 / 4,795 drugs have no protein target data. Their embeddings rely solely on DDI graph topology; cold-start predictions for these drugs are less reliable.
⚠️
Model trained only on FDA-approved small molecules. Performance on biologics, prodrugs, or new chemical entities is untested.
⚠️
The decision threshold (0.43) was selected on a held-out sample. Clinical deployment would require prospective recalibration against a reference population.
ℹ️
This is a decision-support tool, not a medical device. All GNN predictions carry a mandatory disclaimer. Documented DrugBank interactions are returned as ground truth; novel pair predictions are clearly labelled as model output.
Pipeline at a glance
DrugBank XML
Parse (Step 1)
Dedup DDI (2)
FDA filter (3)
Graph features (4)
PyG + Hetero graph (5)
Baselines (9)
GNN training (notebook)
Flask API
Get started
🔬 Try the Checker 💬 Chat Interface 📊 View Results 🛡️ Responsible ML 📈 Dashboard
💬