Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Drug–Target Interaction Prediction using Machine Learning ## Overview A machine learning pipeline that predicts drug–target interactions using IC50 bioactivity data. The problem is framed as binary classification — interactions are labeled as active (IC50 ≤ 1000 nM) or inactive (IC50 > 1000 nM) — and a Random Forest model is trained to classify them. This kind of pipeline is relevant in early-stage drug discovery, where computationally screening large compound-target pairs saves time and cost before wet lab validation. ## Tools & Technologies - Python (pandas, NumPy, scikit-learn) - Random Forest Classifier - LabelEncoder for SMILES and target encoding - Dataset: IC50 bioactivity data (TSV format) ## Workflow 1. Load TSV dataset (first 20,000 rows for performance) 2. Select and clean relevant columns: Ligand SMILES, Target Name, IC50 (nM) 3. Remove missing values and duplicates 4. Create binary labels based on IC50 threshold 5. Encode drug SMILES and target names using LabelEncoder 6. Split data: 80% train / 20% test (stratified) 7. Train Random Forest classifier 8. Evaluate with accuracy score and classification report ## Key Results - Model trained on ~15,000 compound-target pairs - Achieved classification of active vs inactive interactions - Output files: `prediction_results.csv` (predicted vs actual labels), `model_report.txt` (accuracy and F1 scores) ## How to Run ```bash pip install pandas numpy scikit-learn python "Drug–Target Interaction Prediction.py" ``` ## Output Files - `prediction_results.csv` — predicted and actual interaction labels - `model_report.txt` — accuracy, precision, recall, F1-score ## Limitations & Future Work - SMILES label encoding is a simplification; Morgan fingerprints would improve molecular representation - Future: integrate deep learning models (GNN or transformer-based DTI models) - Expand dataset using ChEMBL or BindingDB ## References - ChEMBL Database: https://www.ebi.ac.uk/chembl/ - scikit-learn Random Forest: https://scikit-learn.org