news 2026/9/11 15:02:57

AlphaFold 结构预测可信吗?用 4 个指标快速做一轮质量控制体检

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AlphaFold 结构预测可信吗?用 4 个指标快速做一轮质量控制体检

AlphaFold 结构预测可信吗?用 4 个指标快速做一轮质量控制体检

【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold

AlphaFold 结构预测跑完后,先别急着盯丝带图,要看质量控制指标。pLDDT、PAE、pTM、ipTM 这四个数,共同决定预测结构可信度,这篇文章带你把它们逐个读明白。

如何判断 AlphaFold 预测可靠:一张质量体检表

拿到预测结果,先看这 4 个数字:全部健康,结构可以放心用;任何一项亮红灯,你都要知道问题出在哪一级。四个指标各管一摊,职责不重叠:

指标衡量什么取值范围一眼怎么读什么信号要警惕
pLDDT单个残基局部位置的可信程度0–100分数越高该残基越可靠,逐残基画曲线关键功能区落在 50 分以下
PAE一对残基相对位置的预测误差单位 Å热图越暗越好,看对角线外的块两个结构域之间的块明显偏亮
pTM整体折叠的可靠性0–1单一数值,越接近 1 越好低于 0.5,整体折叠存疑
ipTM复合物中不同链之间的界面质量0–1越高说明链间结合越可信pTM 高但 ipTM 低,结合可能不成立

四者的分工可以这么记:pLDDT 是逐残基的"打分卡",PAE 是一张"区域间关系可信度地图",pTM 和 ipTM 则分别给整体和界面各打一个总分。对应实现都在 alphafold/common/confidence.py 里,compute_plddt算 pLDDT,compute_predicted_aligned_error算 PAE,predicted_tm_score算 pTM 和 ipTM。

pLDDT 分数怎么看:D/L/M/H 四档行动指南

pLDDT 的取值不是拍脑袋分的,源码里对每个残基的 logits 做 softmax 后按 bin 中心加权平均,再乘 100 落到 0–100 分:

def compute_plddt(logits: np.ndarray) -> np.ndarray: num_bins = logits.shape[-1] bin_width = 1.0 / num_bins bin_centers = np.arange(start=0.5 * bin_width, stop=1.0, step=bin_width) probs = scipy.special.softmax(logits, axis=-1) predicted_lddt_ca = np.sum(probs * bin_centers[None, :], axis=-1) return predicted_lddt_ca * 100

模型输出的不是一串分数,而是一段区间上的概率分布,pLDDT 就是这段分布的期望值。拿到分数后,按下面四档对照源码里的分档逻辑决定动作:

def _confidence_category(score: float) -> str: if 0 <= score < 50: return 'D' if 50 <= score < 70: return 'L' elif 70 <= score < 90: return 'M' elif 90 <= score <= 100: return 'H'
  • D 档(0–50):大概率是内在无序区,模型自己也在"打赌"。做法:把这段序列从下游任务里剔出去;如果你的课题就是 IDP,可以拿它当无序区证据,但别拿坐标做任何几何计算。
  • L 档(50–70):结构可能有较大偏差,尤其常见于 loop 和链端。做法:只把它当整体走向参考,别在这段上做精确的残基级判断;回头核对 PAE 热图里对应位置是否也偏亮。
  • M 档(70–90):二级结构层面的走向可信,原子级细节可能偏。做法:可以做功能区域定位、结构域划分这类中等精度任务;涉及结合口袋关键残基时,建议用实验数据或对接打分再交叉验证。
  • H 档(90–100):模型最有把握的部分。做法:分子对接、突变位点挑选、结合位点识别优先放在这里;论文里引用的关键残基坐标,尽量都出自 H 档区域。

一个实用习惯:把 pLDDT 曲线和已知的活性位点序列号叠在一起看。关键残基落在哪一档,直接决定了这个预测对下游任务的可用深度。

PAE 热图解读三步走:先看对角线,再看跨区域块

