Designing of thermostable proteins with a desired melting temperature
PPTStab is developed to predict the thermostability of proteins and design thermostable proteins. The standalone version uses an ANN+MLP ensemble regressor model. PPTStab is also available as a web-server at https://webs.iiitd.edu.in/raghava/pptstab. Please read/cite the content about PPTStab for complete information including the algorithm behind the approach.
To use PPTStab, follow these steps to set up your environment:
- Create a new Conda environment from the environment.yml file, replacing
<env_name>with your preferred name (e.g.pptstab):
conda env create -n <env_name> -f environment.ymlExample:
conda env create -n pptstab -f environment.ymlNote: If an environment with that name already exists, remove it first:
conda env remove -n <env_name> conda env create -n <env_name> -f environment.yml
- Activate the environment:
conda activate pptstabThe standalone version of PPTStab is written in Python 3.11. The following libraries are required:
| Package | Version |
|---|---|
| numpy | 1.26.4 |
| scikit-learn | 1.6.1 |
| tensorflow | 2.16.1 |
| torch | 2.3.1 |
| transformers | 4.41.2 |
| pandas | 2.3.3 |
| onnxruntime | 1.18.0 |
| joblib | 1.4.2 |
| tqdm | 4.66.4 |
To see all available options, type:
python pptstab.py -hTo run the example (predict melting temperature using default settings):
python pptstab.py -i example.fasta -f 1Results will be saved to outfile.csv by default.
usage: pptstab.py [-h] [-i INPUT] [-o OUTPUT] [-j {1,2}] [-d {1,2}] [-f {0,1}] [-m {EMB,AAC,SER}]
| Argument | Description | Default |
|---|---|---|
-i INPUT |
Input protein/peptide sequence(s) in FASTA format or one sequence per line | Required |
-o OUTPUT |
Output file name | outfile.csv |
-j {1,2} |
Job type: 1 = Predict, 2 = Design | 1 |
-f {0,1} |
Flag: 1 = lysate, 0 = cell | 1 |
-d {1,2} |
Display: 1 = thermophilic proteins only, 2 = all proteins | 1 |
-m {EMB,AAC,SER} |
Method: EMB (ProtBERT embeddings), AAC (amino acid composition), SER (Shannon entropy) | EMB |
Predict Tm using default ProtBERT embeddings:
python pptstab.py -i example.fasta -f 1 -m EMBPredict Tm using SER method (lysate context):
python pptstab.py -i example.fasta -f 1Predict Tm using AAC method, cell context, show all results:
python pptstab.py -i example.fasta -f 0 -m AAC -d 2Design thermostable mutants using SER method:
python pptstab.py -i example.fasta -j 2 -f 1 -m SER -o design_output.csvInput File: Accepts sequences in FASTA format or one sequence per line (single-letter amino acid code).
Output File: Results saved in CSV format. If no output file is specified, results are stored in outfile.csv.
Job: 1 = Predict melting temperature (Tm) for input sequences. 2 = Design mode — generates all single-point mutants of input sequences and predicts Tm for each.
Flag: Sets the experimental context. 1 = lysate (cell-free system), 0 = cell. Default is 1 (lysate).
Method: Selects the feature/model type. SER uses Shannon entropy per residue, AAC uses amino acid composition, EMB uses ProtBERT protein embeddings (requires GPU for large inputs).
| File | Description |
|---|---|
INSTALLATION |
Installation instructions |
LICENSE |
License information |
README.md |
This file |
pptstab.py |
Main Python program |
environment.yml |
Conda environment file |
example.fasta |
Example input file with protein sequences in FASTA format |
example_predict_output.csv |
Example output for predict module |
example_design_output.csv |
Example output for design module |
models/ |
Pre-trained model files (ANN ONNX + MLP pkl) for each method |