EigenFold 开源项目使用教程

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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值