☰
从AlphaFold2到AlphaFold3:深度学习重塑蛋白质结构预测的范式与实践
2026/10/20 2:54:46 网站建设 项目流程

2020年底CASP竞赛结果公布的那个月,整个结构生物学圈子的讨论氛围都不一样了。蛋白质结构预测这个喊了五十年的老问题,突然被端到端的深度学习模型以一种近乎碾压的方式刷新了精度记录。作为常年跟序列、结构、多序列比对和分子模拟打交道的计算方向从业者,我当时的第一个反应不是兴奋,而是警惕:这东西到底是真的理解蛋白质折叠,还是靠海量数据硬记出来的"魔术"?带着这个疑问,我陆续把AlphaFold2的架构论文、训练策略、开源实现逐一过了一遍,后来又把AlphaFold3在复合物预测上的思路理清,也开始在蛋白质组学的大规模场景里实际跑管线。这篇文章就是把这些理解和踩坑整理出来的结果,希望能帮刚入坑的同学,以及正准备把结构预测纳入日常分析流程的同行,少走一点弯路。

1. 旧路线的物理模型为什么撞上极限:CASP见证的二十年停滞

1.1 折叠问题的起点与"物理计算"的天花板

上世纪六十年代,安芬森实验证明了蛋白质的一级序列在足够条件下可以自发折叠成天然构象,这给整个领域留下了一个极具诱惑力的命题:只要把自由能函数算准,把构象空间搜遍,理论上就能从序列直接推出结构。于是很长一段时间里,主流的预测路线都是物理驱动:用分子力学力场加上溶剂化修正来近似自由能,再用分子动力学、蒙特卡洛、模拟退火等方法去采样构象空间,最后找全局能量最低点。

这个思路在理论上是自洽的,落地时却撞得满头包。真实蛋白质的构象自由度是天文数字,哪怕只考虑二面角,一条三百个残基的蛋白也拥有一个根本不可能暴力枚举的空间。更麻烦的是,天然态和错误构象之间的能量差往往只有几个千卡每摩尔,这个量级比力场本身的误差还小。说白了,物理计算是在用一个精度不够的尺子,去测量一个极其微小的差值。所以那一二十年里,无模板建模的精度长期徘徊在一个不算差但远谈不上"解决"的水平,CASP竞赛的榜单也证明了这一点:自由建模类目的分数从第2届到第14届之间几乎没有本质跃升。

1.2 深度学习入场:从接触图预测到端到端跃迁

物理路线停滞的时候,另一条路在悄悄积累弹药。大概从2010年代中期开始,研究者发现可以利用进化信息来预测残基对之间的接触图:如果两条同源序列上的两个残基总是在突变时"你补偿我、我迁就你",那它们在三维空间里大概率是挨着的。配合深度神经网络,接触图预测的精度逐年提升,再通过距离几何约束重建结构,AlphaFold1就是这么做的,它同时预测残基间距离分布并用能量最小化做结构重组,在CASP13上已经能排到前列。

但AlphaFold1的思路本质上还是"先预测中间量,再拼接结构",距离图预测得再准,最后用传统方法重建坐标时还是会引入误差。AlphaFold2真正激进的地方在于:它把网络直接接到三维坐标上,让整体损失函数驱动一切,中间不再有手工设计的能量函数和复杂的后处理。CASP14的成绩大家都知道了,总体中位GDT超过92,最难的目标也能到87以上,比第二名高出一大截。这不是一个渐进式的改进,而是把预测过程从"测距+拼图"彻底变成了"看序列直接画坐标"。

1.3 为什么说这是范式转移

围观群众看到的是一条突然拔高的精度曲线,但真正重要的东西在底层:问题表征从物理量换成了可学习的表示。以前我们分析一个预测结构时会说"这个残基和那个残基在能量上冲突了",现在更多是说"这个残基在某个高维特征空间里和那个残基建立了强注意力关系"。能量函数被隐式地压缩进了参数里,等价于让网络从大量已解析结构中学出一套自己的"结构语法"。

