
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再用分子动力学、突变实验或交联质谱做验证。结构预测最大的价值在于让说不出所以然的序列第一次有了可以讨论的空间模型但它不具备实验的最终权威性把两者结合好才能做出真正经得起同行评审的工作。