112

AlphaFold2 论文精读:蛋白结构预测的里程碑

AlphaFold2 是结构生物学的分水岭。这篇讲清它的架构核心、置信度指标与在药物发现中的真实边界。

AlphaFold2(Jumper 等,Nature 2021)在 CASP14 上把蛋白结构预测的准确度提升到接近实验水平,是计算生物学几十年来最重要的突破。理解它的架构与局限,对判断「什么时候能用预测结构」至关重要。

三个核心组件

组件 作用
MSA 与模板搜索 从序列数据库找同源序列,构建多序列比对
Evoformer 在 MSA 表示与残基对表示间反复交换信息
结构模块 从表示直接生成三维坐标

为什么 MSA 是关键

# 核心生物学原理:共进化
#
# 如果两个残基在三维空间中接触,
# 那么其中一个突变时,另一个往往也会「补偿性」突变
# (否则结构被破坏,蛋白失活)
#
# → 在大量同源序列中,接触的残基对表现出相关的变异模式
# → 从 MSA 中统计这种相关性,可以推断哪些残基在空间上接近
#
# 这就是为什么:
#   1) MSA 的深度决定预测质量
#      同源序列少 → 共进化信号弱 → 预测差
#   2) 孤儿蛋白(无同源序列)预测困难
#   3) 人工设计的蛋白预测困难(没有进化史)
#
# AlphaFold2 相对前人的突破:
#   前人:从 MSA 统计出接触图,再用接触图约束建模(两步)
#   AF2:MSA 表示与结构表示在网络中【端到端联合优化】
#        → Evoformer 让两种表示反复相互更新

Evoformer 的关键设计

  • 两个表示并行更新:MSA 表示(序列 × 残基)与残基对表示(残基 × 残基),两者通过注意力反复交换信息;
  • 三角更新与三角注意力这是最有洞察力的设计。残基对表示中,i–j、j–k、i–k 三个距离必须满足三角不等式。三角操作显式地在网络中强制这种几何一致性——把物理约束编码进架构,而非指望网络自己学会
  • 不变点注意力(IPA):结构模块中的注意力机制,在局部坐标系中操作,保证等变性;
  • 循环回收(recycling):把预测的结构再输入网络,迭代精化 3~4 轮——用少量参数换取更多计算,是很划算的设计
  • 自蒸馏训练:用模型对未知结构蛋白的高置信度预测作为额外训练数据,扩大了训练集。

置信度指标:必须会读

# pLDDT(predicted Local Distance Difference Test)
#   逐残基的置信度,0~100,越高越可信
#
#   > 90     非常高,主链与侧链都可靠
#   70 ~ 90  可信的主链
#   50 ~ 70  低,需谨慎
#   < 50     很可能是【无序区】而非「预测错了」
#
#   关键理解:
#     低 pLDDT 常常是有信息的 —— 它提示该区域本身就无固定结构
#     这与「模型不会预测」是两回事
#
#   在 PDB 格式中,pLDDT 存放在 B 因子列

# PAE(Predicted Aligned Error)
#   残基对之间的相对位置误差矩阵,单位 Å
#
#   读法:
#     以残基 i 为参照对齐时,残基 j 的预测位置误差
#     低 PAE 区块 = 该区域内部相对位置可靠
#
#   最重要的用途:判断【结构域之间的相对取向】
#     两个域各自 pLDDT 很高,但域间 PAE 很大
#     → 各域结构可信,但它们的相对摆放不可信
#     → 【这是最常被忽略的判读】
#
#   对多链复合物:链间 PAE 是判断相互作用可信度的核心指标

# ipTM / pTM(多链预测)
#   pTM:  整体的预测 TM-score
#   ipTM: 界面的预测 TM-score
#   → ipTM > 0.8 通常认为界面可信
#   → ipTM < 0.6 界面预测不可靠

在药物发现中的真实边界

用途 可行性
获得蛋白的整体折叠 很可靠
同源建模的替代 可靠且更好
判断结构域边界 可靠
识别无序区 可靠(低 pLDDT 区)
直接用于对接 需谨慎(见下)
预测点突变的影响 不可靠
预测构象变化 不可靠
预测配体结合位点的构象 不可靠

用于对接时的问题

  • 预测的是 apo 样构象这是最关键的限制。AlphaFold2 学习的是 PDB 中的结构,输出倾向于「该蛋白最常见的构象」——而配体结合往往需要口袋打开或侧链重排;
  • 侧链取向不可靠:即使主链准确(pLDDT > 90),结合位点侧链的具体朝向可能与配体结合态不同。而对接对侧链位置极其敏感
  • 无辅因子与金属:AF2 不预测辅因子,而很多口袋的形状依赖它们;
  • 基准结果:多项研究发现,用 AF2 结构做对接的成功率明显低于用共晶结构,尤其在虚拟筛选的富集能力上;
  • 应对

使用途径

# 1) AlphaFold 数据库(最简单)
#    https://alphafold.ebi.ac.uk/
#    已覆盖 2 亿以上蛋白,包括几乎所有人类蛋白
#    → 大多数情况直接下载即可,不必自己跑

# 2) ColabFold(见 118)
#    用 MMseqs2 加速 MSA 搜索,Colab 免费 GPU 可用
#    → 需要预测数据库中没有的序列时用它

# 3) 本地部署官方代码 / OpenFold(见 117)
#    需要下载数 TB 的序列数据库
#    → 只在有大批量需求时值得

# 用 Python 读取置信度
from Bio.PDB import PDBParser
import numpy as np

structure = PDBParser(QUIET=True).get_structure("af", "AF-P00533-F1.pdb")
plddt = [a.get_bfactor() for a in structure.get_atoms() if a.get_id() == "CA"]
plddt = np.array(plddt)

print(f"平均 pLDDT: {plddt.mean():.1f}")
print(f"高置信度残基比例: {(plddt > 90).mean():.1%}")
print(f"可能无序的残基比例: {(plddt < 50).mean():.1%}")

关键要点

  • MSA 深度决定预测质量——共进化信号是方法的物理基础;
  • 三角注意力把几何一致性约束编码进架构,是最有洞察力的设计;
  • 域内 pLDDT 高不代表域间相对取向可信——必须看 PAE;
  • 预测的是 apo 样构象、侧链取向不可靠,直接用于对接需谨慎验证

延伸资源