想象一下这样的场景:一个特别刻苦、从不打小抄的学生,参加一场“蛋白质立体拼图”考试。试卷上有一长串需要摆放的积木块(每个积木块对应一个氨基酸残基),没有标准答案可以参考。交卷之前,他拿起荧光笔,在每一块积木旁边轻轻写下一个数字——0 到 100 之间的分数。“这块积木我闭着眼都能放对”(90 分以上);“这块应该没问题,但偶尔会手滑”(70-90 分);“这块有点模糊,凭感觉蒙的”(50-70 分);“这块完全没头绪,纯猜”(50 分以下)。 AlphaFold 就是这位答题的学生。它预测蛋白质三维结构时,会为每个氨基酸残基输出这样一个自我评价分数,这个分数就叫 pLDDT(predicted Local Distance Difference Test,预测的局部距离差异测试)。注意,它不是老师批改后的真实得分,而是学生交卷前自己标注的“信心等级”。本文会带你从“如何读懂这张自信成绩单”讲起,一路深入到它背后的深度学习原理、与真实度量 lDDT 的关系、工程中的使用技巧,以及常见的坑——让你像一位阅卷老教师那样,既会看分,又会分辨哪些分可以信、哪些分需要打个问号。

岗位关联

掌握 pLDDT 的解读与使用,是 AI 药物研发、酶工程改造、结构生物学等 AI for Science 岗位的基础功——它能帮你快速从一堆预测结果中挑出真正值得投入实验验证的那一个。

目录
  1. 可视化演示
  2. 基本概念:交卷前的荧光笔
  3. 深度学习原理:自评与折叠同步产生
  4. 与lDDT关系:模拟评卷人的量尺
  5. 工程实用技巧:老教师的答卷分拣法
  6. 与PAE区别:局部拼图与全局对齐
  7. 数据库可视化:装订成册的作业本
  8. 局限与边界:自评不是万能
  9. 实战避坑:老手的检查清单
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

演示pLDDT对每个残基输出0-100结构置信度、与RMSD的统计关系,以及按pLDDT>80筛选可靠结构并检测无序区。

本节配有交互动效(进入视口后自动加载,约 3KB)。

残基pLDDT映射 每个残基输出0-100置信度 pLDDT = 局部距离差测试 高置信度残基结构更可靠

基本概念:交卷前的荧光笔

还记得那位参加“蛋白质拼图考试”的学生吗?他在每块积木旁标注的数字,就是 pLDDT 的雏形。在真实的 AlphaFold 中,每输入一条蛋白质序列,模型不仅会输出每个氨基酸残基的原子坐标,还会顺带为每一个残基输出一个自我评价分数——这就是 pLDDT。蛋白质是长链分子,链上每个基本单元叫“残基”,你可以把它理解成拼图游戏里的一颗积木。整条链可能有几百颗积木,AlphaFold 就有耐心给每一颗都写一个信心分。

这个分数取值范围固定是 0 到 100,越高代表模型越自信。通常我们把它们分成四个区间:90 分以上是“非常有把握”的稳定核心区域;70-90 分是“基本可信”的区域;50-70 分是“模糊区”,常见于柔性环(loop)或表面松散结构;低于 50 分则是“模型也不确定”的区域,可能对应天然无序蛋白区段。这里最需要强调的一点是:pLDDT 是模型内部的自我评估,不是实验验证后的真实精度。就像学生自己在卷子上写“这题我很有把握”,并不代表他真的做对了一样。

所以,当你拿到一个 AlphaFold 预测结构时,第一件事不是急着看整体骨架,而是先看看这张“自信成绩单”上都有哪些颜色。如果你的目标片段刚好落在 50 分以下的红色区,那后续的分子对接、功能分析就要格外小心——学生自己都说了“这题是蒙的”,你还敢直接抄吗?

pLDDTi∈[0,100]\displaystyle \text{pLDDT}_i \in [0, 100]
这个式子的意思是:第 \( i \) 个残基的 pLDDT 分数,落在 0 到 100 的闭区间内。
  1. 下标 i 的含义表示蛋白质链上的第 \( i \) 个残基。AlphaFold 会为每一个位置单独打分,而不是给整条链只打一个总分。
    pLDDTi(i=1,2,…,L)\displaystyle \text{pLDDT}_i \quad (i=1,2,\dots,L)
  2. pLDDT 的符号含义它是 “predicted Local Distance Difference Test“ 的缩写,翻译过来是”预测的局部距离差异测试“,名字虽然长,本质上就是一个”自信分”。
    pLDDT=predicted Local Distance Difference Test\displaystyle \text{pLDDT} = \text{predicted Local Distance Difference Test}
  3. 取值区间分数最小为 0,最大为 100,与百分制成绩类似,分数越高表示模型对局部结构的预测越有信心。
    0≤pLDDTi≤100\displaystyle 0 \le \text{pLDDT}_i \le 100

深度学习原理:自评与折叠同步产生

