1. AlphaFold概述:从“不可能”到“实验室标配”
大家好,我是本次课程的主讲工程师。在正式开始参数调优之前,我觉得有必要先把这个“大家伙”的底细摸清楚。AlphaFold是什么?它为什么能拿诺贝尔奖?它又是怎么工作的?这些东西搞懂了,后面你调起参数来才会有方向感,否则就是在瞎蒙。
1.1 发展史:一场从0到1的蛋白质折叠革命
蛋白质结构预测,曾经是生物学里出了名的“圣杯问题”。在我读研那会儿,实验室想解析一个蛋白质结构,要么送去做X射线晶体衍射,要么做冷冻电镜。周期多久?少说三五个月,慢的一两年。成本呢?几十万起步。更别说有些蛋白质根本结晶不了,你拿它一点办法都没有。
直到2018年,DeepMind带着AlphaFold参加了第13届CASP(Critical Assessment of Structure Prediction)。那一年它打败了所有传统方法,虽然精度还不够高,但大家都意识到:AI这条路走通了。
真正炸裂的是2020年的CASP14。AlphaFold2横空出世,中位GDT分数(衡量预测结构与真实结构相似度的指标)达到92.4。这是个什么概念?意味着绝大多数预测结果跟实验结构差别不到一个原子宽度。我当时看到结果的第一反应是:“这不科学。”
| 版本 | 时间 | 关键突破 | GDT分数(中位) |
|---|---|---|---|
| AlphaFold1 | 2018 | 首次将深度学习用于蛋白质结构预测 | ~60 |
| AlphaFold2 | 2020 | 端到端架构,Evoformer + Structure Module | 92.4 |
| AlphaFold-Multimer | 2021 | 支持蛋白质复合体结构预测 | ~75(界面) |
| AlphaFold3 | 2024 | 统一框架,支持核酸、小分子配体 | 有提升 |
2021年AlphaFold2代码开源,随后蛋白质结构数据库AlphaFold DB迅速膨胀到2亿多个条目。2024年,AlphaFold3发布,不再局限于蛋白质,还能预测DNA、RNA和小分子的相互作用。同年,诺贝尔化学奖颁给了DeepMind的Demis Hassabis和John Jumper——说实话,实至名归。
1.2 应用场景:AlphaFold到底能干啥?
你可能会问:这东西在现实中有多“好用”?我挑几个我真正在项目里遇到过的场景说说。
- 药物靶点发现:传统药物研发找靶点结构,一等就是半年。现在有了AlphaFold,先拿预测结构做虚拟筛选,命中率虽然不如高分辨率实验结构,但速度快了太多。我们团队曾经用AlphaFold预测了一个G蛋白偶联受体的结构,然后对接出了几个先导化合物——最终有两个在体外实验中验证出了纳摩尔级别的活性。
- 酶工程改造:你想改造一个酶的底物特异性,先得知道它的活性位点在哪儿、口袋的静电分布什么样。AlphaFold给了你一个足够好的起点。我习惯在拿到预测结构后,再用分子动力学跑一下平衡——这样做出来的突变体成功率高很多。
- 疫苗设计:新冠病毒刺突蛋白刚出来那阵,很多团队直接用AlphaFold预测的结构来设计免疫原。2019年那会儿还没有AlphaFold2,但还是有很多人尝试用早期版本来加速抗原设计。
- 功能未知蛋白注释:你的基因组测完,发现一个未知蛋白。通过AlphaFold预测它的结构,再与已知结构数据库比对——嗯,很多时候DNA结合蛋白、酶、信号蛋白一下子就对上了。
1.3 基本原理与架构:一张图讲透AlphaFold怎么“猜”结构
说到原理,很多人一上来就讲Transformer、注意力机制,把你搞晕。说白了,AlphaFold的核心逻辑其实很简单:给出一段氨基酸序列,它能预测出每个原子在三维空间中的位置。
具体来说,分成三步:
- MSA(多序列比对)构建:把你这条序列拿去数据库里搜,找出所有跟它长得像的同源序列。这些序列组合起来,能告诉你哪些位置在进化中是保守的、哪些位置可以变。
- 成对特征提取:对于序列里任意两个残基,AlphaFold都会问“它们之间的距离是多少?”(叫残基对距离预测)。这部分通过Evoformer模块里的行注意力 + 列注意力来交替处理。
- 结构折叠输出:把所有预测出的距离约束放进一个可微的优化器里,从随机三维坐标开始,逐步“捏”成一个合理的结构。这就是Structure Module做的事。
我手绘了一张架构图,你看了会更清楚:
这张图的关键点,我给你拆开了讲:
- 箭头方向:数据从氨基酸序列进来,经过MSA构建和成对特征提取两条支路,汇入Evoformer做循环处理。这是AlphaFold最核心的创新——它不是一次性地把结构算出来,而是让两条信息流反复交叉、互相修正。
- Evoformer:说白了它就是个信息融合引擎。我见过很多人调参只调最后那几步,但说实话,Evoformer里的循环次数(
model.num_recyle)和注意力头数往往更关键。后面参数调优章节我会专门讲。 - Structure Module:这是把二维信息“升维”成三维结构的环节。它用了一个叫IPA(Invariant Point Attention)的机制,确保旋转平移后预测结果不变。你不用死磕数学原理,只需要知道:这个模块里有个
model.structure_module.num_heads,默认8,我调过4-16之间,感觉8是经验最优。
max_msa_clusters参数做好过滤。这个我第4章会详细说。
最后,嗯,再抛出两个我这两年总结的实用原则:
- 保残基对(pair representation)往往比MSA更有信息量。我参与过一个药物设计项目,目标蛋白同源序列稀少,MSA几乎为空,但利用成对特征里的结构先验信息,仍然得到了可用的预测结构。
- 不要迷信单次预测。AlphaFold每次运行会输出5个模型(model_1-5)。我建议你把这5个结构全跑出来,选pLDDT最高的那个。但这还不够——最好把
model.num_recycle从默认3增加到6或8,做一次“深度回收”,很多时候GDT能再涨2-3个点。
好了,概述部分就到这里。你记住:AlphaFold不是什么魔法,它就是一个端到端的深度学习管线,处理从序列到坐标的全程可微映射。理解了它怎么干活,我们接下来才能讨论怎么让它干得更好、更快、更稳定。