AlphaFold 预测跑完,结构敢不敢用?pLDDT 与 PAE 置信度判读速查指南(完整实用版)
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
你刚跑完一条 AlphaFold 蛋白质结构预测,屏幕上转着一根漂亮的彩色带状图,心里却犯嘀咕:这图看着挺像那么回事,到底敢不敢直接拿去用?这套开源实现(入口见 run_alphafold.py)除了吐出坐标,还给结构附上了 pLDDT 与 PAE 两项置信度指标,它们才真正决定"敢不敢用"。本文不讲公式,只讲一件事:拿到预测结果后,怎么用这两个指标快速下判断。
上面这张对比图,其实就是你要回答的问题:预测(蓝)和实验(绿)叠在一起,到底像不像。而 pLDDT 与 PAE,就是模型自己给你的"像不像"量化答案。
看数字前,先想清楚:为什么"知道自己没把握"比"算得准"更值钱
对结构预测来说,算得准只是及格线,真正值钱的是模型敢承认自己哪里没把握。一个会自报风险的工具,你敢放心用它去做下游实验;一个从不告诉你风险的预测,再漂亮的图也只是装饰。AlphaFold 属于前者,所以接下来两节只回答一个问题:哪些地方能信,哪些地方要当心。
pLDDT:每个残基的健康报告,0–100 分怎么读
把整条蛋白质想成一段录像,pLDDT 就是逐帧打的画质分:范围 0–100,每个氨基酸残基单独打分,越高越"清晰"。它衡量的是局部绝对置信——这一段结构本身模型有多大把握,跟别处对不对没关系。
想看它怎么算,核心就这几行(实现见 alphafold/common/confidence.py):
num_bins = logits.shape[-1] bin_width = 1.0 / num_bins bin_centers = np.arange(0.5 * bin_width, stop=1.0, step=bin_width) probs = scipy.special.softmax(logits, axis=-1) plddt = np.sum(probs * bin_centers[None, :], axis=-1) * 100一句话:把模型输出的分数先过一遍 softmax 变成概率,再对各分桶按桶中心加权平均,乘 100,就得到那个 0–100 的分。
pLDDT 四档颜色到底怎么读(pLDDT 怎么看)
模型会按分数把残基染成四档颜色,你一眼就能扫出哪段清楚、哪段模糊:
- 🟦蓝(90–100):原子级可靠,坐标基本能直接拿去用。
- 🩵浅蓝(70–90):主干(backbone)稳,侧链细节可能偏,大方向放心。
- 🟨黄(50–70):只信整体折法和拓扑,具体原子位置别当真。
- 🟧橙红(0–50):大概率是无序或柔性区,这一段基本是"猜"出来的。
低分不一定是算错了:柔性区、无序区与结构域边界
这是新手最容易踩的误区:看到一段橙红就以为是模型失误。其实低 pLDDT 常常是真实的生物学信号——
- 高 pLDDT 区:多半是结构保守的核心、规整的二级结构,最稳。
- 低 pLDDT 区:可能是天然无序区、柔性 loop,或功能上需要摆动的动态区。不是"错",是"本来就动"。
- 分数骤变点:一处突然从蓝掉到橙红,常对应结构域边界或功能模块的接缝,值得标出来看。
所以低分先别删,先问一句:它是不是本来就软?
PAE 矩阵什么意思:模型在担心哪两"对"残基
pLDDT 盯着"单个残基自己准不准",PAE 盯着"两个残基之间的相对关系稳不稳"。前者像核对每个地标本身画得准不准,后者像核对两个地标之间的相对距离可不可信。
一句话说清这个 N×N 矩阵在量什么
PAE 是一个 N×N 的方阵(N 是残基数),元素 (i, j) 的意思是:把预测结构和真实结构做最优对齐之后,残基 i 和残基 j 之间那段距离预计会偏多少,单位是埃(Å)。数值上,它就是把这对残基对各误差桶按概率加权平均得到的期望误差。误差越小,这对残基的相对位置越可信。
看 PAE 的三处:对角线、区块、非对角
对着这张矩阵,你主要看三个地方:
- 对角线(贴近主对角的那条带):量的是相邻残基的局部质量,带子越窄,说明局部结构越扎实。
- 区块(矩阵切成的方格):深浅突变的地方,往往就是结构域的边界。
- 非对角(远离主对角的大块):量的是远距离残基、甚至不同链之间的相对可靠性。
多亚基复合物要单独说。矩阵会按链切成若干大方块:方块内部是亚基内质量,方块之间是亚基间关系,两块交界处的高低则直接反映界面(相互作用面)稳不稳。界面那块偏暗、偏低,通常说明这个复合物模型是可信的。
当 pLDDT 和 PAE 打架时:三种信号组合怎么判
两个指标各说各话时,别慌,基本逃不出这三种:
- 如果pLDDT 普遍偏高,但 PAE 某个区块误差偏大,通常意味着那段局部构象没把握(比如能摆动的 loop),建议对这一区域单独复核或多跑几轮再下结论。
- 如果pLDDT 局部偏低,但整张 PAE 误差都很小,通常意味着全局拓扑是对的、只是这段绝对坐标没把握,建议把它当"方向对、细节存疑"来用。
- 如果pLDDT 起伏很大,PAE 呈明显的棋盘分块,通常意味着多结构域蛋白,建议按区块分开解读,把高误差区块当柔性/动态区处理。
几个典型坑和绕开方法
把"看到什么现象 → 就做什么"记下来,能省一半纠结:
- 整体 pLDDT 都偏低→ 多半是同源信息不够 → 就检查 MSA 的深度和覆盖,换更全的数据库重跑。
- 某一段骤降、两侧却都高→ 很可能是真实的柔性/无序 → 就结合 PAE 确认是不是动态区,别急着删。
- PAE 出现大面积异常高值→ 可能是输入或推理出了问题 → 就回查输入序列和特征质量,必要时重新预测。
- N/C 端偏低→ 末端天然是软的 → 正常解读即可,不必过度处理。
拿到结果的一页纸判断清单
下次拿到预测,照着顺序过一遍:
- 🔍先算全局 pLDDT 均值:>90 放心用;70–90 主干可用、细节谨慎;<70 整体存疑,先补数据。
- 再看 pLDDT 分布形态:均匀高=结构稳定;末端低=柔性末端;某段低=功能/动态区,值得标注。
- 再扫 PAE 矩阵形态:整体低=高置信;明显分块=多结构域;局部偏高=重点核查区。
- 两个指标一起核对:一致→直接采信;冲突→按上一节三种组合拆开判。
- 圈出你要重点用的残基,单独复核,别让一处异常拖累整篇结论。
想对照真实案例的置信度长什么样,可以翻翻 afdb/README.md 里 AFDB 的字段说明,pLDDT 和 PAE 都按这套口径存着。
说到底,pLDDT 管"每段自己有多稳",PAE 管"段与段之间靠不靠谱",两个都过关,结构才值得你直接引用;只要有一处存疑,就把它圈出来单独处理,而不是整张推翻。等模型在不确定性上的表达再精细一点,"敢不敢用"这个问题,会越来越接近一个可以一键回答的数字。
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考