4. pLDDT 数值范围与直观含义
pLDDT 分数,说白了就是 AlphaFold 对自己预测结果的一个“信心打分”。
我经常跟团队里的新人说:别急着看结构长得漂不漂亮,先看 pLDDT 分数。分数不对,后面全是白费功夫。
它的取值范围是 0 ~ 100,分数越高,代表这个区域的预测越可信。反过来,分数低的地方,你最好把它当作“模型在瞎猜”。
4.1 四个核心区间
我把 0-100 分拆成四个区间,每个区间都有明确的含义。我个人习惯把这四个区间记成“红黄蓝绿”,虽然实际可视化是另外的颜色,但这样好记。
| pLDDT 区间 | 可信度 | 我通常怎么处理 |
|---|---|---|
| > 90 | 极高置信度 | 直接用于后续分析,不纠结 |
| 70 – 90 | 中等偏高 | 可以信赖主链,侧链可能需要检查 |
| 50 – 70 | 低置信度 | 主链走向可能对,但细节别信 |
| < 50 | 不可信 | 直接忽略这部分,当作无序区域处理 |
嗯,这里要注意:pLDDT 是每个残基的分数,不是整个蛋白的平均。我见过不少人只算一个全链平均值就下结论,这其实很危险。因为很多蛋白有“高信区域”和“不信区域”混在一起,平均分一拉,你就看不清问题了。
4.2 每个区间的细节和我的实战经验
> 90:可以放心用
我在做药物设计项目时,只有当目标区域 pLDDT 超过 90,我才会用它做分子对接。低于 90 的话,对接出来的结合模式我基本不会信。
有一次团队拿到一个预测结果,整体平均 92,但活性位点附近的几个残基只有 80 出头。我当时就要求必须做多模板重新预测,或者补实验数据。后来验证确实那个区域侧链方向错了。
70 – 90:主链可靠,侧链要谨慎
其实很多同源建模达不到这个分数,所以 AlphaFold 给出的 70-90 分已经很有用了。我一般会拿来搭主链骨架,但是对待侧链,特别是大侧链(如精氨酸、赖氨酸),我会额外跑一次能量最小化或者旋转异构体库搜索。
我记得有一个酶工程项目,底物结合位点 pLDDT 在 78~85 之间,我们用主链坐标做了突变设计,效果还不错,但最后晶体结构出来发现有两个侧链的 χ1 角完全反了。从那以后我就养成了检查侧链的习惯。
50 – 70:小心使用,最好结合实验
这个区间很尴尬:你说它完全错吧,有时候整体折叠还凑合;但你要是拿它去做细节分析,肯定踩坑。
我碰到过一个案例:一个长 loop 区的 pLDDT 只有 55,但 AlphaFold 把它折叠成一个短螺旋。后来我们做了 SAXS,发现这个 loop 实际上是柔性的,根本就不是螺旋。所以我现在看到 50-70 的区域,第一反应就是“这里很可能有构象变化或者无序”。
< 50:直接当无序区域处理
低于 50 分,AlphaFold 自己都不信。你想想看,神经网络给的置信度不到一半,你还指望它准?
我曾经因为偷懒,把一段 pLDDT=45 的尾巴保留了,结果拿去做全长对接,怎么对都对不上实验数据。后来切掉那段尾巴,对接就成功了。从那以后,我遇到 <50 的残基,二话不说直接切掉,或者在模型里标成“无序”。
4.3 一个直观的分数谱
下面这张 SVG 图总结了 pLDDT 分数从 0 到 100 的“可靠度光谱”,我还标上了每种颜色对应的处理建议。
核心原则:不要只看全链平均 pLDDT。每个残基的分数单独看,尤其是你关心的功能区域。高信区域可以大胆用,低信区域要标记为“待确认”。
4.4 怎么快速检查 pLDDT 分布
我拿到一个预测结果后,第一件事就是跑一个简单的 Python 脚本来输出分数列表:
# 从 AlphaFold 输出的 pkl 文件提取 pLDDT
import pickle
import numpy as np
with open('result_model_1.pkl', 'rb') as f:
data = pickle.load(f)
# pLDDT 一般存在 'plddt' 键中
plddt = data['plddt']
print('残基数量:', len(plddt))
print('平均 pLDDT:', np.mean(plddt))
print('pLDDT < 50 的残基:', np.sum(plddt < 50))
print('pLDDT > 90 的残基:', np.sum(plddt > 90))
这个脚本能帮你一眼看出结构里有多少“垃圾区域”。如果 >90 的比例低于 60%,我会建议换一个模型或者重新跑预测。
小技巧:把 pLDDT 分数映射到 B-factor 或者 occupancy 字段,用 PyMOL 可视化的时候就能直观看到哪里可信、哪里不可信。
避坑指南:我曾经犯过一个错:把一个 pLDDT=45 的 loop 当作真实结构,并用它做胶合位点分析,结果浪费了两个月。现在我的规则很简单——低于 50 的区域,直接忽略。
4.5 不同分数段的典型用途总结
- >90:分子对接、虚拟筛选、突变设计,直接上。
- 70-90:搭主链结构,做柔性对接,或者用于同源模建模板。
- 50-70:可以大致看折叠类型,但不要依赖原子级别坐标。
- <50:要么删掉,要么标记为无序区,别碰。
实际项目中,往往一段蛋白的 pLDDT 分布是混合的。所以我的工作流程是:先用全局视角看哪些区域是“绿色”和“蓝色”,重点分析它们;然后把“黄色”和“红色”区域圈出来,决定要不要保留或补充实验。
4.6 为什么 pLDDT 能这么准?
说白了,AlphaFold 在训练时就是拿已知结构去学“预测坐标和真实坐标之间的一致性”。所以高分区域意味着这个局部构象在训练集里见过很多次,神经网络很有把握。低分区域往往对应柔性 loop、无序区或者同源序列少的部分。这个趋势在 CASP14 和 CASP15 的评估中被反复验证过。
我记得有个项目预测一个膜蛋白,跨膜域的 pLDDT 都在 90 以上,但胞外 loop 只有 60。后来晶体结构出来,跨膜域 RMSD 不到 1Å,loop 却完全不一样。从那以后,我对 pLDDT 的信任度又加了一档。