这位“学生”是怎么一边拼图一边给自己打分的呢?我们来看他的解题流程。首先,他会翻阅大量复习资料——这些资料在模型里叫多序列比对(MSA),也就是从数据库里搜出成千上万条同源序列。资料越丰富,他对这块拼图的把握越大。然后,他会经过一个强大的“大脑”(Evoformer 编码器)反复推敲氨基酸之间的关系,最后进入“结构模块”(Structure Module)真正动手摆放积木。关键来了:他在摆放每一块积木的同时,就已经同步估算出“我有多确定”——这就是 lddt 预测头干的事情。

这个自评分数不是事后补写的,而是深度网络训练出来的。训练时,AlphaFold 的“老师”会拿着真实天然结构,给每个残基算出真实的 lDDT 分数(我们下一节会详细讲这个量尺),然后把这个 0 到 100 的分数切成若干个区间桶(bin),比如 0-0.5、0.5-1.5……这样,打分的任务就变成了一个分类任务:模型只需要判断“这个残基的真实得分落进哪个桶”。到了预测阶段,模型输出的是每个桶的概率分布,再算加权期望,得到最终的 pLDDT。

这个机制带来两个重要推论。第一,pLDDT 本质上是模型对“真实 lDDT”的一种统计期望,所以它的高低确实有数学含义。第二,由于训练数据来自实验解析的蛋白质,模型对“见过的题型”评分才可靠;遇到全新的折叠方式,这个自评体系就可能失真。这就像学生做了大量真题,他的自我感觉在熟题型上很准,但一遇到出题人创新的压轴题,荧光笔的数字就开始飘了。

pLDDTi=∑k=1Kpi,k bk\displaystyle \text{pLDDT}_i = \sum_{k=1}^{K} p_{i,k} \, b_k
这个公式表示:第 \( i \) 个残基的 pLDDT,等于它在各个得分桶上的预测概率 \( p_{i,k} \) 与桶中心值 \( b_k \) 的加权平均。
  1. 桶的数量 KAlphaFold 把 0 到 100 的 lDDT 分数切成了若干个小区间,每个区间就是一个桶,\( K \) 是桶的总数。
    K=桶的数量(例如几十个离散区间)\displaystyle K = \text{桶的数量(例如几十个离散区间)}
  2. 概率 \( p_{i,k} \)这是 lddt 预测头输出的分类概率,表示“第 \( i \) 个残基的真实分数落在第 \( k \) 个桶里”的置信度。
    pi,k=softmax 输出的第 k 类概率\displaystyle p_{i,k} = \text{softmax 输出的第 } k \text{ 类概率}
  3. 桶中心值 \( b_k \)每个桶的代表分数,比如第一个桶中心是 0.25,第二个是 0.75,以此类推。加权求和后就把分类结果转化回了连续的 0-100 分数。
    pLDDTi=pi,1b1+pi,2b2+⋯+pi,KbK\displaystyle \text{pLDDT}_i = p_{i,1}b_1 + p_{i,2}b_2 + \cdots + p_{i,K}b_K

与lDDT关系:模拟评卷人的量尺

现在,我们要认识真正的“评卷人”——lDDT(Local Distance Difference Test,局部距离差异测试)。它是结构生物学中用来衡量两个蛋白质结构有多相似的一种度量,专看局部原子距离的一致性。要理解它,请想象评卷人手里握着一把卡尺:他分别在预测结构和真实结构里,测量同一对残基之间的距离,然后看看这两把尺子量出来的数差多少。如果差距很小,就认为这块拼图放对了;如果差得很远,就扣分。所有残基对的结果汇总成一个 0 到 100 的百分比,这就是 lDDT 分数。

具体计算时,评卷人为每个残基挑选它周围的“邻居残基对”,然后依次检查每对残基间的距离差是否小于某个阈值。常用的阈值集合是 0.5 埃、1 埃、2 埃、4 埃(埃是原子尺度常用的长度单位,1 埃等于 10⁻¹⁰ 米)。只要预测距离与真实距离的差小于某个阈值,就记一次“命中”,最终命中的比例就是 lDDT。

现在,你可以把 pLDDT 和 lDDT 的关系看得更清楚了:pLDDT 是模型对 lDDT 的预测值。模型在训练时看到过大量“预测结构 vs 实验结构”的误差分布,学会了用自己的内部特征去估算“如果现在有一个评卷人来量,会给我打多少分”。在验证集上,研究人员确实观察到这样的规律:被模型标为 90 分左右的残基,其真实 lDDT 平均也接近 90 分。这种“自我感觉与真实得分大致一致”的性质,称为校准(calibration)。正是这种校准性,才让 pLDDT 有了实际工程价值——否则它只是学生的一厢情愿。

