EigenFold 开源项目使用教程
1. 项目介绍
EigenFold 是一个基于扩散模型的生成式蛋白质结构预测工具。该项目由 Bowen Jing 等人开发,旨在通过扩散生成模型来预测蛋白质的结构分布。EigenFold 的核心思想是利用谐波扩散模型,结合蛋白质结构中的键约束,实现从已知序列到结构分布的生成过程。
EigenFold 项目的主要特点包括:
- 扩散生成模型:基于扩散模型的蛋白质结构预测。
- 谐波扩散:在扩散建模框架中引入键约束,提高预测精度。
- 级联分辨率生成过程:通过级联分辨率生成过程,逐步细化蛋白质结构。
2. 项目快速启动
2.1 环境准备
首先,确保你已经安装了 Python 3.10.9 或更高版本。然后,安装所需的依赖包:
pip install torch==1.11.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.11.0+cu113.html
pip install e3nn pyyaml wandb biopython matplotlib pandas
2.2 下载 OmegaFold 权重
下载 OmegaFold 的预训练权重并安装修改后的 OmegaFold 仓库:
wget https://helixon.s3.amazonaws.com/release1.pt
git clone https://github.com/bjing2016/OmegaFold
pip install --no-deps -e OmegaFold
2.3 安装 LDDT 和 TMScore 工具
安装 LDDT 和 TMScore 二进制文件,并将其添加到系统路径中。
2.4 生成 OmegaFold 嵌入
生成 OmegaFold 嵌入,用于后续的结构预测:
python make_embeddings.py --out_dir /embeddings --splits [SPLIT_CSV]
2.5 运行结构预测
使用生成的嵌入进行蛋白质结构预测:
python inference.py --model_dir /pretrained_model --ckpt epoch_7.pt --pdb_dir /structures --embeddings_dir /embeddings --embeddings_key name --elbo --num_samples 5 --alpha 1 --beta 3 --elbo_step 0.2 --splits [SPLIT_CSV]
3. 应用案例和最佳实践
3.1 应用案例
EigenFold 可以应用于多种蛋白质结构预测任务,包括但不限于:
- 新蛋白质的结构预测:通过已知的蛋白质序列,预测其三维结构。
- 蛋白质设计:在蛋白质设计过程中,预测设计的蛋白质序列的结构,评估其可行性。
3.2 最佳实践
- 数据准备:确保输入的蛋白质序列数据格式正确,并进行必要的预处理。
- 模型选择:根据具体任务选择合适的预训练模型和参数设置。
- 结果评估:使用 LDDT 和 TMScore 等工具对预测结果进行评估,确保预测精度。
4. 典型生态项目
EigenFold 作为一个生成式蛋白质结构预测工具,可以与其他蛋白质研究工具和平台结合使用,形成完整的蛋白质研究生态系统。以下是一些典型的生态项目:
- AlphaFold:DeepMind 开发的蛋白质结构预测工具,可以与 EigenFold 结合使用,提高预测精度。
- Rosetta:一个广泛使用的蛋白质设计和建模工具,可以与 EigenFold 结合,进行蛋白质设计和优化。
- PyRosetta:Rosetta 的 Python 接口,方便与 EigenFold 进行集成。
通过这些生态项目的结合,可以构建更加强大的蛋白质研究平台,推动蛋白质科学的发展。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考