2. AlphaFold2 原理简介:架构、输入输出、置信度指标
大家好,我是你们这堂课的讲师。说到AlphaFold2,很多同学可能觉得它是个“黑盒子”,序列进去,结构出来。其实它的内部设计相当精妙。我当年第一次跑AlphaFold2的时候,说实话,看着那一堆输出文件和指标,也有点懵。后来用多了,才慢慢摸清它的脾气。
这一节,我带大家快速过一遍AlphaFold2的核心原理。你不会听到冗长的数学推导,重点是理解它的 架构骨架、输入输出长什么样,以及我们做域间距离分析时最关心的两个指标——pLDDT 和 PAE。
2.1 整体架构:不是端到端,而是“两块砖”
AlphaFold2不只是一个神经网络,它由两个核心模块串联而成:Evoformer 和 结构模块。
- Evoformer:负责“理解”蛋白质。它把多序列比对信息和模板信息揉在一起,通过深层的Transformer,不断精化每一对残基的表征。说白了,它是在脑子里构建一个关系图谱——残基i和残基j之间有什么关系,距离远不远,有没有相互作用。
- 结构模块:负责“折叠”蛋白质。它拿到Evoformer提供的精细表征后,直接输出每个残基的骨架坐标和侧链角度。这个模块用了 IPA(Invariant Point Attention) 机制,确保预测对旋转和平移是结构不变的。你想想看,分子在三维空间里随便转,它都能认出来。
我个人觉得,这个分工非常清晰:一个做推理,一个做构造。我在项目中调试的时候,经常把Evoformer的输出拿出来看看,能发现很多MSA噪声导致的问题。
2.2 输入与输出:你给什么,它吐什么
输入其实有三个部分,缺一不可:
- 目标序列:就是你想要预测结构的那个蛋白的氨基酸序列,FASTA格式。
- 多序列比对(MSA):通过同源序列检索(比如MMseqs2)得到的。MSA的质量直接决定了预测的上限。我曾经遇到过MSA里混进大量同源性很差的片段,结果预测的结构一塌糊涂。
- 模板结构:从PDB库里找的同源结构。AlphaFold2对模板的依赖其实比大家想象的要小,但遇到全新的折叠类型时,模板还是能给一个不错的初始参考。
输出比较丰富,其中最核心的是:
| 输出文件 | 内容 | 对我们课程的意义 |
|---|---|---|
| ranked_0.pdb | 最优模型的原子坐标 | 直接可视化的基础 |
| result_model_0.pkl | 完整推理结果,包括所有中间层 | 提取PAE矩阵和pLDDT的源头 |
| confidence_0.json | 摘要置信度指标 | 快速查看pLDDT、pTM等 |
嗯,这里要注意。如果你只拿到了PDB文件,想直接分析PAE是做不到的。PAE矩阵藏在.pkl文件里。我习惯用Python的pickle模块手动加载它,然后掏出PAE矩阵。
import pickle
# 加载AlphaFold2输出的.pkl文件
with open('result_model_0.pkl', 'rb') as f:
data = pickle.load(f)
# 提取PAE矩阵,形状为 [N_res, N_res]
pae_matrix = data['pae']
# pLDDT是每个残基的1维数组
plddt = data['plddt']
print(f"PAE矩阵形状: {pae_matrix.shape}")
print(f"前5个残基的pLDDT: {plddt[:5]}")
2.3 置信度指标:pLDDT vs PAE
这两个指标我们会在后续课程里反复用到。这里先做一个概览。
pLDDT(每个残基的局部置信度):来源于AlphaFold2对每个残基的IDDT-Cα评分预测。说白了,它告诉你“这个残基周围的局部结构我猜得有多准”。
- pLDDT > 90:高度可信,侧链都基本可信。
- 70 < pLDDT ≤ 90:骨架基本可信,但侧链可能不准。
- 50 < pLDDT ≤ 70:无序区域或灵活性大的环区,骨架也不太可靠。
- pLDDT ≤ 50:基本上是不可信区域,往往对应天然无序区。
PAE(残基对之间的距离误差):这个厉害了。它是一个N×N的矩阵,元素PAE[i][j]表示“如果我把残基i和残基j对齐,它们在预测结构中位置误差的期望值(单位是埃)”。
- 小PAE值(比如<5Å):表示这两个残基之间的相对位置非常可信。
- 大PAE值(比如>10Å):表示模型对这两个残基的相对位置把握不大。
- 在分析域间距离时,我们特别关注PAE[domain_A][domain_B]这个区域块。如果整块都是绿色(低PAE),说明两个域的界面预测很可靠。
我个人习惯是先看pLDDT,排除掉那些明显无序的低置信度区域,然后用PAE矩阵去界定哪些域之间是紧密关联的,哪些是相对独立的。你想想看,如果一个域内部的pLDDT都很高,但域间的PAE很大,那大概率是两个柔性连接的独立结构域。这个信号在后续的域切割和工作流里特别重要。