Spaces:
Running
A newer version of the Gradio SDK is available: 6.12.0
miRBind2 Gradio Web Interface
Interactive web application for predicting miRNA-mRNA binding sites with explainability visualization.
Features
Single Prediction Mode
- Simple Interface: Enter miRNA and mRNA sequences to get binding predictions
- Real-time Predictions: Uses pre-trained Pairwise CNN model (AUPRC: 84.97)
- Sequence Visualization: Color-coded nucleotide importance bars
- SHAP Explainability: Interactive heatmap showing which positions contribute to binding prediction
- PDF Reports: Download comprehensive reports with all visualizations
Batch Prediction Mode
- File Upload: Process multiple pairs from TSV/CSV files
- Interactive Table: Browse all predictions with sorting/filtering
- Click-to-View: Select any row to see detailed SHAP analysis
- Progress Tracking: Real-time progress bar during processing
- Accuracy Metrics: Automatic calculation if labels provided
General
- Local Execution: Runs entirely on your machine, no internet required
- GPU Support: Automatically uses CUDA if available, falls back to CPU
- Unified Interface: Both modes in one app with tabs
Installation
Prerequisites
- Python 3.8 or higher
- pip package manager
Quick Start
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
- Open your browser:
The app will automatically open at http://127.0.0.1:7860
If it doesn't open automatically, copy the URL from the terminal.
Usage
The app has two tabs: Single Prediction and Batch Predictions
Tab 1: Single Prediction
- Enter your miRNA sequence (e.g.,
UAGCUUAUCAGACUGAUGUUGA) - Enter your mRNA target sequence
- Click "Predict Binding"
- View results:
- Binding score (0-1)
- Prediction (BINDING/NO BINDING)
- Confidence level
- Download PDF report
With Explainability (Single Mode)
- Check the "Show SHAP Explainability" checkbox
- Run prediction (will take a few seconds longer)
- View:
- Sequence explainability bars: Per-nucleotide importance
- SHAP heatmap: Position-pair contributions
- PDF report: Download everything
Tab 2: Batch Predictions
- Upload file: Click "Upload TSV/CSV File"
- Format:
target_seq,mirna_seq,label(optional) - See
example_batch.tsvfor reference
- Format:
- Configure: Check "Compute SHAP" if you want explainability (optional)
- Process: Click "Process File"
- Browse: View results table with all predictions
- Detail: Click any row to see full SHAP analysis
Batch Processing Tips
Fast screening (100+ pairs):
- Upload file
- Leave SHAP unchecked
- Process β Get results in seconds
- Identify interesting pairs from table
Detailed analysis (5-20 pairs):
- Upload file with top candidates
- Check SHAP enabled
- Process β Click each row for full analysis
Input Guidelines
- Accepted nucleotides: A, T, C, G, U, N
- Both RNA (U) and DNA (T) formats are accepted
- Sequences are automatically:
- Converted to uppercase
- U β T conversion
- Padded to 28 nt (miRNA) and 50 nt (mRNA)
- Trimmed if too long
Example Sequences
miRNA example:
UAGCUUAUCAGACUGAUGUUGA
mRNA target example (with an embedded complementary site for clearer explainability):
GGGCACUUUUUCAACAUCAGUCUGAUAAGCUAAGUGUCUUCCAGGGAAUU
Model Information
Architecture: Pairwise CNN with One-Hot Encoding
Training Data: AGO2 eCLIP (Manakov et al. 2022)
Performance:
- Test AUPRC: 84.97
- Leftout AUPRC: 83.08
Model Parameters:
- miRNA length: 28 nucleotides
- Target length: 50 nucleotides
- Embedding dimension: 8
- Filter sizes: [128, 64, 32]
- Kernel sizes: [6, 3, 3]
Technical Details
File Structure
mirbind2_web/
βββ app.py # Main Gradio application
βββ requirements.txt # Python dependencies
βββ README_APP.md # This file
βββ miRBind_2.0-main/ # Original miRBind2 repository
β βββ code/ # Model and encoding code
β β βββ pairwise_binding_site_model/
β β βββ shared/ # Shared utilities
β βββ models/ # Pre-trained models
β βββ pairwise_onehot_model_20260105_200141.pt
Performance Optimization
- GPU Acceleration: Automatically uses CUDA if available
- Batch Processing: Efficient tensor operations
- Caching: Model loaded once at startup
SHAP Computation
SHAP (SHapley Additive exPlanations) uses GradientShap to compute feature attributions:
- Compares input against baseline (all zeros)
- Computes gradients to determine importance
- Aggregates across nucleotide pair dimension
- Visualizes as 2D heatmap (miRNA Γ mRNA positions)
Troubleshooting
Model Not Found
If you see Model not found error:
# Check model exists
ls miRBind_2.0-main/models/pairwise_onehot_model_20260105_200141.pt
Download from the model repository if missing.
SHAP Not Available
If SHAP visualization doesn't work:
pip install captum
Out of Memory (GPU)
If you encounter CUDA out of memory errors:
- Close other GPU-intensive applications
- Or disable SHAP (uncheck the box)
- The model will automatically fall back to CPU
Port Already in Use
If port 7860 is busy, edit app.py:
app.launch(
server_port=7861, # Change to different port
...
)
Advanced Usage
Sharing Publicly
To create a temporary public link (for collaboration):
Edit app.py line 368:
app.launch(
share=True, # Creates public Gradio link
...
)
Warning: This shares your model publicly. Only use for trusted collaborators.
Custom Model
To use a different model:
- Update model path in
app.py(line 50):
model_path = Path(__file__).parent / "path/to/your/model.pt"
- Ensure model type matches (
pairwise_onehotorpairwise)
Batch Predictions
For multiple predictions, consider using the original inference scripts:
cd miRBind_2.0-main/code/pairwise_binding_site_model
python -m inference.predict --help
Citation
If you use miRBind2 in your research, please cite:
miRBind 2.0: Advanced miRNA Target Prediction
[Citation details to be added]
License
See LICENSE file in the miRBind_2.0-main directory.
Support
For issues or questions:
- Check the troubleshooting section above
- Review the original miRBind2 repository README
- Open an issue on the GitHub repository
Developed using: Gradio, PyTorch, Captum (SHAP)