这也带来一个必须清醒看待的问题:模型的解释性变差了。我们没办法像拆解一个力场那样去逐项分析它为什么这样判断,只能通过注意力权重、表示分析和行为实验去间接理解。对于工程使用来说这没什么,但对于研究者来说,这意味着我们需要更大的警惕性——后面我会专门讲置信度指标和结果判读的边界。

2. AlphaFold2方法论拆解:Evoformer与IPA的三维直觉

2.1 多序列比对:进化信号是"免费的老师"

AlphaFold2的第一个输入是关键:多序列比对(MSA)。为什么它这么重要?因为进化替我们做了无数次"自然实验"。想象一个蛋白家族里,两个残基在三维结构上直接接触,如果其中一个位置发生突变导致接触破坏,那另一个位置往往也会突变来维持这个接触,比如从大残基换成小残基来腾出空间。这种共变信号在序列比对里非常密集,等于把三维结构信息编码进了二维的序列表里。

Evoformer干的最重要的一件事,就是从这些列里把"谁和谁经常一起变"的信号提取出来。它不像传统方法那样只算一个接触图分数,而是在网络内部反复更新一个成对表示,把共进化的信息以成对关系的形式在整个网络里传播。我的直觉理解是:MSA是网络从数据里拿到的一摞"参考意见",Evoformer则是个特别会听意见的会议主持人,它不光听,还会当场交叉验证哪几条意见互相矛盾,最后整理出一份内部一致的结构草案。

2.2 Evoformer的双通道对话:残基身份与残基关系

具体架构上,Evoformer维护着两条信息通道。一条是MSA表示,它记录着每个序列的每个位置特征;另一条是成对表示,它记录着任意两个残基之间的关系,比如相对空间位置、是否共变、大概的距离倾向。这两条通道不是各自为政,而是通过一系列注意力机制互相更新:MSA注意力的行注意力沿着序列方向看,列注意力沿着比对列看,等于在比对表里横竖两个方向来回扫,捕捉保守位点的"身份感";成对表示的更新则通过三角形乘法这类操作完成,确保残基对之间的关系是自洽的——如果A和B靠近,B和C靠近,那么A和C的距离倾向也必须和这两个结论兼容。

这个经历可以用一个生活化的类比:两个人一起画一张地图,MSA通道是一堆游客各自描述的行走见闻,成对通道是正在绘制的地图草稿。游客说"这里有个地标",地图上就标记一笔;画到某个区域地图线条自相矛盾时,再回头问游客是不是记错了。如此反复几轮,地图和见闻最终收敛到一致。

2.3 结构模块与IPA:三维空间里的坐标直觉

当表示学习得足够好,AlphaFold2就把这些信息送进结构模块,真正产出原子坐标。结构模块给每个残基定义一个刚性框架,然后用一种叫不变点注意力(IPA)的机制去更新这些框架的位置和朝向。名字虽然绕,核心思想很朴素:注意力权重只依赖于框架之间的相对几何关系,比如距离和相对转角,而不是依赖于某一个绝对坐标。

这样设计的好处是等变性天然成立:你把整个体系平移几个埃或者任意旋转,网络输出的相对结构纹丝不动。换句话说,网络不用记"这些原子在空间的某个固定位置",它只需要学会"这些残基之间的搭接关系"。结构模块还会把上一轮预测出来的骨架坐标作为新一轮的输入特征再跑一遍,也就是循环迭代三次,每次都在上一版草图上做"精修"。实测下来这个循环机制对多结构域蛋白的排列方式影响很大,跑一轮和跑三轮的结果往往有明显差别。

2.4 训练策略里藏着多少"黑魔法"

AlphaFold2的训练方案里最值得提的是自蒸馏。简单说,他们先用已有数据训练一个教师模型,让教师去预测一批没有实验结构的蛋白序列,再拿这些预测结构当"伪标签"去训练学生模型。这种做法的妙处在于,它让模型学会了在缺乏实验数据支撑的区域也能产出尽量合理的推断,而不是遇到没见过的情况就崩溃。当然,这也意味着模型对某些区域会很有自信却仍然可能是错的,所以自蒸馏的细节里还有大量防止"把老师错误当真理"的正则化手段。

