Skip to content

A method that enables functional and substrate-specific control in enzyme backbone generation.

License

Notifications You must be signed in to change notification settings

Vecteur-libre/EnzyControl

Repository files navigation

EnzyControl

EnzyControl is a method that enables functional and substrate-specific control in enzyme backbone generation. This repo is built based on protein-frame-flow.

Installation

Set up your conda environment.

# Conda environment with dependencies.
conda env create -f EnzyControl.yml

# Activate environment
conda activate EnzyControl

# Manually need to install torch-scatter.
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.0.0+cu117.html

# Install local package.
# Current directory should be protein-frame-flow/
pip install -e .

Dataset

Our dataset is available at this. You can download and put it in the folder "/metadata/".

Inference

You can download our ckpt from here, and put it in the folder "/weights/" To run sampling, we specify the settings in config/inference_enzyme.yaml.

# Single GPU
python -W ignore experiments/inference_se3_flows.py -cn inference_enzyme

# Multiple GPU
python -W ignore experiments/inference_se3_flows.py -cn inference_enzyme inference.num_gpus=2

Training

All training flags are in configs/base.yaml. Below is explanation-by-example of the main flags to change. Note you can combine multiple flags in the command.

If you want to retrain our model, you need to download our dataset, preprocess it into the same format as the example data, and run the following command.

# Train on EnzyBind
python -W ignore experiments/train_se3_flows.py data.dataset=enzyme data.task=inpainting

# Training with larger batches. Depends on GPU memory
python -W ignore experiments/train_se3_flows.py data.dataset=enzyme data.task=inpainting data.sampler.max_num_res_squared=600_000

# Training with more GPUs
python -W ignore experiments/train_se3_flows.py data.dataset=enzyme data.task=inpainting experiment.num_devices=4

Citation

If you use our codes or checkpoints, please cite your paper:

@article{song2025enzycontrol,
  title={EnzyControl: Adding Functional and Substrate-Specific Control for Enzyme Backbone Generation},
  author={Song, Chao and Liu, Zhiyuan and Huang, Han and Wang, Liang and Wang, Qiong and Shi, Jianyu and Yu, Hui and Zhou, Yihang and Zhang, Yang},
  journal={arXiv preprint arXiv:2510.25132},
  year={2025}
}

About

A method that enables functional and substrate-specific control in enzyme backbone generation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages