ThermoESM is an ESM-2–based protein thermostability prediction framework designed for large-scale stability annotation and thermostability-guided protein engineering. It integrates a unified dataset of approximately 90,000 proteins, combining high-throughput thermal proteome profiling (TPP) experimental Tm measurements with OGT-derived high-stability proteins. In this study, proteins with Tm ≥ 60 °C were designated as thermophilic, whereas those with Tm < 60 °C were classified as non-thermophilic. By merging high-quality experimental labels with reliably inferred thermostability categories, ThermoESM overcomes the limitations of traditional predictors that rely solely on noisy OGT annotations or small-scale Tm datasets. Its deep learning architecture incorporates self-attention encoders and convolutional residual modules, enabling robust generalization and accurate stability prediction across diverse protein families.
Ensure Docker is installed:
Docker Installation Guide
(https://docs.docker.com/get-started/get-docker/)
docker pull minghuilab/thermoesm:v1
• Image size: 15.2 GB
• Estimated download time (approximate):
100 Mbps: ~25 min
1 Gbps: ~3 min
(actual time depends on your network speed)
docker run -it minghuilab/thermoesm:v1 /bin/bash
cd ThermoESM
Inside the Docker container, create a folder to store input files:
mkdir -p ./ThermoESM/data/input_folder
Alternatively, use the predefined directory: ./ThermoESM/ThermoESM_input for input file storage.
Prepare input fasta in the following formats:
Input example (example.fa):
>J3QT28
MTGSNEFKLNQPPEDGISSVKFSPNTSQFLLVSSWDTSVRLYDVPANSMRLKYQHTGAVLDCAFYDPTHAWSGGLDHQLK
MHDLNTDQENLVGTHDAPIRCVEYCPEVNVMVTGSWDQTVKLWDPRTPCNAGTFSQPEKVYTLSVSGDRLIVGTAGRRVL
VWDLRNMGYVQQRRESSLKYQTRCIRAFPNKQGYVLSSIEGRVAVEYLDPSPEVQKKKYAFKCHRLKENNIEQIYPVNAI
SFHNIHNTFATGGSDGFVNIWDPFNKKRLCQFHRYPTS
>M0QX35
MAPTIQTQAQREDGHRSGVVCRVKYCNSLPDIPFDPKFITYPFDQNRFVQYKATSLEKQHKHDLLTEPDLGVTIDLINPD
TYRIDPNVLLDPADEKLLEEEIQAPTSSKRSQQHAKVVPWMRKTEYISTEFNRYGISNEKPEVKIGVSVKQQFTEEEIYK
DRDSQITAIEKTFEDAQKSISQHYSKPRVTPVEVMPVFPDFKMWINPCAQVIFDSDPAPKDTSGAAALEMMSQAMIRGMM
DEEGNQFVAYFLPVEETLKKRKRDQEEEMDYAPDDVYDYKIAREYNWNVKNKASKGYEENYFFIFREGDGVYYNELETRV
RLSKRRAKAGVQSGTNALLVVKHRDMNEKELEAQEARKAQLENHEPEEEEEEEMETEEKEAGGSVMLILRTMPTLMMRTE
DRPKVAVTMIQTAAAMGVASGAGATAAAPVPSPVAASTRPRRMAVKLQLLIPVKLIVTVTESQGIQGWFRHHYCEQQSTF
LVVCL
...
Command:
python predict.py \
input=./ThermoESM/data/ThermoESM_input/example.fa \
output=./ThermoESM/result/example_result.csv
After running ThermoESM, specified output file will be generated:
Prediction Results (*example_result.csv):
Example content:
Uniprot Sequence Prob Class
J3QT28 MTGSNEFKLNQPPEDGI... 1.952711e-10 non-thermophilic
M0QX35 MAPTIQTQAQREDGHRL... 4.8140027e-16 non-thermophilic
O43790 MTCGSYCGGRAFSCISA... 3.4743073e-16 non-thermophilic
P05378 MERIRPYRKTFLADLET... 1.0 thermophilic
P05379 MAANGAKGRKVMRVLVV... 1.0 thermophilic
• Uniprot: The UniProt identifier extracted from the input FASTA file.
• Sequence: The amino-acid sequence corresponding to the UniProt ID in the input FASTA file.
• Prob: The predicted probability that the protein is thermophilic (range 0–1).
• Class: Binary classification result based on Prob, where values ≥ 0.5 are assigned to the thermophilic class and values < 0.5 to the non-thermophilic class.
• RAM: ≥16 GB recommended
• Disk Space: ≥40 GB (Docker image: ~15.2 GB + additional space for feature and output)