2nd place Global AI Hackathon (Venture Capital Track) by MIT Sloan AI Club and HackNation (2025)
Advanced Protein Binding Site Prediction with Deep Learning
SnapBind is a web application that predicts protein binding sites using a Fast Convolutional Neural Network (FastCNN). The application features an interactive web interface with real-time visualization, 3D protein structure rendering, and comprehensive data export capabilities.
- FastCNN Architecture: Optimized convolutional neural network with residual blocks
- GPU Acceleration: Supports CUDA, MPS (Apple Silicon), and CPU inference
- Real-time Predictions: Instant binding site analysis
- Adaptive Heatmaps: Responsive amino acid visualization that scales with sequence length
- Interactive Charts: Chart.js-powered probability plots
- Raw Output Access: Complete prediction data in JSON format
- One-Click Copy: Clipboard integration for easy data sharing
- File Downloads: Timestamped JSON exports for analysis
- Structured Results: Organized binding site information with confidence scores
- Python 3.8 or higher
- PyTorch 2.0+
- Modern web browser with WebGL support
-
Clone the repository:
git clone https://github.com/gitexa/snapbind.git cd snapbind -
Create a conda environment:
conda env create -f environment.yaml conda activate esm-mps
Or install with pip:
pip install -r requirements.txt
-
Start the Flask server:
python app.py
-
Open your browser: Navigate to
http://localhost:5004 -
Enter a protein sequence:
Example: MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGE -
View results:
- Interactive heatmap showing binding probabilities
- Downloadable raw prediction data
snapbind/
├── app.py # Flask web application
├── backend/
│ └── pred.py # FastCNN model and prediction logic
├── templates/
│ └── index.html # Web interface with interactive features
├── outputs/ # PDB files and prediction outputs
├── checkpoints/ # Trained model weights
├── data/ # Training datasets
├── training/ # Model training scripts and notebooks
├── requirements.txt # Python dependencies
├── environment.yaml # Conda environment specification
└── README.md # This file
Advancing protein research through machine learning