lDDTi=100∣Si∣∑(i,j)∈Si1[∣dijp−dijt∣<τ]\displaystyle \mathrm{lDDT}_i = \frac{100}{|\mathcal{S}_i|}\sum_{(i,j)\in\mathcal{S}_i} \mathbb{1}\left[\left|d_{ij}^{p}-d_{ij}^{t}\right|<\tau\right]
这个公式是对第 \( i \) 个残基的 lDDT 的数学定义:统计它和邻居残基之间,预测距离与真实距离的差值小于阈值 \( \tau \) 的比例。
  1. 残基对集合 \( \mathcal{S}_i \)由第 \( i \) 个残基与它周围若干个邻居残基构成的配对集合。只考虑局部配对,体现了“局部距离差异”的含义。
    Si={(i,j)  ∣  j 是 i 的邻居}\displaystyle \mathcal{S}_i = \{(i,j)\;|\; j \text{ 是 } i \text{ 的邻居}\}
  2. 预测距离 \( d_{ij}^{p} \) 与真实距离 \( d_{ij}^{t} \)\( p \) 表示预测结构,\( t \) 表示真实结构(truth)。两者都是这对残基在三维空间中的欧氏距离。
    dijp=∥rip−rjp∥,dijt=∥rit−rjt∥\displaystyle d_{ij}^{p} = \|\mathbf{r}_i^{p}-\mathbf{r}_j^{p}\|,\qquad d_{ij}^{t} = \|\mathbf{r}_i^{t}-\mathbf{r}_j^{t}\|
  3. 指示函数与阈值当括号内的条件成立(距离差小于 \( \tau \))时,指示函数取 1,否则取 0。\( \tau \) 是容差阈值,常用 0.5、1、2、4 埃。最后把命中次数加总并求比例,再乘 100 转为百分制。
    1[∣dijp−dijt∣<τ]={1,差值小于阈值0,否则\displaystyle \mathbb{1}\left[\left|d_{ij}^{p}-d_{ij}^{t}\right|<\tau\right] = \begin{cases}1, & \text{差值小于阈值} \\ 0, & \text{否则}\end{cases}

工程实用技巧:老教师的答卷分拣法

一位阅卷老教师拿到一摞答卷,会先快速翻看哪些学生整体把握比较大,再针对重点题逐题细看。在 AlphaFold 的实际使用中,你面临的情况也差不多:对于一个目标蛋白,AlphaFold 默认会给出 5 个候选模型,每个模型的坐标都不完全一样。你不可能 5 个都拿去做实验,必须快速挑出最可能正确的那一个。这时候,pLDDT 就是你的分拣利器。

AlphaFold 官方使用一个简单的线性公式给每个模型排序:取整条链所有残基的平均 pLDDT,权重为 0.8;再取平均 PAE(预测对齐误差,第五节会讲),权重为 0.2,用 0.8 的平均 pLDDT 减去 0.2 的平均 PAE,作为模型的综合排序分。分数最高的模型通常就是最可信的。

除了选模型,pLDDT 的第二个常见用法是筛选片段。你在做酶工程改造时,可能只关心某个活性口袋附近的几十个残基。这时候不要看全链平均,而要看目标区域的 pLDDT 是否足够高:如果口袋区域全是绿灯(高于 70 分),就可以放心做对接;如果局部都是红灯,那你修改的残基位置很可能本身就不稳定。阈值的经验选择也很重要:做分子对接建议要求更高,比如 80 甚至 90 分以上;做粗略的域架构分析,70 分够用;若是要寻找无序区域,反而要关注 50 分以下的段。老教师的经验是:分数要与任务匹配,而且永远要连同分布图一起看——一个 80 分的均值,可能是“所有残基都在 70-90 分”的均匀答卷,也可能是“一半 95 分一半 65 分”的偏科答卷,二者的可用性完全不同。

rank=0.8×pLDDT‾−0.2×PAE‾\displaystyle \text{rank} = 0.8 \times \overline{\text{pLDDT}} - 0.2 \times \overline{\text{PAE}}
这个排序公式的意思是:在选模型时,既要看局部置信度高不高,也要看残基对之间的错位大不大。前者加分,后者减分。
  1. 平均 pLDDT把一条链上所有残基的 pLDDT 加起来再除以残基总数,代表模型整体的局部自信程度。
    pLDDT‾=1L∑i=1LpLDDTi\displaystyle \overline{\text{pLDDT}} = \frac{1}{L}\sum_{i=1}^{L}\text{pLDDT}_i
  2. 平均 PAE把所有残基对的 PAE 取平均,代表模型整体的“方位错位感”。注意 PAE 是越低越好,所以它在公式里是减项。
    PAE‾=1L2∑i,jPAEij\displaystyle \overline{\text{PAE}} = \frac{1}{L^2}\sum_{i,j}\text{PAE}_{ij}
  3. 权重 0.8 与 0.2官方经验权重,表示局部置信度在选模型中占主要地位,但全局错位信息也能修正误选。
    rank=0.8pLDDT‾−0.2PAE‾\displaystyle \text{rank} = 0.8\overline{\text{pLDDT}} - 0.2\overline{\text{PAE}}

与PAE区别:局部拼图与全局对齐

学生除了在每块积木上写信心分,还会做另一件事:在相邻两块积木之间画一条小箭头,标注“我有多确定这两块的相对位置没放歪”——这就是 PAE(Predicted Aligned Error,预测对齐误差)。如果说 pLDDT 回答的是“这块拼图本身贴对没有”,PAE 回答的就是“这块拼图相对于旁边那块,摆对没有”。

两者最大的不同点在于维度。pLDDT 是每个残基一个数,有点像单科成绩单;PAE 则是残基对之间的矩阵,像一张“所有学生两两比较的排位表”。\( \mathrm{PAE}_{ij} \) 的值表示:当你把第 \( i \) 个残基对齐到它的预测位置时,第 \( j \) 个残基的真实位置与预测位置之间有多大偏差。PAE 越大,说明这个相对位置越不可信。它的数值通常也是 0 到 30 埃左右的范围,越低越好。

在工程实践中,pLDDT 和 PAE 是互补的。pLDDT 高只能说明每个结构域内部折叠得不错,不能保证域名之间的相对方位正确——就像两份满分作文,不能保证它们写的是同一个主题。要判断多结构域蛋白的域间排布,你必须看 PAE 矩阵:如果某个域对另一个域的所有残基,PAE 都很高(红色热区),说明模型根本不确定它们之间怎么摆放。所以老手的读图顺序是:先扫一眼 PAE 看全局架构,再放大 pLDDT 看局部细节。

PAEij=E[∥Ti(xj)−xj∗∥]\displaystyle \mathrm{PAE}_{ij} = \mathbb{E}\left[\left\| \mathbf{T}_i(\mathbf{x}_j) - \mathbf{x}_j^{*} \right\|\right]
这个公式的含义是:PAE 衡量两个残基之间相对位置误差的期望值,它是从模型内部对“如果以残基 i 为基准,残基 j 会偏多远”的预测。
  1. 下标 i 与 j\( i \) 是基准残基,\( j \) 是考察残基。遍历所有 \( i,j \) 就得到一个 \( L \times L \) 的误差矩阵。
    PAEij,i,j∈{1,…,L}\displaystyle \mathrm{PAE}_{ij},\qquad i,j \in \{1,\dots,L\}
  2. 变换 \( \mathbf{T}_i \)表示把预测结构按残基 \( i \) 对齐的刚体变换。在 AlphaFold 中,这一步对应它在推理时的结构对齐操作。
    Ti:对齐到残基 i 的局部坐标系\displaystyle \mathbf{T}_i: \text{对齐到残基 } i \text{ 的局部坐标系}
  3. 期望与范数\( \mathbb{E}[\cdot] \) 表示取期望(模型对多种可能的对齐结果取平均),双竖线表示三维向量的长度,即两者坐标的欧氏距离。
    ∥Ti(xj)−xj∗∥=对齐后的位置差距离\displaystyle \left\| \mathbf{T}_i(\mathbf{x}_j) - \mathbf{x}_j^{*} \right\| = \text{对齐后的位置差距离}

数据库可视化:装订成册的作业本

学生考完试,他的答卷会被装订成册,放进图书馆供大家翻阅——这就是 AlphaFold 蛋白质结构数据库(AlphaFold DB,由 EMBL-EBI 维护)。截至目前,这个“图书馆”已经收录了超过 2 亿个蛋白质的预测结构。任何人只需输入一个 UniProt 编号,就能在网页上看到该蛋白的预测结构,而 pLDDT 分数就直观地以颜色编码的形式显示在三维结构上。

AlphaFold DB 的默认着色方案非常标准化:大于 90 分显示为深蓝色,表示“模型极有信心”;70 到 90 分显示为浅蓝色,表示“可信”;50 到 70 分显示为黄色,表示“低置信”;小于 50 分显示为橙红色,表示“非常低置信”。这套色带相当于把荧光笔的颜色统一成了国际标准,全世界的研究者一看颜色就能判断哪个区域可靠。你在网页上旋转结构时,那些红色的飘带尾巴,往往就是柔性的 N 端或 C 端。

除了在网页上可视化,你还可以把预测结构下载成 PDB 或 mmCIF 文件。AlphaFold 有个“小彩蛋”:它把每个残基的 pLDDT 直接写进了 PDB 文件的 B-factor 列(温度因子列),因此几乎所有分子可视化软件都能直接识别。你在 PyMOL 或 VMD 中打开模型,按 B-factor 着色,就能完美复现 AlphaFold 官网的颜色——这避免了一套颜色看习惯、换个软件就找不到东南西北的尴尬。数据库还贴心地提供了蛋白质的置信度区间标注,部分条目甚至标注了“高置信模型”和“低置信模型”供你对比。

[90,100]→深蓝,[70,90)→浅蓝,[50,70)→黄,[0,50)→橙红\displaystyle [90,100]\to\text{深蓝},\quad [70,90)\to\text{浅蓝},\quad [50,70)\to\text{黄},\quad [0,50)\to\text{橙红}
这组映射就是 AlphaFold 数据库的官方色带规则:把连续的 pLDDT 分数映射成四档颜色,方便快速辨识。
  1. 第一档pLDDT 大于等于 90 分,颜色为深蓝,通常对应稳定的核心疏水区域。
    [90,100]→DeepBlue\displaystyle [90,100] \to \text{DeepBlue}
  2. 第二档pLDDT 在 70 到 90 之间(含 70,不含 90),颜色为浅蓝,是大多数可溶性蛋白结构域的主体区域。
    [70,90)→LightBlue\displaystyle [70,90) \to \text{LightBlue}
  3. 第三、四档50 到 70 分显示为黄色,常见于蛋白表面的柔性 loop;低于 50 分显示为橙红色,常见于固有无序区域。
    [50,70)→Yellow,[0,50)→OrangeRed\displaystyle [50,70) \to \text{Yellow},\qquad [0,50) \to \text{OrangeRed}

局限与边界:自评不是万能

我们必须清醒地认识到:学生交卷前的自评再详细,也替代不了老师的批改。pLDDT 的局限性与它的价值同样重要。

第一个大坑是固有无序蛋白(IDP)。这类蛋白质在天然状态下就没有稳定三维结构,像煮熟的意大利面一样随机摆动。AlphaFold 面对这类蛋白时,pLDDT 会全线飘低,但你不能把这解读为“模型预测失败”——恰恰相反,这可能是模型在如实反映“这块拼图本来就没有唯一解”。低 pLDDT 区段经常对应真实的柔性区域、蛋白间结合界面或翻译后修饰位点,是生物学信息富集的地方。

第二个边界是功能预测。pLDDT 只回答“结构摆得有多稳”,完全不能回答“这个蛋白干什么用”、“它和哪种配体结合”、“它的突变会不会致病”。曾有新手看到某残基 pLDDT 很高,就推断它是活性中心——这是典型的过度解读。高 pLDDT 只能说明模型确信这个残基在自己测试过的折叠模式里,功能注释还需要别的手段。

第三个边界是外推风险。AlphaFold 的训练数据主要来自实验解析的蛋白结构,对于全新的折叠类型、人工设计蛋白或极端环境下的蛋白,它的自评可能失真——可能过度自信,也可能过度自卑。特别是从生物体内分离的膜蛋白、蛋白质核酸复合物,pLDDT 的校准性会明显下降。正确的心态是:把 pLDDT 当作“模型的自我感觉”,而不是“结构的质量认证”。最终定论,必须回到冷冻电镜、X 射线晶体学等实验手段。

pLDDT<50⟹可能无序或柔性区域(而非必然错误)\displaystyle \text{pLDDT}<50 \quad\Longrightarrow\quad \text{可能无序或柔性区域(而非必然错误)}
这个逻辑箭头提醒我们:低分在无序蛋白场景下反而是一种有意义的生物学信号,不要一律当作“错误”处理。
  1. 前提条件pLDDT 低于 50 分,是 AlphaFold 自评体系中的“低置信”档。
    pLDDT<50\displaystyle \text{pLDDT}<50
  2. 合理推论该区域可能是天然无序区、柔性铰链或 loop,而不是预测错误。是否真的无序,可以用 IUPred 等专门工具交叉验证。
    可能无序或柔性  ⇔  低 pLDDT 区域的合理解读\displaystyle \text{可能无序或柔性} \;\Leftrightarrow\; \text{低 pLDDT 区域的合理解读}

实战避坑:老手的检查清单

要把 pLDDT 用出专业水准,光知道概念还不够,还要建立一套实战检查清单。这条清单可以浓缩成四句话:看分布、查 PAE、定阈值、写报告。

第一,看分布而非只看平均值。平均 pLDDT 就像班级平均分,一个“均值 80”的结构,可能隐藏着一段 40 分的活性位点。拿到结构的第一时间,要把 pLDDT 沿序列画成折线图,找出所有低于阈值的“塌陷区”。第二,多聚体必须结合 PAE。如果你研究的是蛋白质复合物,两个亚基各自内部的 pLDDT 可能都很高,但它们之间的相对朝向是否正确,pLDDT 完全没有发言权——你必须调出 PAE 矩阵,看跨亚基的区域是不是一片红。

第三,阈值要由任务驱动。分子对接与计算亲和力预测对坐标精度极其敏感,推荐只保留 pLDDT ≥ 80 甚至 ≥ 90 的区域;做域架构分析,70 分是常用分界线;寻找无序区域或柔性标记,50 分以下的区段才是你关注的重点。这不是拍脑袋,而是“误差敏感度”决定的。

第四,把一切写进报告。成熟的 AI 药物研发团队会为每个目标蛋白建立标准化的结构置信度报告,内容包括:所用 AlphaFold 版本、最多 5 个模型的平均 pLDDT 与 PAE 排序、pLDDT 沿序列分布图、选定模型的低置信区段列表、以及本任务选用的阈值。有了这份报告,不管是下游做对接的同事,还是审核项目的 PI,都能一眼看出这次预测的可信边界在哪里。老教师看到学生标注 90 分时,会顺手在试卷角落记录“此题存疑,待复核”——这份习惯,就是专业与业余的分水岭。

threshold={90,分子对接70,常规结构分析50,无序区域标注\displaystyle \text{threshold} = \begin{cases} 90, & \text{分子对接} \\ 70, & \text{常规结构分析} \\ 50, & \text{无序区域标注} \end{cases}
这个分段阈值表展示了同一个 pLDDT 分数在不同任务中的不同意义:任务对误差越敏感,阈值就定得越高。
  1. 对接场景分子对接需要原子级精度的侧链位置,pLDDT 低于 90 的区域,坐标噪声可能直接毁掉结合模式预测。
    90→分子对接高阈值\displaystyle 90 \rightarrow \text{分子对接高阈值}
  2. 常规分析场景域架构、折叠类型判断对微小误差不敏感,70 分足以保证整体拓扑正确。
    70→常规结构分析中阈值\displaystyle 70 \rightarrow \text{常规结构分析中阈值}
  3. 无序标注场景我们要找的恰恰是模型“不自信”的区域,所以 50 分以下的区段才是研究对象。
    50→无序区域低阈值\displaystyle 50 \rightarrow \text{无序区域低阈值}

AI 应用场景

AI 制药靶点结构评估

阶段:数据准备与结构筛选阶段

解决的问题:传统药企在无实验结构时,只能凭同源建模猜靶点三维形状,建模质量参差不齐。AI 制药团队用 AlphaFold 批量预测候选蛋白后,首先用 pLDDT 给所有靶点“体检”,剔出低置信结构,并对高置信区域做结合口袋标注,避免在错误的形状上白费数月化学合成时间。

具体案例:某医药公司在开发难治型癌症的小分子抑制剂时,需要评估一个仅有序列、无晶体结构的膜蛋白靶点。团队用 AlphaFold 输出 5 个模型,按平均 pLDDT 排序后选定模型,发现目标胞外域 pLDDT 均高于 85 分,而跨膜螺旋部分只有 55 分左右,于是果断将对接工作聚焦在胞外域,后续在 SPR 实验中得到验证。

从头蛋白设计的闭环自检

阶段:设计-预测-验证循环中的质量检查环节

解决的问题:在设计人工蛋白时,传统流程要等实验结晶才能知道设计是否成功。用 AlphaFold 反向验证设计序列已成为行业标准,但初学者常把预测分数的绝对高低误当成设计成功的保证。正确的做法是运行多次预测,统计 pLDDT 的分布一致性,并配合 PAE 确认设计蛋白的拓扑是否正确。

具体案例:蛋白设计团队用 RFdiffusion 生成了 1000 个候选序列,随后全部送入 AlphaFold 预测结构,筛选出平均 pLDDT 大于 85、且目标催化三残基所在区段 pLDDT 大于 90 的 12 个候选。这 12 个最终进入湿实验测试,成功率达到 41%,远高于不筛 pLDDT 时的 6%。

数据库功能注释中的无序区域标注

阶段:生物信息学分析与注释阶段

解决的问题:传统注释管线依赖实验验证,耗时耗力,且许多蛋白的固有无序区在实验条件下根本不结晶,被误记为“克隆失败”。目前多个生物信息学平台已把 AlphaFold 的 pLDDT 作为无序区域预测的辅助信号,与 IUPred 等专门工具互相印证。

具体案例:某基因组注释团队在重注释一个细菌蛋白组时,用脚本批量解析 AlphaFold 数据库中的 pLDDT 数据,把连续 20 个以上残基 pLDDT 小于 50 的区段自动标注为“推定的固有无序区域”,并提醒实验人员这两株蛋白不适合结晶筛选。整个流程从原来的手工浏览两个月缩短到一周。

Python 演示

python73 行
"""用 pLDDT 从多个候选结构中选出最优模型的小工具"""import mathimport random  def gen_true_helix(n, radius=2.0, pitch=1.0):    """生成一条理想螺旋作为'天然结构'"""    pts = []    for i in range(n):        t = i * 0.35        x = radius * math.cos(t)        y = radius * math.sin(t)        z = i * pitch * 0.2        pts.append((x, y, z))    return pts  def add_noise(pts, noise):    """给结构叠加高斯噪声,模拟一个预测模型"""    return [        (x + random.gauss(0, noise),         y + random.gauss(0, noise),         z + random.gauss(0, noise))        for x, y, z in pts    ]  def dist(p, q):    """计算两个三维点的欧氏距离"""    return math.sqrt(sum((a - b) ** 2 for a, b in zip(p, q)))  def lddt_score(pred, true, cutoff=2.0):    """计算局部距离差异测试分数,返回 0-100"""    n = len(pred)    hits = 0    total = 0    for i in range(n):        for j in range(i + 1, min(i + 8, n)):            d_pred = dist(pred[i], pred[j])            d_true = dist(true[i], true[j])            if abs(d_pred - d_true) < cutoff:                hits += 1            total += 1    return hits / total * 100  def fake_plddt(noise):    """模拟模型的自我置信度:噪声越大越不自信"""    return max(5.0, min(98.0, 90.0 - noise * 22.0 + random.uniform(-6, 6)))  def main():    random.seed(42)    n = 40    true = gen_true_helix(n)    models = []    for idx in range(1, 6):        noise = 0.2 + 0.35 * idx        pred = add_noise(true, noise)        real = lddt_score(pred, true)        conf = fake_plddt(noise)        models.append((idx, conf, real, noise))    print("候选模型 | 预测pLDDT | 真实lDDT")    for idx, conf, real, noise in models:        print(f"model{idx:02d} | {conf:6.1f} | {real:6.1f}")    best = max(models, key=lambda m: m[1])    print("按 pLDDT 选出:", f"model{best[0]:02d}",          "该模型真实 lDDT =", round(best[2], 1))  if __name__ == "__main__":    main()
目的:模拟 AlphaFold 输出 5 个候选蛋白结构的场景,用“预测 pLDDT”对候选模型排序,并对比真实 lDDT,直观展示 pLDDT 选模型的工作流程。
  1. def gen_true_helix(n, radius=2.0, pitch=1.0):生成一条理想螺旋作为“天然参考结构”,模拟只有在实验里才能拿到的真实答案。
  2. def add_noise(pts, noise):给真实结构叠加不同程度的高斯噪声,模拟 5 个预测模型的不同误差水平。
  3. def lddt_score(pred, true, cutoff=2.0):实现简化版 lDDT:逐一比较预测与真实结构中相邻残基的距离差,小于阈值算命中。
  4. for j in range(i + 1, min(i + 8, n)):只比较每个残基附近的 7 个邻居,体现 lDDT“局部距离差异”的含义。
  5. def fake_plddt(noise):启发式模拟模型的“自我打分”:噪声越大分数越低,并加入随机扰动,模拟自评与真实得分之间的不确定性。
  6. models.append((idx, conf, real, noise))把每个候选模型的编号、pLDDT、真实 lDDT、噪声水平打包成元组存入列表。
  7. best = max(models, key=lambda m: m[1])按第 1 个字段(预测 pLDDT)选最高分的模型,对应 AlphaFold 的模型排序逻辑。

常见误区

误区我觉得 AlphaFold 打 90 分以上的地方就是完美结构,可以直接拿去做分子对接和后续实验,不用再验证了。毕竟模型都说自己有把握了。

正解pLDDT 高只能说明模型“自认为”这部分折叠得很稳,不保证它一定和真实结构一致。尤其在训练数据覆盖不到的折叠类型上,高 pLDDT 也可能对应较大的系统误差。它是一条重要的参考线,但不是质量认证章。真正可靠的判断,要同时看 pLDDT 的校准曲线、PAE 的域间排布,以及关键区域的实验验证。

为何常见:把“置信度”误理解为“准确度”,是几乎所有概率模型都会遇到的认知偏差。人们习惯把高分等同于正确,却忽略了置信度只是模型内部的一种估计。

误区我看到 pLDDT 低于 50 的区域就觉得 AlphaFold 预测崩溃了,应该把这段序列删掉不看,或者认为这个蛋白不适合用结构预测。

正解低 pLDDT 在固有无序蛋白、柔性 loop、以及蛋白-蛋白结合界面上是常见的生物学真实信号。煮熟的意大利面也是蛋白的一种自然状态,模型如实反映“这里没有唯一构象”,反而是成功的预测。正确做法是用 IUPred 等无序预测工具交叉验证,再把低置信区段解读为柔性或无序。

为何常见:初学者往往拿着“结构必须折叠得很好”的刻板印象去读所有蛋白,忽略了天然存在一大类没有固定结构的蛋白,而 pLDDT 恰好能提供这类信息。

误区pLDDT 高的残基应该就是蛋白的活性位点吧?我可以拿它来预测突变会不会影响功能、判断配体结合在哪里。

正解pLDDT 是纯几何误差的自评,与功能完全无关。一个结构上非常稳定的支架残基,pLDDT 可能是 98 分,但它和催化活性一点关系都没有。判断活性位点需要序列保守性、共进化分析、配体对接或实验数据;判断突变影响需要自由能计算;pLDDT 在这些问题上没有发言权。

为何常见:人脑天然容易把“结构突出的部分”与“功能重要的部分”联系在一起,这是一种视觉上的过度联想,尤其是当结构被渲染得很漂亮时。

误区pLDDT 和 PAE 都是置信度分数,看一个就够了。反正模型给每个结构都打了分,选分最高的那个模型就完事了。

正解pLDDT 是每个残基的局部置信度,PAE 是每对残基之间的相对位置误差期望,两者回答完全不同的问题。一个蛋白质可以由多个高 pLDDT 的结构域组成,但域与域之间的摆放完全错误——这时 pLDDT 几乎失效,必须依赖 PAE 矩阵来排查。模型排序公式也是两者联合使用,而非只看其一。

为何常见:两者都叫“置信度”,且都来自 AlphaFold 的输出,初学者容易把它们混为一谈。但从数据维度上,一个是一维向量,一个是二维矩阵,结构上就有本质差异。

面试题

Q1. pLDDT 的全称最准确的中文翻译是?

单选题 · easy

  • A.预测局部距离差异测试得分← 正确答案
  • B.蛋白质晶体衍射实验测量误差
  • C.氨基酸序列同源比对相似度
  • D.氢键网络稳定性的能量阈值

答案:A。pLDDT 是 Predicted Local Distance Difference Test 的缩写,核心是“预测的、局部的、距离差异测试”,所以选项 A 正确。B 把预测变成了实验测量,C 说的是序列比对,D 说的是能量计算,都与 pLDDT 无关。

Q2. pLDDT 的取值范围是多少?

单选题 · easy

  • A.0 到 100 的连续数值← 正确答案
  • B.负无穷到正无穷
  • C.0 到 1 的开区间
  • D.100 到 1000 的整数

答案:A。pLDDT 被设计为百分制,范围是闭区间 [0, 100],分数越高代表模型对局部结构越自信。它既不是概率值(0-1),也不是无边界实数,更不是上千的整数。

Q3. 在 AlphaFold 数据库的默认着色方案中,pLDDT 大于 90 的残基显示为什么颜色?

单选题 · mid

  • A.深蓝色← 正确答案
  • B.亮黄色
  • C.橙红色
  • D.浅灰色

答案:A。AlphaFold DB 的官方色带是深蓝(>90)、浅蓝(70-90)、黄(50-70)、橙红(<50)。深蓝代表模型最高置信区段,通常对应稳定核心。黄色和橙红分别对应低置信与极低置信,浅灰不在官方色带内。

Q4. 关于 pLDDT 的正确说法有哪些?

多选题 · mid

  • A.它是模型对自身预测的置信度← 正确答案
  • B.它可以直接替代实验验证准确性
  • C.它由 lddt 预测头结合坐标输出← 正确答案
  • D.它表现蛋白质的催化反应活性

答案:AC。pLDDT 是模型内部的自评,由结构模块中的 lddt 预测头输出,所以 A、C 正确。它不能替代实验验证,也不能预测催化活性,B 和 D 是对其能力的常见夸大。

Q5. lDDT 指标对比的核心对象是什么?

单选题 · mid

  • A.预测结构与真实结构中的残基间距离← 正确答案
  • B.预测序列与目标序列的文本差异
  • C.实验温度与模拟温度的差异
  • D.蛋白质表面电荷与溶剂极性的差异

答案:A。lDDT 是“局部距离差异测试”,核心是比较预测结构与真实结构中,同一对残基之间的距离差异是否小于阈值。它关注的是几何距离,而不是序列文本、温度或电荷性质。

Q6. 关于 pLDDT 与真实结构准确性的关系,下列说法正确的是?

多选题 · hard

  • A.域内高 pLDDT 通常对应高准确性← 正确答案
  • B.低 pLDDT 必然对应结构完全错误
  • C.天然无序区域也可能获得低分← 正确答案
  • D.全新折叠蛋白的 pLDDT 可能失准← 正确答案

答案:ACD。在训练分布覆盖的蛋白上,pLDDT 与真实 lDDT 有良好的校准关系,因此 A 正确。低 pLDDT 可能是真实无序或柔性信号,不必然等于错误,B 错。C 是无序蛋白的典型表现。D 是域外样本风险,正确。

Q7. AlphaFold 默认生成 5 个候选模型,通常依据什么排序来选最优模型?

单选题 · mid

  • A.平均 pLDDT 与 PAE 加权组合← 正确答案
  • B.氨基酸数目由少到多排列
  • C.预测速度由快到慢排列
  • D.序列比对得分由高到低排

答案:A。AlphaFold 官方的 ranking score 是 0.8 倍平均 pLDDT 减去 0.2 倍平均 PAE,兼顾局部置信与全局排布,所以选 A。氨基酸数目、预测速度、序列比对得分都不是模型选择依据。

Q8. pLDDT 与 PAE 的主要区别是什么?

单选题 · hard

  • A.pLDDT 是局部的,PAE 是残基对的← 正确答案
  • B.pLDDT 是残基对的,PAE 是局部的
  • C.pLDDT 衡量序列,PAE 衡量温度
  • D.pLDDT 衡量能量,PAE 衡量速度

答案:A。pLDDT 为每个残基输出一个局部置信度分数,是一维信息;PAE 是残基对之间的相对位置误差矩阵,是二维信息。二者的语义完全不同,不能互相替代。C、D 的表述与二者毫无关系。

Q9. 当某个区段 pLDDT 持续低于 50 时,最合理的解读是什么?

单选题 · easy

  • A.该区段可能是柔性环或无序区域← 正确答案
  • B.该区段一定是水晶体的完美部分
  • C.该区段一定被模型完全忽略
  • D.该区段肯定是催化活性中心

答案:A。持续低 pLDDT 最可能是柔性 loop 或天然无序区域,这是模型如实反映“无唯一构象”的表现。它不一定被忽略,也不等于晶体完美区域,更不能仅凭此判断活性中心。

Q10. 在工程实践中,合理使用 pLDDT 的做法包括哪些?

多选题 · extreme

  • A.分子对接前先按高阈值筛选结构← 正确答案
  • B.依据任务灵活调整置信度阈值← 正确答案
  • C.把低 pLDDT 区段用于功能位点注释
  • D.忽略所有低于 90 的残基

答案:AB。对接任务要求高坐标精度,应该用高阈值筛选,A 正确。不同任务对误差容忍度不同,阈值应由任务驱动,B 正确。低 pLDDT 区段最多提示柔性或无序,不能直接定位功能位点,C 错。一刀切忽略所有低于 90 的残基会丢失大量有效信息,D 错。