Supporting information for the manuscript:
Title: TRPV1 classification models: systematic evaluation across algorithms and molecular representations
Authors: Mohamed Diwan M. AbdulHameed and Anders Wallqvist
Manuscript Status: Under review
This repository provides a comprehensive benchmark of machine learning models for TRPV1 modulation classification using IC50 and EC50 endpoints.
Dec 2025 update: The codebase has been fully updated to eliminate duplication, use repository-relative paths, and provide a unified analysis pipeline.
- 7 ML algorithms: Logistic Regression, Random Forest, XGBoost, LightGBM, SVM, KNN, Gaussian Naive Bayes
- 4 molecular representations: Morgan fingerprints, RDKit fingerprints, MACCS keys, Mordred descriptors
- Validation: repeated stratified cross-validation with scaffold-based external test sets
- Statistical analysis: repeated-measures ANOVA and Tukey HSD for model comparison
- Interpretability: SHAP-based model interpretation
- Endpoint support: IC50, EC50, or both via command-line arguments
git clone https://github.com/BHSAI/TRPV1.git
cd TRPV1
conda env create -f environment.yml
conda activate trpv1_ml_benchmark
python check_dependencies.pySee INSTALLATION.md for detailed setup instructions and troubleshooting.
# Preprocessing for both endpoints
python code/preprocessing/run_preprocessing.py --endpoints IC50 EC50
# Analysis for both endpoints
python code/analysis/run_analysis.py --endpoints IC50 EC50Outputs are written to endpoint-specific subfolders under:
results/figures/
# Preprocessing
python code/preprocessing/01_standardize_smiles.py --endpoint IC50
python code/preprocessing/04_scaffold_split.py --endpoint IC50
# Analysis
python code/analysis/01_cross_validation_fingerprints.py --endpoint IC50
python code/analysis/07_generate_master_table.py --endpoint IC50
python code/analysis/06_visualize_dashboard.py --endpoint IC50For full script documentation, see:
code/preprocessing/README_UNIFIED_PIPELINE.mdcode/analysis/README.md
TRPV1/
├── code/ # Preprocessing, analysis, utilities
├── data/ # Raw and processed datasets
├── results/ # Tables and evaluation outputs
├── figures/ # Plots for manuscript and SI
├── models/ # Final models
This benchmark evaluates TRPV1 classification performance across algorithms, molecular representations, and validation regimes.
- Linear: Logistic Regression
- Tree-based: Random Forest, XGBoost, LightGBM
- Instance-based: K-Nearest Neighbors
- Probabilistic: Gaussian Naive Bayes
- Kernel-based: Support Vector Machine (RBF)
- Morgan fingerprints: radius = 2, 2048 bits
- RDKit fingerprints: 2048 bits
- MACCS keys: 166-bit keys
- Mordred descriptors: 1600+ descriptors
- Internal: 5×5 repeated stratified cross-validation
- External: scaffold-based test split (20%)
- Statistics: repeated-measures ANOVA + Tukey HSD
- Applicability domain: SDC-based analysis
- SHAP analysis: feature importance and dependence plots
- Fingerprint interpretation: bit-level / substructure analysis
All models are evaluated using:
- ROC-AUC: Area under ROC curve
- PR-AUC: Area under precision-recall curve
- MCC: Matthews correlation coefficient
- G-Mean: Geometric mean of sensitivity and specificity
- F1 Score: Harmonic mean of precision and recall
- Accuracy: Overall classification accuracy
- Sensitivity (Recall): True positive rate
- Specificity: True negative rate
- Precision: Positive predictive value
If you use this code or data, please cite:
@article{abdulhameed2025trpv1,
title={TRPV1 classification models: systematic evaluation across algorithms and molecular representations},
author={AbdulHameed, Mohamed Diwan M. and Wallqvist, Anders},
journal={[Journal Name]},
year={2025},
note={Under review}
}This repository supports a manuscript under review. For questions or bugs, please open a GitHub issue and include relevant details (command run, endpoint, and error messages).
- RDKit community for molecular processing tools
- Scikit-learn contributors for ML infrastructure
- The TRPV1 research community for bioactivity data
Last Updated: December 2025
Manuscript Status: Under review