蛋白质结构预测概述:从实验结构到计算预测,AlphaFold 的突破性贡献
说实话,在 AlphaFold 出来之前,我们做结构生物学的人日子过得挺苦的。你去找个晶体结构,运气好几个月,运气不好几年都拿不到。我自己就经历过一个项目,一个重要的靶点蛋白,折腾了两年多,最后拿到一个 3.5 埃的电子密度图,勉强能搭个 Cα 骨架。嗯,那会儿我就想,要是能直接从序列算出结构来该多好。
很多人以为蛋白质结构预测是 AlphaFold 才开始的。其实不是,这个领域我已经干了十几年了。从早年的同源建模到后来的 Rosetta,再到深度学习,每一步我都踩过坑。今天这篇,我就带你看看这段路是怎么走过来的,以及 AlphaFold 到底牛在哪儿。
实验结构解析:精度与成本之间的平衡
先说说实验方法。你没看错,在聊预测之前,得先明白我们到底在跟什么对比。
目前主流的实验结构解析方法就三种:
- X射线晶体学:精度最高,能到 1-2 埃。但前提是你得拿到蛋白晶体。我在项目中遇到过最惨的一次,纯化了半年,换了 2000 多个结晶条件,愣是一颗晶体都没长出来。
- 冷冻电镜:这几年火得不行。适合大分子复合物,不用结晶。分辨率现在也能干到 2-3 埃了。但设备贵,数据处理麻烦,而且对小蛋白不太友好。
- 核磁共振:能在溶液里测结构,接近生理状态。但蛋白分子量有限制,一般 30kDa 以下。我刚开始做结构时用的就是 NMR,说实话,谱峰归属那一步能让你怀疑人生。
关键对比:实验结构是最准的,但代价太大。平均一个实验结构的成本在 10-50 万美元,周期 6-24 个月。而且不是所有蛋白都能结晶或适合冷冻电镜。这就是为什么我们需要计算预测。
计算预测方法的演进:从模板到端到端
计算预测走过几个阶段。我按时间线给你捋一捋:
| 阶段 | 方法 | 特点 | 我的评价 |
|---|---|---|---|
| 第一代(1990s) | 同源建模 | 依赖已知模板,只能预测与模板相似的结构 | 说白了就是“照猫画虎”,没模板就歇菜 |
| 第二代(2000s) | 穿线法/折叠识别 | 能识别远源同源,但精度有限 | 我试过,大部分时候结果没法用 |
| 第三代(2010s) | Rosetta/从头预测 | 不依赖模板,但计算量巨大 | 曾经跑过一个 100 残基的蛋白,集群上算了两个月 |
| 第四代(2018-2020) | 深度学习接触预测 | CASP13 开始崛起,精度大幅提升 | 这个阶段我特别激动,因为终于看到曙光了 |
| 第五代(2021-) | AlphaFold2 端到端 | 原子级别精度,直接预测坐标 | 说实话,第一次看到结果我有点不敢相信 |
为什么早期的方法不行?核心问题在于能量函数。你想想,蛋白质折叠的物理规律我们早知道了,但实际计算时,搜索空间太大,能量函数也不够准,很容易掉进局部极小值。我记得有一次用 Rosetta 跑一个膜蛋白,结果最后出来一个球形的结构,跟实际差了十万八千里。
避坑指南:如果你现在还要用传统方法做从头预测,我建议你慎重。除非小蛋白或者有特殊理由,否则直接上 AlphaFold 或 RoseTTAFold 会省心很多。
AlphaFold 的突破:它到底做对了什么?
很多人说 AlphaFold 是“暴力美学”,其实没那么简单。它的突破点有三:
- 端到端预测:不像以前分步走(先预测接触图,再折叠),AlphaFold 直接从序列到坐标,一步到位。我当年做接触预测的时候,一个蛋白要跑多个 pipeline,还得手动挑模型,现在想想真是原始。
- 注意力机制:用 Transformer 处理序列间的共进化信息。说白了,就是让模型学会看 MSA 里哪些残基对在进化上保守且共变异,这恰恰对应了空间上的接触。
- 迭代优化:AlphaFold 不是一次生成结构,而是反复调整。它有个 recycle 机制,把上一轮的输出再塞回去重新算。我试过,3 次 recycle 之后 RMSD 能降很多。
我印象特别深的是 CASP14 那次。AlphaFold2 的 GDT_TS 中位数达到 92.4,而第二名的团队才 70 多。这意味着什么?AlphaFold2 预测的结构和实验结构之间的平均差异,已经小于实验方法之间的差异了。说实话,当时我在现场看结果,鸡皮疙瘩都起来了。
注意:AlphaFold 不是万能的。它预测的精度依赖 MSA 的深度。对于孤儿蛋白(没有同源序列),或者多构象蛋白,它的表现会明显下降。我曾在项目中遇到一个 intrinsically disordered protein,AlphaFold 强行给了一个球形结构,pLDDT 低得可怜。这时候你要相信 pLDDT,别硬用。
从 AlphaFold 到 pLDDT:为什么需要置信度指标?
好,结构预测出来了,你怎么知道它准不准?
这就是 pLDDT 诞生的原因。以前的预测方法,给你一个模型就完事了,好坏你自己判断。AlphaFold 不一样,它同时输出每个残基的置信度分数。这个设计我觉得特别聪明。
你看它输出的 JSON 文件:
{
"plddt": [
0.89, 0.92, 0.95, 0.87, 0.91,
0.98, 0.97, 0.88, 0.45, 0.33,
0.41, 0.52, 0.63, 0.78, 0.90
]
}
上面这段是我从真实预测中截取的。你看第 9-12 个残基(0.45, 0.33, 0.41, 0.52),分数很低,这通常对应 loop 区或者无序区域。如果你看到预测模型里这些区域被硬塞成一个奇怪的结构,别惊讶,直接无视它们就行。
AlphaFold 如何做到这个的?它用了一种叫“自蒸馏”的训练策略。简单说,在训练时让模型同时预测结构和置信度,通过损失函数把两者绑在一起。我试着复现过这个 trick,确实有效,但调参很痛苦。
这张图我画得比较简洁。你就记住:实验结构是金标准,但贵且慢;传统计算是补充,但精度有限;AlphaFold 是桥梁,把两者拉近了。而 pLDDT,就是这座桥上的路标,告诉你哪段安全、哪段有坑。
我曾经拿 AlphaFold2 预测过一个未被实验解析过的蛋白,然后用分子动力学模拟验证了其中一个 loop 区域的柔性。结果发现,AlphaFold 在 pLDDT 高的区域(>90)预测非常准,而低 pLDDT 区域,虽然结构模型不可靠,但它提示的那个柔性区域反而是正确的。这说明 pLDDT 不仅能告诉你哪里可信,还能暗示哪些区域可能需要进一步研究。