两个蛋白质结构有多像?一张表看懂 AlphaFold 结构比较(RMSD vs lDDT) 📅 发布时间:2026/9/11 19:25:07 👁 浏览次数: 两个蛋白质结构有多像一张表看懂 AlphaFold 结构比较RMSD vs lDDT【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafoldAlphaFold 是蛋白质结构预测项目输出蛋白所有原子的三维坐标。两组预测坐标怎么做结构比较AlphaFold 结构比较是本文核心。为什么肉眼看着几乎一样的结构量化打分却差很多关键在指标RMSD 和 lDDT。选择速查先给结论原理放后面。两个指标回答的是同一个问题——这两组结构差多远——但问法完全不同。真正影响你怎么用的差别都在这张表里维度RMSDlDDT要不要先对齐要。必须找到让两结构最重合的旋转再计算不要原坐标系下直接比局部漂移谁抓得住全局平均会稀释单个环的漂移可能被整体抹平逐残基计分局部漂移直接体现在该残基分数上整体平移/旋转的影响必须先消掉否则数值无意义距离不受整体平移旋转影响天然免疫缺失原子怎么处理缺失点参与平均会污染数值需手动排除自带掩码参数缺失点不进评分集合在 AlphaFold 流程中的角色后验工具有实验结构时验证预测模型自评输出的 pLDDT 就是预测版 lDDT计算成本量级O(N)对齐后逐点算一次距离O(N²)要枚举所有原子对一句话选型有实验结构、只要一个像不像的数用 RMSD没有参照、想知道哪段可信用 lDDT 系也就是 AlphaFold 输出里的 pLDDT。它们在 AlphaFold 流程中的位置两个指标在流程里各占一站。lDDT 出现在模型自评环节网络的输出头直接预测每个残基对齐后应有的 lDDT即 pLDDT还预测每对残基的距离误差PAE多个候选结构谁胜出基本由这些自评分数决定。RMSD 则是后验工具只有拿到实验结构PDB时才用它核对预测与真值差多少预测过程本身用不到它。RMSD先叠好再量偏差把两个结构想象成两张透明描图纸。要比较它们先旋转、平移其中一张找到叠在一起最吻合的姿势再逐点量每个点离对应点平均偏了多少。这个平均偏差就是 RMSD均方根偏差。注意第一步不是计算而是对齐。标准流程四步选原子先定比较哪些点。常取 Cα 原子每残基一个代表点α 指氨基酸侧链连接主链的第一个碳主链 N/C/O 点更多全原子更多点越密对局部漂移越敏感。质心平移算出各自几何中心质心整体平移使两个质心都落在原点去掉位置差异。Kabsch 最优旋转对两个居中的点集做 SVD奇异值分解解析求出使对应点距离总和最小的旋转矩阵把结构转到最重合姿态。算平均偏差叠好后逐点求三维距离平方、平均、开方得到最终数值。$$RMSD \sqrt{\frac{1}{N}\sum_{i1}^{N}\lVert \mathbf{x}_i - \mathbf{x}_i \rVert^2}$$逐符号拆开$\mathbf{x}_i$ 是结构 A 第 $i$ 个原子的三维坐标$\mathbf{x}_i$ 是结构 B 中对应原子的坐标且两者已按第 3 步对齐$\lVert\cdot\rVert$ 是三维欧氏距离即两点间的直线距离$N$ 是参与计算的原子个数把每对点的距离平方后求和、除以 $N$、再开方单位回到埃Å。开方这步的作用是把平方后的平均误差换算回长度单位。RMSD 就是最优叠合法下每个原子的平均错位数值单位是埃越小越吻合。RMSD 是一个全局数。某个环区整体漂移 5 Å摊到几百个原子上大蛋白的总均值可能只抬一点点。这正是 lDDT 要补的位。lDDT不叠合只量距离换个类比不搬动两组家具做叠合而是核对距离清单。把每组家具残基两两之间的距离全部量出来得到两份清单再逐项比对。清单基本一致就能判定两组摆法基本一样。这就是 lDDT局部距离差异测试出自 Mariani et al., 2013。为什么不需要对齐因为距离清单对姿态不敏感无论整体怎么平移、怎么旋转内部点与点之间的距离都不变。基于距离的比较天然不依赖叠合姿态省掉了对齐这一步。同时评分以每个残基的邻域为单位、最后按残基平均。某段局部漂移只会拉低那段残基的分数不会被整体稀释——RMSD 看不见的局部差异在这里能被抓出来。评分按四档进行。先圈定候选点对只有在真实结构中距离不超过 15 ÅAlphaFoldlddt函数的默认 cutoff的点对才参与评分。对每对点算预测距离与真实距离的差看落在哪几档距离差得分小于 0.5 Å1 分小于 1 Å1 分小于 2 Å1 分小于 4 Å1 分每对点最多 4 分四档全满足记满分。所有参与点对取平均后最终分数落在 0 到 1 之间两份距离清单越接近分数越靠近 1。官方实现对应上面两步。第一段先决定哪些点对参与评分真实结构中距离小于 cutoff、且两点都存在掩码为 1再排除一个点与自身的配对dists_to_score ( (dmat_true cutoff).astype(jnp.float32) * true_points_mask * jnp.transpose(true_points_mask, [0, 2, 1]) * (1. - jnp.eye(dmat_true.shape[1])) # Exclude self-interaction. )摘自 alphafold/model/lddt.py第二段是四档打分dist_l1是真实与预测距离矩阵的逐元素绝对差每个小于阈值的判断产生 0/1 指示值相加后乘 0.25 归一到 0–1score 0.25 * ((dist_l1 0.5).astype(jnp.float32) (dist_l1 1.0).astype(jnp.float32) (dist_l1 2.0).astype(jnp.float32) (dist_l1 4.0).astype(jnp.float32))摘自 alphafold/model/lddt.py仓库里这份实现是近似 lDDT与原论文相比少了物理可行性惩罚项比如键长违例但分档评分逻辑一致。实战怎么选按场景给判断。评估 AlphaFold 预测质量时先看的永远是随预测输出的 pLDDT。没有实验结构只自评预测质量看输出自带的逐残基 pLDDT0–100。官方代码 alphafold/common/confidence.py 把分数分成四档≥90 高置信、70–90 中等、50–70 低、50 多为无序区。这是官方代码内置的置信度分级阈值适用于判断这段预测可不可信它是模型自预测值不等于与实验结构的实测差距。与实验结构对照RMSD 先跑取 Cα 层快速、直观再用 lDDT 复核局部。RMSD 小且 lDDT 高整体稳RMSD 还行但 lDDT 局部偏低说明藏着局部漂移。批量比较大量候选结构先用 RMSD 粗筛O(N)快留下的少数候选再算 lDDT 细看避免全量 O(N²)。所以RMSD 和 lDDT 怎么选取决于两件事有没有参照结构、要不要看局部。有参照、要一个数选 RMSD要找问题出在哪选 lDDT。这也是最常用的一组蛋白质结构相似度指标的分工方式。⚠️ 踩坑清单结构长度不匹配→ RMSD 需要逐点对应长度不一致直接没有对应点算不了。先做序列比对只在公共区段上计算。缺失原子或残基→ 把缺失点零坐标直接平均进去会污染 RMSD。用掩码排除缺失点lDDT 侧true_points_mask原生支持缺失区段。对齐方式不同RMSD 结果不同→ 选哪套原子Cα、主链、全原子、是否搜索最优旋转都会改变数值。报告时写明原子集合与对齐方法否则不同来源的数字不可比。只看全局数忽略局部质量→ 总体 RMSD 良好可能某个环区已经漂形。补看逐残基分数lddt的per_residueTrue或 pLDDT定位问题区段。把自评当验证→ pLDDT 是模型预测的自评分不是对实验结构的实测。关键结论要用实验结构做 RMSD/lDDT 对照。指标选对了结构问题才看得清。从预测输出自带的 pLDDT 起步有实验结构时再用 RMSD 和 lDDT 复核全局与局部就都覆盖了。相关源码与文档alphafold/model/lddt.py、alphafold/common/confidence.py、docs/technical_note_v2.3.0.md【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考