另一个细节是训练时预测所有区域,包括那些实验结构里缺失或本身无序的片段。这个选择很重要:模型在低置信度区间的错误表现,往往恰好对应真实的无序区域。这就为后续我们做质量评估提供了天然的信息——预测给出的"不确定"有时候比"确定"更有价值。

3. AlphaFold3的扩散模型转向:从单体"推演"到复合物的"生成"

3.1 AlphaFold2在复合物面前的坎

AlphaFold2对单体球形结构域的效果好得惊人,但生物体里真正干活的是复合物。要做复合物预测,就得把多条链的信息一起喂进去。官方后来推出的multimer版本改进了输入编码:把同一个生物体里的同源序列配对起来,让网络知道"这条链和那条链共享同一个细胞环境",界面预测精度确实有所提升,尤其是那些有跟踪共变信号的同源多聚体。

但跨物种或远缘蛋白的相互作用界面依然很难。原因不复杂:不同基因之间的共进化信号比单蛋白内部弱得多,很多关键的相互作用靠翻译后修饰和瞬时接触维系,这些信号在MSA里几乎不体现。我跑multimer时最深的感受是:界面对了,包埋面积合理,可一细看接触残基的位置,经常和已知的诱变实验结果对不上。

3.2 统一输入表示与扩散去噪生成

AlphaFold3换了思路:不再为蛋白、核酸、小分子各搞一套特征分支,而是把它们统一放进一个表示空间里,再通过一个扩散模块来生成结构。扩散模型的具体逻辑是:先从一团随机坐标开始,然后不断去噪,每一步都在"往更像天然构象的方向调整",最后得到一份完整坐标。这个过程天然带有生成性质,因为从同一组输入出发,随机种子不同,最终可能落在不同的合理构象上。

这一点和AlphaFold2有本质区别。AlphaFold2更像一个确定性回归器,同样的输入只会输出同样的结果;AlphaFold3则是一个概率生成器,它给出的是一族条件分布下的样本。对实际使用来说,这意味着它可以用多采样来提示构象多样性,也能更自然地处理蛋白与小分子、蛋白与核酸这类混合体系的复杂几何关系。代价是计算量更大,内存需求更高,结果解读也更依赖对扩散采样次数的设计。

3.3 AlphaFold3真正能预测什么

在我的实操里,AlphaFold3最有价值的场景有这么几类:蛋白和核酸复合物的预测,尤其是转录因子结合DNA的界面;蛋白与配体小分子的结合姿态预测,可以在缺乏共晶结构时给药物设计提供一个起点;还有翻译后修饰位点的结构环境分析,修饰残基在三维空间里到底处于什么样的表面语境,这对功能推断很有用。

不过有一个坑必须提醒:AlphaFold3给出的相对位置关系可以很漂亮,但它并不擅长给绝对亲和力排序。同一个靶点配体A和配体B谁结合得更紧,单靠预测姿态是判断不了的。我一般只把它当"构象假说生成器",后续一定接上分子对接打分、分子动力学模拟或者实验验证,绝不能因为模型自信度高就直接写进结论。

4. 在蛋白质组学中规模化落地:管线、判断标准与功能注释

4.1 从单体查询到全蛋白质组扫描:资源和流程怎么平衡

单个蛋白预测和全蛋白质组预测的区别,就像给一个人拍照和给整座城市做地图的区别。公开库已经发布了超过两亿个预测结构,覆盖了大量已知物种的蛋白组,这是一个以前完全不敢想的资源。但如果你要预测的是自己的非模式物种、新测序的宏基因组序列,或者目标蛋白在公共库里恰好没有,那还是得本地跑。

一个比较成熟的流程大致是这样:先把所有序列去冗余,按序列长度和同源深度分类;对每条序列先做快速的序列数据库搜索拿到MSA缓存,然后再把MSA文件交给GPU做模型推理。搜索和推理最好拆开跑,因为序列搜索极其吃CPU和网络,推理极其吃显存,混在一起会让调度变得很难受。我习惯用快速比对工具先扫一遍,把重复度高的序列结果缓存起来,对同源序列特别少的孤儿蛋白单独标记,因为后面你会发现它们的结果往往需要格外谨慎地判读。

4.2 别被漂亮的彩色结构骗了:pLDDT与PAE的正确打开方式

