A comprehensive toolkit for protein design using joint TrROS/TrMRF models with zero-shot stability prediction using ESMFold, ESM2, and ProteinMPNN models.
- NVIDIA GPU with CUDA support (minimum 8GB VRAM recommended)
- Minimum 16GB RAM
- 50GB free disk space
- CUDA 12.5
- Python 3.7
- Tested on:
- NVIDIA A100 80GB
- Clone the repository:
git clone https://github.com/yehlincho/Joint_Model_Stability.git
cd Joint_Model_Stability- Run the setup script:
chmod +x setup.sh
./setup.shThe setup script will:
- Create a conda environment with Python 3.7
- Install all required Python packages
- Download pre-trained models (ESMFold, TrRosetta, TrMRF)
- Download stability dataset
- Set up Jupyter kernel
- Activate the conda environment:
conda activate joint_design1- Launch Jupyter:
jupyter notebook- Open
design_models/joint_models.ipynbfor protein design demo:
- This notebook demonstrates joint protein design using TrMRF and TrORS models
- Output: Designed protein sequences and structures
- For zero shot stability prediction, use notebooks in
zero_shot_models/:
esmfold/: ESMFold distogram cross entropy and pLDDT based predictionesm/: ESM2 pseudo perplexcity based predictionproteinmpnn/: ProteinMPNN unconditional/conditional cross entropy based prediction
- Using Joint Models:
from models import mk_design_model
# Initialize model
model = mk_design_model(add_pdb=True,
add_TrMRF=True,
add_TrROS=True,
msa_design=False,
serial=True)
# Design protein
design = model.design(inputs={"pdb": pdb_features,
"I": sequence_features},
opt_iter=100,
hard=False,
hard_switch=[50],
num=100,
return_traj=False,
verbose=True,
seqid=1.0)- Using Individual Models:
- TrMRF: Use
design_models/TrMRF.ipynb - TrROS: Use
design_models/TrROS.ipynb
This project is licensed under the MIT License.
For questions or inquiries, please contact Yehlin Cho at yehlin@mit.edu