StabLyzeGraph is a comprehensive computational framework for accelerated protein stability engineering, tackling the challenges of vast mutational space and complex protein interactions using graph neural networks (GNNs). StabLyzeGraph integrates diverse protein features (physicochemical properties, evolutionary conservation, and 3D structure coordinates) to predict the impact of mutations, identify beneficial combinations, and streamline the discovery of highly stable proteins. It provides two main modes:
- Benchmarking Mode: In benchmarking mode, most robust and more relevent GNN model is fined tuned by hyperparameter optimization.
- Screening Mode: In screening mode, first a library of mutants generated then screened using optimized/trained model.
- Interactive GUI: Modern PyQt6-based interface with real-time progress tracking
- PyTorch Integration: Leverages PyTorch and PyTorch Geometric for deep learning
- Comprehensive Analysis: Detailed metrics, plots, and result visualization
- Cross-Platform: Works on Linux systems with full desktop integration and Windows 64 bit
- Linux operating system (Ubuntu, CentOS, Fedora, etc.) or Windows 64 bit
- Internet connection for downloading dependencies
- At least 5GB of free disk space
# Download and extract the package, then run the installer
python install_stablyzegraph_gui.py# Clone the repository
git clone https://github.com/cosconatilab/StabLyzeGraph.git
cd StabLyzeGraph
# Run the installer
python install_stablyzegraph_gui.pyThe installer will automatically:
-
Setup Python Environment
- Detect or install Miniconda/Anaconda
- Create isolated Conda environment (
stablyzegraph_env) - Install PyTorch with CUDA support
-
Install Dependencies
- PyTorch & PyTorch Geometric
- PyQt6 for GUI
- Clustalo
- BioPython for sequence analysis
- Scientific Python stack (NumPy, Pandas, Matplotlib, etc.)
-
System Integration
- Create
stablyzegraphterminal command - Add desktop entry and application menu integration
- Generate desktop shortcut
- Setup uninstaller
- Create
During installation, you can choose:
- System-wide installation (
/opt/stablyzegraph) - requires sudo - User installation (
~/.local/share/stablyzegraph) - recommended
After installation, you can launch StablyzeGraph using any of these methods:
# Terminal command (available anywhere)
stablyzegraph
# Direct launcher script
~/.local/share/stablyzegraph/stablyzegraph.shOr use the desktop shortcut/application menu entry.
-
Input Files Required:
- Active Sequences (CSV)
- Inactive Sequences (CSV)
- Wild Type (FASTA)
- PDB Structure
- Properties (CSV)
-
Configure Parameters (Example):
- Hidden Dimension: 128 (default)
- Dropout Rate: 0.25 (default)
- Learning Rate: 0.00001 (default)
- Max Epochs: 1000 (default)
-
Run Analysis:
- Click "Run Benchmarking"
- Monitor progress in real-time
- View results: metrics, plots
-
Input Files Required:
- Same as Benchmarking mode
- Optional: Pre-trained model file
-
Configure Parameters:
- Number of Mutations: 2 (default)
- Generation Method: combinatorial (default)
-
Generate Mutants:
- Click "Run Screening"
- View ranked mutants table
- Export results
- OS: Linux (Ubuntu 18.04+, CentOS 7+, Fedora 30+) or Windows 64 bit
- RAM: 4GB (16GB recommended)
- Storage: 5GB free space
# Ubuntu/Debian
sudo apt update && sudo apt install build-essential wget curl
# CentOS/RHEL
sudo yum groupinstall 'Development Tools' && sudo yum install wget curl
# Fedora
sudo dnf groupinstall 'Development Tools' && sudo dnf install wget curlTo remove StablyzeGraph completely:
# Run the uninstaller (path depends on installation choice)
~/.local/share/stablyzegraph/uninstall_stablyzegraph.sh
# Or for system-wide installation
/opt/stablyzegraph/uninstall_stablyzegraph.shTo also remove the Conda environment:
conda env remove -n stablyzegraphInstallation fails with "conda not found":
# The installer will automatically install Miniconda
# If issues persist, manually install conda firstGUI doesn't start:
# Check if PyQt6 is properly installed
conda activate stablyzegraph_env
python -c "import PyQt6; print('PyQt6 OK')"GUI is not opening properly:
# Try to export QT platform manually and then try
export QT_QPA_PLATFORM=xcb- Check the installation logs for detailed error messages
- Ensure all system requirements are met
- Try running the installer with verbose output:
python install_stablyzegraph_gui.py
stablyzegraph-installer/
βββ install_stablyzegraph_gui.py # Main installer script
βββ README.md # This file
βββ Tutorial/ # Example input files and results for default comparison
βββ Benchmarking/ # Input and Result data files for benhcmarking analysis
βββ Screening/ # Input and Result data files for benhcmarking analysis
βββ src/ # Source files
βββ main.py # Main application
βββ Benchmarking.py # Benchmarking module
βββ Screening.py # Screening module
βββ requirements.txt # Python dependencies
βββ logo.png # Application logo
βββ icon.png # Application desktop icon
βββ StabLyzeGraph_Windows_x64_Installer/ # Installation folder for Windows
βββ StabLyzeGraph_Installer.exe # Installer for Windows version
βββ python_scripts/
βββ Mutation_list_to_sequence_conversion.py # Module for the conversion of a mutation list into protein mutant sequences
βββ Data_augmentation.py # Module for augmenting negative data class (if required)
βββ Similarity_check_BLOSUM.py # Module to run BLOSUM similarity check
βββ All_Benchmarking/ # Benchmarking Results
βββ Data_N # All Datasets Directories
βββ All_Datasets/ # Curated Datasets
βββ Data_N # All Datasets Directories
This project is licensed under the GNU Affero General Public License v3.0 License - see the LICENSE file for details.