AlphaFold2每个残基都会输出一个0到100的置信度分数pLDDT,这个分数是结果质量的第一个过滤器。90分以上说明残基位置非常可靠,70到90分属于基本可信,50到70分就要小心了,低于50分基本可以认为模型是在"编故事"。很多人第一次跑出彩虹色结构图都非常兴奋,其实只要看那些红色和橙色的区域,就知道模型的底气其实不足。

比pLDDT更容易被忽略的是PAE,也就是成对对齐误差矩阵。它告诉你两个结构域之间的相对朝向到底可不可信。一个经典场景是:两个结构域的pLDDT都在90以上,但PAE矩阵里这两个域之间的方块是亮黄色,说明它们各自折叠得很好,互相之间的排列方式却是瞎猜的。只看单链彩图完全看不出来,但一打开PAE图就一目了然。我整理了一个简单的判读习惯,供参考:

pLDDT范围可靠程度适合的用途
90以上非常高结构域核心、催化位点分析
70-90较高一般功能注释、整体折叠类型判断
50-70低只能看趋势,不建议做精细结论
50以下极低大概率是无序区域或预测失败

在做全蛋白质组扫描时,我通常先用中位pLDDT把结果分层,只有中位数超过70的才继续做功能注释,超过80的才敢用来支撑关键的"这个结构域可能是某种酶"之类的结论。

4.3 功能注释与新靶点推测的实际路径

结构预测给蛋白组学带来的最大红利,是对"暗蛋白质组"的照亮。以前一条新序列没有可用的同源注释,你只能干瞪眼。现在拿到预测结构后,第一件事是做折叠空间比对,看它长得像哪个已知功能家族;如果折叠类型和已知的催化结构域对上了,再结合序列保守性检查催化残基是否在位,结合位点口袋形状是否符合底物大小。这套流程已经帮助很多课题组把"未知功能蛋白"重分类成具有特定生化活性的候选蛋白。

另一个我很看重的场景是变异解读。把错义突变映射到预测结构上,看它落在核心疏水核心、蛋白界面还是活性中心附近,这个信息对功能影响的初判极有价值。但必须清醒:结构位置好不等于稳定性受损,突变对折叠自由能和结合亲和力的影响,结构图本身不能回答,还需要结合分子动力学或专门的稳定性预测工具。结构预测真正擅长的是给你一个"这个突变为什么会致病"的空间解释框架,而不是给出最终结论。

5. 实操中的高频问题:环境、MSA与结果验证的坑

5.1 环境搭建与硬件预期

如果你准备本地跑AlphaFold2,环境上最省心的方式是直接用官方镜像,把模型权重单独下载并核对校验和。输入输出格式都规范好之后,单体预测在显存16GB以上的主流数据中心级显卡上基本能跑,耗时主要取决于MSA搜索的长度和模型大小,通常在十分钟到一小时之间。复合物和多聚体预测的内存压力会明显上涨,AlphaFold3对显存的需求更高,我遇到过显存明明够用却因为缓存设置不合理导致OOM的情况,后来把所有中间特征都改成按需生成才稳定下来。

一个非常实用的建议是:把MSA搜索和模型推理的日志分开记录,并保存每一次的输入序列哈希。批量跑几千条序列时,一旦发现某个蛋白结果异常,你能快速定位这次预测用的是哪个版本的比对文件,而不是在几百个同名文件里大海捞针。

5.2 MSA搜索的隐藏风险

MSA的质量直接决定预测质量,这话说多少遍都不为过。序列搜索的E值阈值、比对覆盖度、搜索迭代次数,都会影响最终MSA的深度和干净程度。同源序列越多的蛋白,结果一般越好;孤儿蛋白、快速进化的免疫相关蛋白、序列极短的肽段,效果就会明显变差。我在跑一个真核物种的蛋白组时发现,大约有百分之十几的序列有效同源数严重不足,这些蛋白的预测结构即使整体看起来合理,也必须在论文里标注低置信度。

实操上我习惯看一眼有效序列数(Neff),低于某个阈值时会尝试放宽搜索阈值或者增加一轮迭代搜索。也不要迷信"MSA越多越好",大量冗余序列反而可能增加噪声,网络处理的耗时也会直线上升。这里不存在通用最优参数,你需要对自己的数据分布建立一个直观感觉,最好的办法是拿一二十条已知结构的蛋白做个小批量验证,调好参数再上线跑正式任务。

