Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

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

About

This project explores how machine learning can be used to predict drug–target interactions using IC50 data. It includes data cleaning, preprocessing, and training a Random Forest model to classify interactions as active or inactive.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages