首页
/ RFDiffusionAA 全原子蛋白质设计工具使用指南

RFDiffusionAA 全原子蛋白质设计工具使用指南

2026-02-06 05:47:53作者:庞队千Virginia

项目概述

RFDiffusionAA(RFDiffusion All Atom)是一个基于扩散模型的全原子蛋白质设计工具,由baker-laboratory开发。该项目结合深度学习和分子动力学技术,能够生成高质量的蛋白质结构,特别擅长设计小分子结合蛋白。

RFDiffusionAA架构图

环境准备与安装

安装Apptainer

首先需要安装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

克隆项目

git clone https://gitcode.com/gh_mirrors/rf/rf_diffusion_all_atom
cd rf_diffusion_all_atom

下载必要文件

下载运行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

初始化子模块

git submodule init
git submodule update

快速开始

小分子结合蛋白设计

以下命令演示如何生成与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

参数说明

  • inference.deterministic=True:启用确定性模式,确保结果可重现
  • diffuser.T=100:设置去噪步骤数为100
  • inference.output_prefix:输出文件前缀
  • inference.input_pdb:输入PDB文件路径
  • contigmap.contigs:指定生成的蛋白质长度和motif
  • inference.ligand:指定配体名称
  • inference.num_designs:生成的设计数量

包含蛋白质motif的设计

/usr/bin/apptainer run --nv rf_se3_diffusion.sif -u run_inference.py \
    inference.deterministic=True \
    diffuser.T=200 \
    inference.output_prefix=output/ligand_protein_motif/sample \
    inference.input_pdb=input/1haz.pdb \
    contigmap.contigs=['10-120,A84-87,10-120'] \
    contigmap.length="150-150" \
    inference.ligand=CYC \
    inference.num_designs=1 \
    inference.design_startnum=0

输出文件

运行完成后将生成以下文件:

  • output/ligand_only/sample_0.pdb:最终设计的蛋白质结构
  • output/ligand_only/sample_0_Xt-1_traj.pdb:部分去噪的中间结构
  • output/ligand_only/sample_0_X0-1_traj.pdb:网络在每个步骤对真实结构的预测

项目结构

rf_diffusion_all_atom/
├── config/
│   └── inference/
│       ├── aa.yaml
│       └── base.yaml
├── input/
│   ├── 1haz.pdb
│   └── 7v11.pdb
├── inference/
│   ├── model_runners.py
│   └── utils.py
├── potentials/
│   ├── manager.py
│   └── potentials.py
└── run_inference.py

高级用法

自定义配置

项目提供了两个主要的配置文件:

  • config/inference/base.yaml:基础配置参数
  • config/inference/aa.yaml:全原子模型特定配置

用户可以根据需要修改这些配置文件来调整模型行为。

多设计生成

通过调整inference.num_designs参数可以一次性生成多个设计:

inference.num_designs=10

GPU支持

使用--nv标志启用NVIDIA GPU加速。如果没有GPU,需要省略此标志。

注意事项

  1. 生成的蛋白质序列本身没有生物学意义,需要使用LigandMPNN等工具生成相应的序列
  2. 结果的可重现性受到硬件架构的影响
  3. 建议使用蛋白质结构预测工具(如AlphaFold2)对生成的结构进行验证

相关工具集成

RFDiffusionAA可以与其他蛋白质设计工具集成:

  • ProteinMPNN:用于蛋白质序列设计
  • AlphaFold2:用于结构验证
  • PyRosetta:用于结构分析和优化

通过结合这些工具,可以构建完整的蛋白质设计与优化工作流。

登录后查看全文

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
511
551
docsdocs
暂无描述
Markdown
853
5.69 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.05 K
2.5 K
kernelkernel
deepin linux kernel
C
33
16
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
840
1.28 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
847
1.71 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.25 K
1.38 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.3 K
859
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
511
346
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
789
415