5.3 结果判读:模型排名、花哨渲染与科学结论之间隔着一层验证

AlphaFold2默认会输出五个预测模型,很多人只挑pLDDT最高的那个用。我的习惯是五个模型全都看一遍,重点看它们之间的差异区域。如果五个模型在某个结构域排列上各说各话,说明这个区域本身可塑性很强,或者是模型没有足够信息做唯一推断。PAE图在这种情况下会给出比单模型更全面的提示,配合使用才能避免被一个"看似成功"的模型误导。

还有一层要提醒:渲染出来的分子图非常有说服力,这是它最大的优点也是最大的风险。卡通图把一条低置信度的柔性环画得同样圆滑流畅,不把pLDDT着色打开根本看不出来那只是一段"模型填空"。所以在做任何科学结论之前,我都会强制自己回答一个问题:这个结论依赖的结构区域,置信度到底是多少?如果答案是70以下,我会直接砍掉这个结论或者补实验验证。

6. 天花板在哪里:构象动态、突变效应与实验验证的互补关系

6.1 单一快照不等于动态全景

AlphaFold类工具输出的是一份静态坐标,它倾向于给出蛋白质最稳定、最占优势的那个构象状态。但蛋白质的功能往往恰恰体现在状态切换上:激酶的开放和关闭、转运蛋白的朝向交替、别构效应引起的位移,这些动态过程不会出现在一张预测结构里。想让AlphaFold预测出非天然态的构象,有些团队尝试通过删减MSA或构造特定比对来诱导状态变化,个别案例确实成功,但这不是一个稳定可用的通用方法。

要研究构象群体,我的做法是把AlphaFold结构当起点,接上分子动力学模拟或者增强采样方法,让力场和溶剂在动态时间尺度上去回答"这个结构能不能转成另一个状态"的问题。也有一些课题组用核磁或交联质谱数据去约束结构预测,把实验距离信息嵌进预测流程里,这在我看是眼下最有性价比的互补策略。

6.2 突变效应和亲和力的"过度解读"警示

结构预测被过度解读的重灾区是突变研究。很多人拿到一个突变蛋白的预测结构,发现侧链朝向变了或者局部折叠变了,就立刻宣称找到了致病的分子机制。这个推理链条有一步是断的:结构预测模型并没有被训练来精确复现突变引起的能量变化,它对单点突变引发的小规模重排极不敏感,而且不同随机种子出来的突变体预测还经常不一致。更稳妥的路线是:突变映射到结构上找到空间位置,再引入稳定性预测和分子动力学模拟来量化能量层面的变化,最后用实验验证。

复合物的亲和力问题也一样。界面接触信息只能说明"这两个蛋白可能互相靠近",无法说明"它们靠得多稳"。同源蛋白之间一个接触面的氨基酸差异就可能带来数量级的亲和力变化,而结构预测捕捉不到这种细微差别。凡是涉及亲和力排序、药物筛选的结论,都必须回到实验或者专门的打分工具上去。

6.3 适合与不适合的边界总结

用到现在,我对AlphaFold类工具的边界有了一个比较清晰的认识。球形结构域、折叠类型清晰的单体、同源信号强的复合物,这些是它的绝对主场;没有稳定结构的固有无序蛋白、需要脂质或辅因子才能正确折叠的膜蛋白、淀粉样纤维和相分离聚集体这类超分子组装,则明显超出了它的适用范围。无序区域的长片段往往会被预测成低置信度的"面条",这时候不该抱怨模型失败,而应该意识到这本身就是一种有用信息:低pLDDT的长区域大概率就是生物学意义上的柔性区。

我目前的固定工作流是:先用预测结构生成功能假说,凡是关键结论都必须检查对应区域的pLDDT和PAE,再用分子动力学、突变实验或交联质谱做验证。结构预测最大的价值在于让"说不出所以然"的序列第一次有了可以讨论的空间模型,但它不具备实验的最终权威性,把两者结合好,才能做出真正经得起同行评审的工作。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询