A working Repo for CSE7850 Project, Predicting bacterial virulence and pathogenicity from protein folding patterns using machine learning algorithms
GeneratingVirulentData.ipynb: Downloads and processes virulent protein sequences from VFDB, converts RefSeq IDs to UniProt IDs, and retrieves AlphaFold structures.
GeneratingNonVirulentData.ipynb: Collects non-virulent protein sequences from non-pathogenic organisms (e.g., Bacillus subtilis), processes them similarly, and prepares them for feature extraction.
MLModelTraining.ipynb: Loads extracted features, performs preprocessing, and trains machine learning models to classify proteins as virulent or non-virulent.
-
Virulent sequences sourced from VFDB
-
Non-virulent sequences from UniProt (e.g., B. subtilis)
-
UniProt IDs mapped to AlphaFoldDB entries
-
3D structure files (.pdb) downloaded automatically
-
Secondary structure content (α-helix, β-sheet, coil)
-
Hydrogen bond density via DSSP
-
Confidence metrics (mean pLDDT)
-
Feature matrices combined and labeled (1 = virulent, 0 = non-virulent)
-
Classifier trained with stratified sampling and evaluated on a held-out test set
Install via conda:
conda create -n virulence-prediction python=3.10
conda activate virulence-prediction
conda install -c conda-forge biopython pandas jupyter scikit-learn
pip install tqdm torch esm biopandas
Also required:
AlphaFoldDB access (public download)
DSSP executable (mkdssp, via conda install -c salilab dssp)
virulent_features.csv / nonvirulent_features.csv: Structural features extracted from PDBs
Trained model and performance metrics (accuracy, F1-score, etc.)
Ready-to-use classifier for predicting new protein sequences
Clone this repo:
git clone https://github.com/BowerH/virulence-structure-prediction.git
cd virulence-structure-prediction
Run the notebooks in order:
Scripts/GeneratingVirulentData.ipynbScripts/GeneratingNonVirulentData.ipynbScripts/MLModelTraining.ipynb
Bacterial_Virulence_Prediction/
├── Data/
│ ├── structure_features_extracted_clean.csv # Non-virulent protein features
│ ├── structure_features_extracted_clean_final.csv # Virulent protein features
├── Scripts/
│ ├── GeneratingVirulentData.ipynb # Downloads and processes virulent protein data
│ ├── GeneratingNonVirulentData.ipynb # Downloads and processes non-virulent protein data
│ ├── Model_Training.ipynb # Trains classification models
├── Model/
│ ├── ML_final_ensemble_model.pkl # Trained ensemble model (e.g. RandomForest + XGBoost)
├── Attachments/
│ └── ML_final_model_comparison.csv # Model benchmarking results
├── README.md # Project overview and usage instructions
└── .gitignore # Ignore logs, checkpoints, cache files, etc.
| Name | GitHub |
|---|---|
![]() |
@sanyabadole |
![]() |
@BowerH |
![]() |
@binfwizard |
| @rfatma3 |
If you use this pipeline in your work, please cite the repository and relevant data sources (VFDB, AlphaFoldDB, UniProt).


