Skip to content

Repository files navigation

StaMutAble

About

StaMutAble is a computational framework for predicting mutation-induced protein stability changes, with a focus on improving the identification of stabilizing mutations. It integrates predictions from ten existing tools—PremPS, ThermoMPNN, MultiMutate, RaSP, FoldX, ACDC-NN, MAESTRO, ThermoNet, SimBa-SYM, and DDGun3D—as input features and trains ensemble random forest models on datasets balanced between destabilizing and stabilizing mutations. The framework provides two models: RF-Ensemble-BalAvg for regression and RF-Ensemble-BalVote for classification, enabling more accurate, robust, and balanced predictions, particularly for stabilizing mutations.

StaMutAble Installation and Usage Instructions

1. Download Docker Image

For the easiest setup, download the public Docker image. Make sure Docker is installed: https://docs.docker.com/get-started/get-docker/

wget https://huggingface.co/liuyang9529/StaMutAble/blob/main/stamutable_flat.tar.gz
gunzip -c stamutable_flat.tar.gz | docker import - minghuilab/stamutable:v1

• After decompression, the image is about 113 GB.
• Estimated download time depends on your network speed.

2. Run the Docker Container and Activate Environment

docker run -it minghuilab/stamutable:v1 /bin/bash
cd stamutable

3. Download RF models, Required Dependencies and Databases

Due to size limitations on Docker image uploads, the remaining files are provided through alternative distribution methods.

We have released all five regression models and five classification models on Hugging Face. You can download them using the following commands and place them in the specified directory.

(1) Download RF models

wget -O /stamutable/models/cls_1/mega1_3000_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/cls_mega1_3000_2_model.pkl
wget -O /stamutable/models/cls_2/mega2_7500_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/cls_mega2_7500_2_model.pkl
wget -O /stamutable/models/cls_3/mega3_6000_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/cls_mega3_6000_2_model.pkl
wget -O /stamutable/models/cls_4/mega4_8000_1_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/cls_mega4_8000_1_model.pkl
wget -O /stamutable/models/cls_5/mega5_5000_1_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/cls_mega5_5000_1_model.pkl

wget -O /stamutable/models/reg_1/mega1_3000_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/reg_mega1_3000_2_model.pkl
wget -O /stamutable/models/reg_2/mega2_5500_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/reg_mega2_5500_2_model.pkl
wget -O /stamutable/models/reg_3/mega3_4000_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/reg_mega3_4000_2_model.pkl
wget -O /stamutable/models/reg_4/mega4_3500_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/reg_mega4_3500_2_model.pkl
wget -O /stamutable/models/reg_5/mega5_3500_2_model.pkl https://huggingface.co/liuyang9529/StaMutAble/resolve/main/reg_mega5_3500_2_model.pkl

(2) Download Rosetta to run ThermoNet

Install Rosetta 3.10

Obtain an academic license for Rosetta from: https://els2.comotion.uw.edu/product/rosetta

Download Rosetta 3.10 (including both source code and Linux binaries) from: https://www.rosettacommons.org/software/license-and-download

Extract the downloaded tarball to a local directory. Ensure that the Rosetta executables can be accessed by specifying their full path (or by adding the directory to your PATH environment variable).

cd /stamutable/methods10/ThermoNet
wget https://downloads.rosettacommons.org/downloads/academic/3.10/rosetta_bin_linux_3.10_bundle.tgz
tar -xzvf rosetta_bin_linux_3.10_bundle.tgz -C /stamutable/methods10/ThermoNet

(3) Download uniclust30 to run DDGun3D

cd /stamutable/methods10/DDGun3D/ddgun-master/data/
wget -c http://wwwuser.gwdg.de/~compbiol/uniclust/2018_08/uniclust30_2018_08_hhsuite.tar.gz
tar -xzvf uniclust30_2018_08_hhsuite.tar.gz

4. Preparing Input files and Dictionaries

Please prepare an input directory, and name the input file as <folder_name>_input.txt.

Example: The program requires an input directory named /stamutable/example_5B83_1mut/, which should contain the mutation file example_5B83_1mut_input.txt.

The reference format for the input file is shown below:

PDB ID  MutChain        mutation
5B83    A       Y135K
5B83    A       G205R
5B83    A       V222P

Note:

(1) The PDB ID column lists the corresponding PDB identifiers. The MutChain column indicates the chain in which the mutation occurs. The mutation column lists the single-point mutations for the given protein.

(2) Different columns in the table are separated by tabs.

(3) Please ensure that PDB structure filenames do not contain underscores (_) and are consistent with the PDB IDs listed in the PDB ID column of the input mutation file.

5. Running StaMutAble

(1) You can run the program by editing the run_prediction.sh script .

You only need to fill in the first line, job_name, with the name of the directory you have defined.

For examples, you can set job_name to example_5B83_1mut or example_1L8W_1mut, as shown in /stamutable/run_prediction_example_5B83_1mut.sh and /stamutable/run_prediction_example_1L8W_1mut.sh.

job_name=""     # e.g. : example_5B83_1mut or example_1L8W_1mut
base_dir="/stamutable/${job_name}/"

input_muts="${base_dir}/${job_name}_input.txt"
input_pdbs="${base_dir}/input_pdbs"
output_pdbs="${base_dir}/pdbs"

methods10_input="${base_dir}/${job_name}.txt"
methods10_output="/stamutable/methods10_output/"

predicting_output="/stamutable/${job_name}_output/"
predicting_muts="/stamutable/${job_name}_predictions10.txt"
output_pdbs="${base_dir}/pdbs/"
mkdir -p "$output_pdbs"

(2) Running prediction

sh run_prediction.sh

Run two examples: example_5B83_1mut and example_1L8W_1mut.

sh run_prediction_example_5B83_1mut.sh
sh run_prediction_example_1L8W_1mut.sh

6. Understanding Output Files

After running StaMutAble, two types of output files will be generated in the specified output directory.

Among them, {job_name}_predictions10_reg_output.txt corresponds to the results of the regression model RF-Ensemble-BalAvg, while {job_name}_predictions10_cls_output.txt corresponds to the results of the classification model RF-Ensemble-BalVote.

The outputs for the two examples, example_5B83_1mut and example_1L8W_1mut, can be found in the folders example_5B83_1mut_output and example_1L8W_1mut_output, respectively. The meaning of each column can be referred to in the README.md file within the corresponding folder.

7. Recommended System Requirements

RAM: ≥120 GB recommended (≥110 GB minimal requirement)

Disk Space: ≥340 GB (Docker image: including ~113 GB for the Docker image, ~87 GB for the Uniclust30_2018_08 protein database, ~33 GB for Rosetta, plus additional space for data and outputs)

About

StaMutAble: An Ensemble Framework for Predicting Protein Stability Changes with Improved Recognition of Stabilizing Mutations

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors