资讯动态

AlphaFold pLDDT 与 PAE 置信度指标一次讲透:从 logits 到 PAE 矩阵的完整读法

发布时间:2026/9/11 11:21:25 来源:尧图企业网站定制
AlphaFold pLDDT 与 PAE 置信度指标一次讲透从 logits 到 PAE 矩阵的完整读法【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold跑完run_alphafold.py输出目录里除了 unrelaxed PDB还有满是数字的confidence_model_1.json。预测结构敢不敢拿去用AlphaFold 用 pLDDT 和 PAE 两个指标回答这个问题读不懂它们再精确的预测也只是个不能用的模型。问题域预测结构不是出来就能用蛋白质结构预测早已过了能不能算出来的阶段现在的核心问题是敢不敢用。一次预测的输出不只是一个结构而是一整套置信度信号其中 pLDDT 和 PAE 最容易被误读。难点在于两个指标回答的是两个不同的问题pLDDT 说这个残基的局部结构可不可信PAE 说把两个区域对齐到真实结构后相对姿态会偏多少。只凭 pLDDT 判断多结构域蛋白、或只凭 PAE 判断复合物界面都会得出错误结论。常见误读实际混淆后果pLDDT 80 等于整体可用只保证局部构象结构域间相对取向仍可能错pLDDT 低谷 模型出错可能是真实无序/柔性把真实功能区域误删PAE 只是好看的色块图内含域边界与界面信息复合物界面无从验证pLDDT 拆解从 logits 到四档分值模型并不直接吐出一个分数。alphafold/model/modules.py 里的PredictedLDDTHead对每个残基输出 50 个 bin 的 logits后处理阶段把它换算成 0-100 分# 摘自 alphafold/common/confidence.py: compute_plddt def compute_plddt(logits): num_bins logits.shape[-1] # 50 个 bin bin_width 1.0 / num_bins # 每格宽度 1/50 bin_centers np.arange(start0.5 * bin_width, stop1.0, stepbin_width) probs scipy.special.softmax(logits, axis-1) # logits 转概率 predicted_lddt_ca np.sum(probs * bin_centers[None, :], axis-1) return predicted_lddt_ca * 100 # 归一化到 0-100也就是说 pLDDT 是概率分布在 bin 上的期望值而不是概率最大的那个 bin。分数高意味着概率质量集中在高分区间而不是模型猜对了。四档阈值D/L/M/Hconfidence_json会为每个残基打上类别字母也就是你在输出confidence_{model}.json里看到的字段pLDDT 区间类别含义0-50D可能无序、不可信50-70L低置信骨架不确定70-90M中置信骨架可信90-100H高置信局部原子可信PAE 拆解N×N 相对误差矩阵pLDDT 有个盲区两个区域各自都长对了但相对取向对不对它回答不了。这正是 PAE 的活——元素 PAE[i,j] 表示残基 i 与 j 在全局对齐后的预期距离误差Å。# 摘自 alphafold/common/confidence.py: compute_predicted_aligned_error def compute_predicted_aligned_error(logits, breaks): probs scipy.special.softmax(logits, axis-1) # 每个 bin 的概率分布 bin_centers _calculate_bin_centers(breaks) # 64 bin0.5 Å 一档 predicted_aligned_error np.sum(probs * bin_centers, axis-1) return {predicted_aligned_error: predicted_aligned_error}计算压缩成一条公式就是$$\text{PAE}{ij} \sum{k1}^{64} p_{ijk} , c_k$$白话每个误差 bin 的概率乘上 bin 中心值再求和得到这对残基的预期误差。对角区块怎么看对角块低、离对角块高呈块对角模式说明结构域或亚基之间的相对取向不确定各域内部结构才可信离对角块低则两区域相对姿态可信——对复合物来说这就是界面是否可信的直接证据。 实战对照读一遍置信度 JSON以一个单体预测为例。跑完 run_alphafold.py 后输出目录里有confidence_model_1.json和pae_model_1.jsonimport json, numpy as np # 读 pLDDTresidueNumber/confidenceScore/confidenceCategory 三个字段 data json.load(open(out/5m14/confidence_model_1.json)) scores np.array(data[confidenceScore]) # 读 PAE列表单元素含矩阵与最大误差 pae np.array(json.load(open(out/5m14/pae_model_1.json))[0] [predicted_aligned_error]) print(f整体 pLDDT 均值: {scores.mean():.1f}) print(fH 档占比: {np.mean(scores 90):.2f}) print(fPAE 对角均值(局部): {np.mean(np.diag(pae)):.1f} A) print(fPAE 离对角均值(相对): {np.mean(pae[np.triu_indices_from(pae,1)]):.1f} A)一次典型运行的输出大致是整体 pLDDT 均值 91.3H 档占比 0.78PAE 对角均值 2.8 Å离对角均值 9.4 Å。逐项含义和易错点关键输出含义常见误读整体 pLDDT 均值 91.3残基级置信度的总体水平均值高可能掩盖局部 D 区要看分布H 档占比 0.7878% 残基落在高置信区间不是78% 的结构一定正确PAE 对角 2.8 Å局部骨架距离的典型误差不是结构的分辨率PAE 离对角 9.4 Å区域间相对取向的典型误差不是界面偏了 9.4 Å是期望误差⚠️ 坑点清单中段出现 pLDDT 断崖→ 可能是域边界或真实柔性。核对 PAE 在该区域的离对角块若同时高值按独立结构域对待。复合物 pLDDT 普遍高但界面姿态错了→ pLDDT 是单链局部指标。复合物要同时看 PAE 离对角块以及confidence.py里predicted_tm_score算出的 ptm/iTM。从 PDB 的 B-factor 列读 pLDDT 读错→run_alphafold.py把每残基 pLDDT 复制到了每个原子的 B-factor 上按残基取一个值即可不要对原子求平均。AFDB 的 PAE 和pae_json直接混用→ AFDB 存整数本地pae_json存一位小数浮点画图前统一标度否则色块层次对不上。只看ranking_confidence选模型→ 它用于 5 个随机种子里挑最优是相对排序不是绝对精度别拿它跨蛋白比较。两个指标一句话pLDDT 管局部长得对不对PAE 管相对摆位对不对合起来看预测结构才变成一份标注了不确定性的可用模型。实现全在 alphafold/common/confidence.py配合alphafold/model/modules.py里的两个 Head一小时能读完整条后处理链路。【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价