VibeGen: End-to-end de novo protein generation targeting normal mode vibrations using a language diffusion model duo
Rarely being static, natural proteins often rely on dynamic motions to achieve key biological functions, such as enzymatic activity, signal transduction and structural regulation. However, it remains challenging to grasp the direct link between sequences and dynamics of natural proteins or design proteins beyond nature based on their dynamical signature. Here, we report a generative duo of protein language diffusion models that generate proteins to meet the specified normal mode of vibration as design goals. Consisting of a protein designer and a predictor, our duo designs ensemble of various protein sequences based on the given normal mode and predicts their vibrations to select the accurate ones, aiming at both diversity and accuracy. Via full-atom molecular simulations for direct validation, we demonstrate the generated proteins are mostly de novo and fulfill the targeted vibrational mode across the residues of the backbone. Our models provide end-to-end connections between protein sequences and vibrational motions in both directions, offer efficient pathways to navigate the broad protein sequence space unconstrained by biological synthesis, and enable the discovery of flexible proteins with desired dynamic properties and biological functions.
Model checkpoints
The ProteinPredictor
folder contains the following files.
- last model check point: Last_ckpt.pt
- best model check point: Best_ckpt.pt
- data info: data_pack.pickle
- model info: model_pack.pickle
This ProteinDesigner
folder contains the following files.
- last model check point: Last_ckpt.pt
- best model check point: Best_ckpt.pt
- data info: data_pack.pickle
- model info: model_pack.pickle
- formated test set info: df_test.pk
Reference
@paper{BoBuehler2025VibeGen,
author = {Ni, Bo and Buehler, Markus J.},
title = {VibeGen: End-to-end de novo protein generation targeting normal mode vibrations using a language diffusion model duo},
year = {2025},
eprint = {XXX.YYYYY},
archivePrefix = {arXiv},
doi = {ZZZ},
url = {ZZZ}
}