PAE 回答的问题是:把两个残基对所在的局部对齐后,它们之间的距离平均会偏多少(单位 Å)。它不关心单个残基绝对位置,只关心"这两处相对摆对了吗"。热图横轴纵轴都是残基序号,颜色代表每对残基的预测对齐误差,数值越低越可信。按下面三步读:

第一步,扫对角线。沿主对角线的一条暗带,说明局部折叠可靠——相邻和近邻残基的相对位置都没问题。如果对角线上出现某一段突然变亮,那一段的局部结构本身就不可信,先去查它的 pLDDT 是不是也掉档了。

第二步,看对角线外的块。假设残基 10–60 和 120–170 是两个结构域,就看热图上对应行区间 × 列区间交叉出来的那块区域。颜色深(误差小)= 这两个域的相对取向可靠,你画的域间界面和相对位置可以放心用;颜色浅(误差大)= 两个域各自折叠没问题,但它们之间的夹角和距离是模型"猜"的。

第三步,看整图颜色分布。全图整体偏暗,说明这是个高置信目标;整体偏亮,说明大面积区域间关系都不可靠,结论要降级到"单体折叠"层面。还有一类信号值得单独记:整图对称位置的颜色差异——PAE 矩阵本身近似对称,如果某块区域显著偏亮且只在矩阵某一侧出现,多半对应该区域存在构象异质性,比如柔性接头连接的域。

三步走完,你可以对任何一段"域 A 相对域 B 朝向如何"的断言,说出"PAE 上对应块均值是 X Å,可靠/不可靠"这种有据可查的判断,而不是凭丝带图观感。

复合物才需要的两个数:pTM 看全局,ipTM 看界面

单链预测只需要 pLDDT 和 PAE;一旦是多链复合物,pTM 和 ipTM 就成了必须记录的两个总分,两者都在 0–1 之间。

pTM(预测 TM 分数)评估整个预测结构与真实结构在整体拓扑上的一致性,数值越接近 1 越好。它和"平均 pLDDT"的区别在于:平均 pLDDT 只看局部残基各自稳不稳,pTM 会把全局几何误差一起算进去——一条链局部都高置信、但整体摆错形状的复合物,平均 pLDDT 可能很高,pTM 却上不去。所以看复合物整体,优先看 pTM 而不是 pLDDT 均值。

ipTM(界面 pTM)只在"不同链之间的残基对"上计算(源码里用asym_id把跨链残基对 mask 出来),专门回答一个问题:这两条链贴在一起这个界面,可信吗。ipTM 高,说明链间接触界面的相对位置预测靠谱;ipTM 低,即使每条链单体折叠都漂亮,这个复合物构象也不该直接用于界面突变或对接研究。

组合起来读,常见三种情形:pTM 高 + ipTM 高,复合物整体和界面都可信,放心用;pTM 高 + ipTM 低,每条链各自折叠没问题,但结合方式可疑,先查文献确认该复合体是否真实存在;pTM 低,整体折叠都有问题,先怀疑输入(序列、链组成、化学计量比)而不是纠结指标本身。

指标是模型给的,但模型有多可靠取决于你怎么跑

同样一条序列,运行参数不同,输出的置信度指标稳定性可以差很多。跑之前确认三件事:

输入序列质量。序列要完整、准确,截断或缺失的序列会让 MSA 检索质量下降,间接拉低 pLDDT。复合物场景下更要保证链的顺序和化学计量比正确——ipTM 的计算直接依赖asym_id的链划分,链给错了,界面指标无从谈起。

seed 数量。run_alphafold.py默认每个模型 5 个 seed,多 seed 跑出的结果取置信度最高的那个。官方技术笔记明确建议:对非常大或困难的目标,把 seed 提到 20,代价是计算时间成倍增加,普通目标没必要。

recycling 次数。默认回收 3 次,把上一轮的结构信息回喂进模型再预测。技术笔记中 CASP15 基线把上限提到了 20 次并配合早停,对顽固目标同样可以适当加。加 seed 和加 recycling 都只影响"难目标"的收益,别为了保险无脑拉满。

