--- language: - en license: mit tags: - drug-discovery - binding-affinity - protein-ligand - graph-neural-network - esm2 - drug-repurposing - multimodal - transfer-learning datasets: - pdbbind-v2020 metrics: - rmse - pearsonr pipeline_tag: other --- # DeepPharm: Multi-Modal Transfer Learning for Drug-Target Affinity Prediction ## Model Description **DeepPharm** is a multi-modal deep learning framework for predicting protein–ligand binding affinity ($pK$). It combines: - **GATv2** molecular graph encoder (3 layers, 4 heads) - **ECFP4** fingerprint MLP encoder (2048→128) - **Gated Fusion** mechanism for adaptive ligand representation - **ESM-2** protein language model (150M params, fine-tuned) - **Stacked Cross-Attention** (2 layers, 4 heads) for drug-protein interaction - **Residual Prediction Head** with SiLU activation ### Two Modes of Operation | Mode | Task | Input | Output | |------|------|-------|--------| | **Mode A** | Supervised affinity prediction | Drug SMILES + Protein sequence | pK value | | **Mode B** | Weakly supervised drug repurposing | Drug + Disease signature | Ranked candidates | ## Performance ### Systematic Ablation (PDBbind v2020, $N_{test}=3{,}775$) | Config | RMSE ↓ | Pearson ↑ | Spearman ↑ | |--------|--------|-----------|------------| | V1 Baseline (ESM-35M) | 1.266 | 0.743 | 0.743 | | V2 Architecture | 1.258 | 0.748 | 0.746 | | V2 + CosineWR | 1.244 | 0.753 | 0.750 | | **V2 + ESM-150M (Best)** | **1.229** | **0.762** | **0.760** | | V2 + EMA | 1.247 | 0.753 | 0.753 | ### Five-Seed Ensemble (Best Configuration) | Metric | Mean ± Std | |--------|-----------| | RMSE | 1.246 ± 0.005 | | Pearson r | 0.751 ± 0.002 | | Spearman ρ | 0.750 ± 0.002 | CV < 0.4% confirms high reproducibility. ### Baselines (all re-implemented on same split) | Model | RMSE ↓ | Pearson ↑ | |-------|--------|-----------| | DeepDTA (CNN) | 1.48 | 0.61 | | GraphDTA (GCN) | 1.39 | 0.67 | | MolCLR* | 1.30 | 0.74 | | DrugBAN | 1.28 | 0.76 | | **DeepPharm V2** | **1.23** | **0.76** | ## Intended Use - High-throughput virtual screening of drug candidates - Binding affinity prediction for drug-target pairs - Hypothesis generation for drug repurposing in orphan diseases - Research and academic purposes ## Limitations - 2D topological encoder; cannot distinguish stereoisomers - Trained on PDBbind v2020, which overrepresents kinases - Mode B uses drug priors (guilt-by-association), not zero-shot inference - Predictions require experimental validation ## Training Details - **Dataset:** PDBbind v2020 General Set (15,100 train / 3,775 test, seed=42) - **Hardware:** 1× NVIDIA H100 80 GB - **Optimizer:** AdamW (backbone LR: 5e-6, head LR: 8e-4) - **Scheduler:** CosineAnnealing with Warm Restarts ($T_0$=10, $T_{mult}$=2) - **Loss:** MSE + 0.3·RankingLoss + 0.2·HuberLoss - **Training time:** ~11 min/epoch (ESM-2 150M), best checkpoint at epoch 18 ## Available Checkpoints | File | Description | RMSE | |------|-------------|------| | `best_v2_esm150m.pt` | Best V2 model (ESM-2 150M) | 1.229 | | `best_v1_esm35m.pt` | V1 Baseline (ESM-2 35M) | 1.266 | ## How to Use ```python from huggingface_hub import hf_hub_download # Download the best model path = hf_hub_download("chamoso/DeepPharm", "best_v2_esm150m.pt") # Load in PyTorch import torch checkpoint = torch.load(path, map_location="cpu") ``` For full inference with data preprocessing: ```bash git clone https://github.com/chamoso/DeepPharm.git cd DeepPharm python scripts/predict.py \ --checkpoint weights/best_v2_esm150m.pt \ --smiles "CC(=O)Oc1ccccc1C(=O)O" \ --sequence "MKTAYIAKQRQISFVKSHFSRQLE..." ``` ## Links - **GitHub:** [chamoso/DeepPharm](https://github.com/chamoso/DeepPharm) - **Live Demo:** [HuggingFace Spaces](https://huggingface.co/spaces/chamoso/DeepPharm) ## Citation *Preprint coming soon.* ## License MIT License