FoldFlow: SE(3)-Stochastic Flow Matching for Protein Backbone Generation
This is the official repository for the paper SE(3)-Stochastic Flow Matching for Protein Backbone Generation.
We propose a new family of Flow Matching methods called FoldFlow tailored for distributions on SE(3) and with a focus on protein backbone generation. Our 3 proposed methods are:
Our experiments include:
Note that our methods can be adapted for all applications where data live on the SO(3)/SE(3) manifold.
Install dependencies
# clone project
git clone https://github.com/DreamFold/FoldFlow.git
cd FoldFlow
# [OPTIONAL] create conda environment
conda create -n foldflow python=3.9
conda activate foldflow
# install requirements
pip install -r requirements.txt
To run our jupyter notebooks, use the following commands after installing our package.
# install ipykernel
conda install -c anaconda ipykernel
# install conda env in jupyter notebooj
python -m ipykernel install --user --name=foldflow
# launch our notebooks with the foldflow kernel
The current repository only contains toy experiments for learning an SO(3) multimodal density using all three FoldFlow models.
If this codebase is useful towards other research efforts please consider citing us.
@misc{bose2023se3stochastic,
title={SE(3)-Stochastic Flow Matching for Protein Backbone Generation},
author={Avishek Joey Bose and Tara Akhound-Sadegh and Kilian Fatras and Guillaume Huguet and Jarrid Rector-Brooks and Cheng-Hao Liu and Andrei Cristian Nica and Maksym Korablyov and Michael Bronstein and Alexander Tong},
year={2023},
eprint={2310.02391},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
We welcome issues and pull requests (especially bug fixes) and contributions. We will try our best to improve readability and answer questions!
FoldFlow by Dreamfold is licensed under Attribution-NonCommercial 4.0 International
This code base is heavily inspired from the TorchCFM library! You can check Flow Matching with data living on Euclidean spaces there https://github.com/atong01/conditional-flow-matching