另外一句带过:v2.3.0 换上了新训练截止日(2021-09-30)的 AlphaFold-Multimer 权重,训练数据里大复合物和冷冻电镜结构占比大幅提高(见 docs/technical_note_v2.3.0.md),大型复合物的预测准确性相比旧版权重有明显提升,跑复合物优先用新版。

常见误判场景:4 个容易踩的坑

Q1:pLDDT 大片低于 50,是不是预测失败了?不一定。D 档最常见的对应就是内在无序区,实验结构(X-ray/EM)里这类区域往往同样没有电子密度。先拿序列查一下无序区数据库或文献,确认是"模型没猜对"还是"这个蛋白本来就没结构",两者结论完全不同。

Q2:pLDDT 全线很高,还能信吗?不能只看 pLDDT。它只保证局部残基各自摆得稳,两个域之间的相对取向完全可能不可靠。必须翻 PAE 热图看跨区域块——对角线暗、交叉块亮,是典型的"每个域都对、但域间关系是猜的"结构。

Q3:预测结构和实验结构叠不上,听谁的?先看叠不上区域的 pLDDT:如果落在 H 档却对不上实验,说明这条预测结果确实不能信,考虑加 seed、加 recycling 重跑,或检查输入序列是否与实验品系一致;如果落在 D/L 档,那多半是模型诚实地区分出了低置信区,以实验结构为准即可。

上图是两个 CASP14 目标中预测(蓝)与实验(绿)结构的叠加,下方 GDT 分数就是"预测和实验到底像不像"的直接量尺——它和 pLDDT 的差别在于:GDT 需要实验结构对照,而 pLDDT/PAE 在预测阶段就能给出,这正是做质量控制时你最常依赖它们的原因。

Q4:单链 pTM 很高,复合物 ipTM 却很低,复合物到底有没有?模型在说:每条链的折叠我有把握,但"它们贴在一起"这件事我没把握。这既可能是真实的弱结合或瞬态相互作用,也可能是这个复合体根本不成立。先查文献和数据库里的结合证据,再决定是补实验还是放弃该复合物假设。

收个尾:交付报告前的 5 步自查清单

  1. 画 pLDDT 逐残基曲线,标出 D/L/M/H 边界,确认你的关键功能残基落在哪一档。
  2. 打开 PAE 热图,按"对角线 → 跨区域块 → 整图分布"三步过一遍,对每个域间关系断言都能报出对应块的大致误差。
  3. 复合物额外记录 pTM 和 ipTM,按"pTM 高 ipTM 低 = 界面可疑"的规则做一轮筛查。
  4. 把预测结果与已知同源结构或实验数据比对一次,不一致区域回查 pLDDT 分档。
  5. 结论涉及关键位点时,用更多 seed 或更高 recycling 重跑一遍,确认指标稳定再写入报告。

深入源码

  • alphafold/common/confidence.py:pLDDT、PAE、pTM/ipTM 四个指标的全部计算实现,compute_plddtcompute_predicted_aligned_errorpredicted_tm_score是核心入口。
  • alphafold/model/lddt.py:LDDT 损失与预测头相关的模型侧实现,理解"模型为什么能输出置信度"从这里入手。
  • docs/technical_note_v2.3.0.md:v2.3.0 的训练数据更新与推荐推理参数(seed 数、recycling 上限)的官方说明。

【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 14:54:30

告别 2 小时等待:public-image-mirror 一步搞定国内 Docker 镜像加速

告别 2 小时等待&#xff1a;public-image-mirror 一步搞定国内 Docker 镜像加速 【免费下载链接】public-image-mirror 很多镜像都在国外。比如 gcr 。国内下载很慢&#xff0c;需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/9/11 14:53:42

CMSIS-5不是库而是嵌入式宪法:接口契约与编译期治理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华