使用 AlphaFold 2 和 3 预测分子结构
引言
2024 年 10 月,诺贝尔化学奖表彰了 AlphaFold 2 的工作。这是由 Google DeepMind 开发的深度学习模型,能够仅根据氨基酸序列准确预测蛋白质的三维结构。鉴于蛋白质在生物过程中的关键作用,以及蛋白质结构与其功能的紧密关联,说这项工作具有革命性都显得轻描淡写了。历史上,研究人员需要花费整个博士生涯或数年的职业生涯,使用 X 射线晶体学或冷冻电镜等实验方法来解析单个蛋白质的结构。这拖慢了许多生物学研究领域的进展,包括为众多目前无法治愈的疾病寻找有效的候选药物。
关键要点
- AlphaFold 2 并非旨在取代湿实验室实验技术,而是提供可检验的假设,以指导研究人员的蛋白质结构预测工作。AlphaFold 2 使用来自蛋白质数据库(Protein Data Bank)的数据进行训练。
- AlphaFold 3 在 AlphaFold 2 的基础上增加了新功能,包括能够预测包含蛋白质数据库中除水分子外所有分子类型的复合物结构。AlphaFold 3 可以处理:
- 蛋白质与 DNA、RNA、小分子配体和离子的复合物
- 具有蛋白质翻译后修饰(包括糖基化)的结构
- AlphaFold 2 和 3 都使用多序列比对(MSA)作为输入,但 AlphaFold 3 除了蛋白质外还使用 RNA 链。
- AlphaFold 2 在 Apache 2.0 许可证下可免费使用,而 AlphaFold 3 仅限于非商业用途。
前提条件
鉴于本文涵盖分子结构预测,我们建议您具备或熟悉生物分子及相关生物学术语(例如蛋白质、RNA、配体等)。您还需要申请 AlphaFold 3 的模型参数才能非商业地使用 AlphaFold 3 模型。访问权限通常在 2-3 个工作日内授予。此外,要遵循部署说明,本文假设您熟悉技术概念,包括云基础设施(DigitalOcean GPU Droplets)、命令行操作(SSH、git)以及使用 Docker 进行容器化。
理解输入
多序列比对
AlphaFold 2 使用多序列比对(MSA)来理解蛋白质之间的进化关系。MSA 之所以有效,是基于这样的逻辑:如果发生突变,相互接触的氨基酸很可能都会发生突变。
模型架构(AF2 与 AF3)- 特征 AlphaFold 2 AlphaFold 3
- 主处理器 Evoformer:在整个过程中深度整合 MSA 和配对特征。 Pairformer:简化 MSA 处理;专注于配对表示。
- 3D 输出引擎 结构模块:使用物理/几何偏差(框架/扭转角)。 扩散模块:对原始原子坐标进行生成式去噪。
- 对称性约束 严格强制执行旋转/平移不变性。 放弃许多显式几何约束以获得更大的灵活性。
- 输入多样性 主要针对氨基酸序列(蛋白质)进行优化。 统一的“令牌”系统,适用于蛋白质、核酸和小分子配体。
复制代码
理解输出
置信度指标
AlphaFold 提供置信度指标,例如 pLDDT、pTM 和 PAE。
pLDDT
pLDDT(预测局部距离差异测试)指的是预测 LDDT 值(局部距离差异测试)。该值是每个残基局部结构置信度的度量。换句话说,它表示我们对预测结构与实验结构相符的把握程度。该值范围从 0 到 100,分数越高表示置信度越高,通常预测也越准确。
pTM 和 ipTM
预测模板建模(pTM)分数和界面预测模板建模(ipTM)分数均源自模板建模分数,该分数衡量整个结构的准确性。pTM 分数超过 0.5 表明预测的复合物折叠可能与真实结构匹配。ipTM 评估亚基的预测相对位置:值高于 0.8 表示高置信度预测,低于 0.6 表示可能失败,0.6-0.8 表示不确定。对于小结构或短链(少于 20 个令牌),TM 评分变得过于严格,导致 pTM 值低于 0.05;此时,PAE 或 pLDDT 能更好地指示预测质量。
PAE
PAE,即预测对齐误差,是衡量 AlphaFold 2 对预测结构中两个残基(令牌)的相对位置和方向的置信度。值越高对应预测误差越大,因此置信度越低。
我应该使用 AlphaFold 2 还是 3?
AlphaFold 3 在准确性上超越了 AlphaFold 2,并且可以预测多分子复合物,但许可证差异意味着 AlphaFold 2 对许多用户来说仍然必不可少。AlphaFold 2 在 Apache 2.0 许可证下可免费用于学术和商业用途,而 AlphaFold 3 仅限于非商业用途;您不能将其用于商业研究、训练竞争性机器学习模型或为商业目的生成输出。此外,AlphaFold 3 对聚合物的置信度分数受离子或配体等非聚合物背景的严重影响,因此对于仅涉及聚合物的研究(如蛋白质-蛋白质相互作用),您可能需要添加上下文分子以获得可靠的分数,而 AlphaFold 2 则避免了这种复杂性,尽管准确性稍低。鉴于这些因素,Google DeepMind 继续支持 AlphaFold 2 作为研发的宝贵工具。
在 DigitalOcean 上运行 AlphaFold 2
AlphaFold 2 需要下载近 2.5 TB 的遗传数据库(UniRef90、MGnify、BFD 等)。我们需要附加一个块存储卷(AF2 为 2.5 TB,AF3 为 1 TB)来存放这些遗传数据库。
步骤 1:环境设置(AF2)
选择“AI/ML Ready”Ubuntu 镜像,以确保 NVIDIA 驱动程序和 Docker 已预安装。通过 SSH 连接到您的 GPU Droplet:我们还需要确保系统是最新的。更新本地软件包索引:- sudo apt update && sudo apt upgrade -y
复制代码
步骤 2:下载遗传数据库和模型参数
此步骤可能需要一些时间。- scripts/download_all_data.sh /path/to/your/storage > download.log 2> download_error.log &
复制代码
步骤 3:构建 Docker 镜像并安装依赖项- docker build -f docker/Dockerfile -t alphafold .
- pip3 install -r docker/requirements.txt
复制代码
步骤 4:运行模型- python3 docker/run_docker.py \
- --fasta_paths=your_protein.fasta \
- --max_template_date=2022-01-01 \
- --data_dir=$DOWNLOAD_DIR \
- --output_dir=/home/user/absolute_path_to_the_output_dir
复制代码
在 DigitalOcean 上运行 AlphaFold 3
我们还将向您展示如何使用我们的 GPU Droplets 运行 AlphaFold 3。请注意,此模型仅限于非商业用途。填写此表格以获取模型参数的访问权限。权限通常在 2-3 个工作日内授予。
步骤 1:环境设置(AF3)
选择“AI/ML Ready”Ubuntu 镜像,以确保 NVIDIA 驱动程序和 Docker 已预安装。通过 SSH 连接到您的 GPU Droplet:
步骤 2:克隆仓库
安装 git 并下载 AlphaFold 3 仓库:- git clone https://github.com/google-deepmind/alphafold3.git
- cd alphafold3
复制代码
步骤 3:运行 AlphaFold 3 模型- docker build -t alphafold3 -f docker/Dockerfile .
- docker run -it \
- --volume $HOME/af_input:/root/af_input \
- --volume $HOME/af_output:/root/af_output \
- --volume <MODEL_PARAMETERS_DIR>:/root/models \
- --volume <DB_DIR>:/root/public_databases \
- --gpus all \
- alphafold3 \
- python run_alphafold.py \
- --json_path=/root/af_input/fold_input.json \
- --model_dir=/root/models \
- --output_dir=/root/af_output
复制代码
常见问题解答
AlphaFold 2 和 AlphaFold 3 的主要区别是什么?
虽然 AlphaFold 2 彻底改变了蛋白质结构预测,但 AlphaFold 3 显著扩展了视野。主要区别包括:
- 分子范围:AF2 几乎完全专注于蛋白质。AF3 可以预测涉及 DNA、RNA、配体和离子的复合物。
- 架构:AF2 使用“Evoformer”模块,而 AF3 使用更简单的“Pairformer”和基于扩散的头部。
- 许可证:这是关键区别。AF2 采用 Apache 2.0 许可证(允许商业使用),而 AF3 目前仅限于非商业使用。
为什么 AlphaFold 2 需要 2.5 TB 的存储空间?
模型本身并不占用太多存储空间——实际上是遗传数据库。AlphaFold 2 依赖多序列比对(MSA)来理解蛋白质是如何进化的。为此,它需要搜索庞大的数据库,如 UniRef90、MGnify 和 Big Fantastic Database(BFD)。
注意:如果您的存储空间紧张,与完整的 AlphaFold 2 堆栈相比,AlphaFold 3 需要更小的数据库占用空间(约 1 TB)。
如何解读 pLDDT 置信度分数?
pLDDT(预测局部距离差异测试)是每个残基的置信度度量,范围从 0 到 100:
- > 90:高置信度;这些区域可能高度准确,可用于详细的结构分析。
- 70 - 90:良好置信度;主链可能正确。
- 50 - 70:低置信度;需谨慎使用。
- < 50:非常低的置信度;这些区域通常是“内在无序的”,意味着它们本身没有固定的 3D 结构。
我可以在没有 GPU 的标准 Droplet 上运行 AlphaFold 吗?
从技术上讲,“折叠”(推理)可以在 CPU 上运行,但速度会慢得令人望而却步——对于 GPU 几分钟就能处理的复杂结构,CPU 可能需要数天或数周。此外,AlphaFold 的 Docker 镜像针对 NVIDIA 的 CUDA 工具包进行了优化。对于任何实际研究,DigitalOcean GPU Droplet 基本上是必需的。
什么是 SMILES 字符串,为什么 AlphaFold 3 需要它?
SMILES 代表简化分子输入行输入系统。它是一种将化学结构表示为文本字符串的符号系统。由于 AlphaFold 3 可以预测蛋白质如何与小分子药物(配体)相互作用,您需要通过 SMILES 字符串提供药物的结构(例如,阿司匹林的 SMILES 字符串为 CC(=O)OC1=CC=CC=C1C(=O)O)。
预测的结构是“最终”的吗?
不一定。虽然 AlphaFold 异常准确,但它是一个预测模型,而非实验观察。在药物发现或分子生物学中,AlphaFold 最好用于生成可检验的假设,但指导可验证的湿实验室实验。
结论
恭喜您完成阅读。您刚刚(希望成功)在带有 DigitalOcean 卷存储的 DigitalOcean GPU Droplet 上部署了 AlphaFold 2 和/或 3。AlphaFold 使结构生物学更加普及,使全球研究人员能够获得原本需要多年昂贵实验工作才能获得的见解。然而,一些研究人员警告说,仅依赖 AlphaFold 而不进行实验验证——尤其是在药物发现中——可能导致错误的机制模型,这强调了将计算预测与实验室验证相结合的重要性。
除了其直接的科学影响外,AlphaFold 还展示了人工智能如何应对复杂的科学挑战,让我们一窥计算工具将如何继续重塑我们对自然世界的理解以及我们应对科学发现中紧迫挑战的能力。
参考文献和额外资源
原文链接:Predicting Molecular Structures with AlphaFold 2 and 3 |