RFDiffusionAA 项目使用教程
项目地址:https://gitcode.com/gh_mirrors/rf/rf_diffusion_all_atom
1. 项目介绍
RFDiffusionAA(RFDiffusion All Atom)是由baker-laboratory开发的一个开源项目,专注于使用扩散模型进行全原子蛋白质设计。该项目通过结合深度学习和分子动力学,能够生成高质量的蛋白质结构,特别适用于小分子结合蛋白的设计。
RFDiffusionAA的核心功能包括:
- 使用扩散模型生成蛋白质结构
- 支持小分子结合蛋白的设计
- 提供预训练模型权重和容器,方便快速部署
2. 项目快速启动
2.1 环境准备
首先,确保你已经安装了Apptainer(以前称为Singularity)。如果没有安装,可以通过以下命令安装:
wget https://github.com/apptainer/apptainer/releases/download/v1.0.0/apptainer-1.0.0.tar.gz
tar -xzf apptainer-1.0.0.tar.gz
cd apptainer-1.0.0
./configure --prefix=/usr/local
make
sudo make install
2.2 克隆项目
使用以下命令克隆RFDiffusionAA项目:
git clone https://github.com/baker-laboratory/rf_diffusion_all_atom.git
cd rf_diffusion_all_atom
2.3 下载容器和模型权重
下载用于运行RFDiffusionAA的容器和模型权重:
wget http://files.ipd.uw.edu/pub/RF-All-Atom/containers/rf_se3_diffusion.sif
wget http://files.ipd.uw.edu/pub/RF-All-Atom/weights/RFDiffusionAA_paper_weights.pt
2.4 初始化子模块
初始化并更新Git子模块:
git submodule init
git submodule update
2.5 运行示例
以下是一个生成小分子结合蛋白的示例命令:
/usr/bin/apptainer run --nv rf_se3_diffusion.sif -u run_inference.py \
inference.deterministic=True \
diffuser.T=100 \
inference.output_prefix=output/ligand_only/sample \
inference.input_pdb=input/7v11.pdb \
contigmap.contigs=['150-150'] \
inference.ligand=OQO \
inference.num_designs=1 \
inference.design_startnum=0
3. 应用案例和最佳实践
3.1 小分子结合蛋白设计
RFDiffusionAA可以用于设计与特定小分子结合的蛋白质。例如,设计一个与OQO小分子结合的蛋白质,可以使用以下命令:
/usr/bin/apptainer run --nv rf_se3_diffusion.sif -u run_inference.py \
inference.deterministic=True \
diffuser.T=100 \
inference.output_prefix=output/ligand_only/sample \
inference.input_pdb=input/7v11.pdb \
contigmap.contigs=['150-150'] \
inference.ligand=OQO \
inference.num_designs=1 \
inference.design_startnum=0
3.2 蛋白质结构优化
RFDiffusionAA还可以用于优化现有蛋白质的结构。通过调整扩散步数和输出前缀,可以生成多个优化后的结构。
4. 典型生态项目
4.1 AlphaFold2
AlphaFold2是由DeepMind开发的蛋白质结构预测工具,RFDiffusionAA生成的蛋白质结构可以进一步使用AlphaFold2进行验证和优化。
4.2 ProteinMPNN
ProteinMPNN是一个用于蛋白质序列设计的工具,RFDiffusionAA生成的蛋白质结构可以通过ProteinMPNN生成对应的序列。
4.3 PyRosetta
PyRosetta是一个用于蛋白质结构建模和分析的工具包,RFDiffusionAA生成的蛋白质结构可以使用PyRosetta进行进一步的分析和优化。
通过结合这些工具,可以构建一个完整的蛋白质设计与优化工作流。