X 射线解析完结构 ≠ 结构没问题;MolProbity 是发表前必跑的"全原子级 CT"。
你解析完一个蛋白或核酸晶体结构准备投稿,却担心 Asn/Gln/His 侧链翻反、范德华冲突、Ramachandran 异常值这些审稿人用 MolProbity 一键扫出来的低级错误?你拿到 AlphaFold 预测模型,想快速评估局部构象可靠性却不知用什么指标?你需要批量打分一批 PDB 的 Clashscore 和 MolProbity Score,却不想一个个手动开在线服务器?这篇把 MolProbity 二十年结构验证体系一次讲透:四类核心指标速查表(Clashscore / Ramachandran / Rotamer / MolProbity Score)、在线服务器 4 步标准流程(Fetch→加氢→全原子分析→下载)、本地部署踩坑实录(PHP 5.6 强绑 + cctbx 编译 30 分钟起)、命令行 4 个官方脚本批量打分——读完对着表格直接跑,发表前把结构质量锁死。
官网:Main page – MolProbity(主站,杜克大学) 镜像:http://molprobity.manchester.ac.uk/(2016 年起运营,欧洲用户更快) GitHub:GitHub – rlabduke/MolProbity: Protein and nucleic acid validation service · GitHub(Apache-2.0,105★,实测 2026-09) 论文:
- Davis IW 等. MolProbity: all-atom contacts and structure validation for proteins and nucleic acids. Nucleic Acids Res. 35(Web Server): W375-W383, 2007. 10.1093/nar/gkm216
- Chen VB 等. MolProbity: all-atom structure validation for macromolecular crystallography. Acta Crystallogr. D 66: 12-21, 2010. 10.1107/S0907444909042073
- Williams CJ 等. MolProbity: More and better reference data for improved all-atom structure validation. Protein Sci. 27: 293-315, 2018. 10.1002/pro.3330
关键词:MolProbity;结构验证;晶体学;Clashscore;Ramachandran;全原子接触分析;PHENIX;Coot

目录
- 相关教程与核心文献
- 痛点:解析完结构 ≠ 结构没问题
- 核心指标速查
- 在线服务器:4 步标准流程
- 本地部署(含踩坑)
- 命令行工具:4 个官方脚本
- 什么时候用 vs 不用
- 展望与待追踪
- 参考
相关教程与核心文献
| 官方文档(command line tools) | MolProbity/doc/command_line_tools.txt at master · rlabduke/MolProbity · GitHub | 本文 CLI 章节命令的硬出处 |
| Manchester 镜像帮助页 | Validation Options – MolProbity Help | 验证指标定义(Clashscore > 0.4 Å 重叠) |
| PHENIX MolProbity 集成 | https://www.phenix-online.org/documentation/reference/molprobity_tool.html | 与 PHENIX 套件的耦合关系 |
| SBGrid 软件注册 | Molprobity – SBGrid Consortium – Supported Software | 学术用户简化安装入口 |
痛点:解析完结构 ≠ 结构没问题
X 射线晶体学解析出来的 PDB 文件总会有局部建模错误——
- 低分辨率结构尤其严重,主链走向对、侧链朝向错;
- 高分辨率结构也会有 Asn/Gln/His 侧链翻反(Cβ 朝向正确但 OD/ND 朝向氢键反方)、Ramachandran 异常值、糖环构象错;
- 审稿人/PDB 校验会用 MolProbity 自动跑这些检查——上线前不跑 = 自找麻烦。
MolProbity 解法:氢原子全补齐 + 全原子接触分析。Reduce 程序基于氢键供体-受体模式智能添加/优化所有氢原子(包括极性和非极性),Probe 程序扫所有原子对检测范德华重叠。结果归一化为单一MolProbity Score,数值越低越好——经验上评分应接近或低于结构分辨率(2.5 Å 结构评 ≤ 2.5)。
核心指标速查
| Clashscore | 每 1000 个原子中严重立体冲突(重叠 > 0.4 Å)的数量 | 高分辨率结构 < 10 |
| Ramachandran favored | 主链 φ/ψ 二面角落入高密度区域的残基占比 | > 98% |
| Ramachandran outliers | 落入禁区的残基占比 | < 0.5%(理想 0) |
| Rotamer outliers | 18 种可旋转侧链 X 角偏离已知旋转异构体的占比 | < 1% |
| Cβ deviation | Cβ 相对理想位置的偏差 | > 0.25 Å 即异常 |
| MolProbity Score | 综合评分(Clashscore + Ramachandran + Rotamer 加权对数) | ≤ 结构分辨率 |
核酸专属:糖环折叠(C2'-endo vs C3'-endo)、RNA backbone suites、碱基配对几何——RNA/DNA 复合物结构里骨架接触分析是质量评估的关键。
在线服务器:4 步标准流程
服务器界面是上下文敏感的,跟着提示走即可。 MolProbity网站:Main page – MolProbity 以 PDB 1BKR 为例:
特殊场景:
- AlphaFold 模型:选 "without flips"(预测模型无错误取向);
- NMR 系综:自动分离多模型,可同时看多 chart 识别系综不一致;
- 蛋白-核酸复合物:分别生成骨架-骨架和碱基接触 kinemage。
本地部署(含踩坑)
官方安装命令(实拉 2026-09 README):MolProbity 强绑 PHP 5.6,ondrej/php PPA 源安装 + Apache + Reduce/Probe/cctbx 源码编译。
# Ubuntu 22.04/24.04: 装 PHP 5.6(ppa:ondrej/php 唯一兼容源)
sudo apt install -y php5.6 php5.6-cli php5.6-curl php5.6-xml php5.6-mbstring
# 下载引导脚本(实测路径有效)
wget -O install_via_bootstrap.sh \\
https://github.com/rlabduke/MolProbity/raw/master/install_via_bootstrap.sh
chmod +x install_via_bootstrap.sh && ./install_via_bootstrap.sh 4 # 4 核并行编译
./setup.sh # Apache 配置
# 启动(推荐 PHP 内置服务器,无需 root)
cd public_html && php5.6 -S localhost:8000
本文踩坑:bootstrap 编译 cctbx 全套 30 分钟–数小时,4 核并行实测是单核 3–4 倍速度。学术用户简化方案:sbgrid-cli install molprobity 装预编译二进制。
实测验证(Ubuntu 22):
- reduce -FLIP 1bkr.pdb ✓ 生成 3455 行加氢 PDB(0 H → 865 H),翻转报告正常输出;
- probe 2.26 从 rlabduke/probe 源码编译成功(make 一条命令),输出 40729 行接触记录(含 so/bo/hb 三类);
- conda install -c conda-forge cctbx-base 提供 mmtbx + iotbx Python API ✓,但 probe 二进制需单独编译;
- 在线服务器 Duke 主站 + Manchester 镜像均返回 200 ✓;
- 注意:mmtbx 的 clashscore 类调用需要 libtbx.env.has_module("probe")(cctbx 构建系统注册),conda 安装版无此注册——需用 probe 命令行直接计算或完整安装 MolProbity。
命令行工具:4 个官方脚本
核心事实(实读 doc/command_line_tools.txt):MolProbity cmdline/ 目录只有 4 个可执行脚本,没有独立的 probe -MC / reduce -FLIP -DUMP 这类二进制 CLI——底层 probe/reduce 是 cctbx 的 Python 模块。要在终端跑,用下面 4 个入口:
export PATH=$PATH:~/molprobity/cmdline
单个 PDB:Clashscore + 冲突原子列表
clashscore model.pdb
单个 PDB:每残基键长键角最大偏差(colon-delimited)
mp_geometry model.pdb
整个目录:每文件的 MolProbity Score + Clashscore(oneline 输出)
oneline-analysis pdb_dir/
单个 PDB:每残基完整指标(CSV-like)
residue-analysis model.pdb
批量打分示例(用 oneline-analysis 一次扫 50 个结构):
mkdir -p results
oneline-analysis pdb_dir/ > results/summary.txt
# 每行一个结构:MolProbity_Score, Clashscore, Ram_outliers, …
PHENIX 集成(最省事的批量方案):phenix.molprobity model.pdb 一行调全套;分项命令 phenix.reduce / phenix.probe / phenix.ramalyze / phenix.rotalyze / phenix.clashscore / phenix.cbetadev 可单独跑。
Coot 集成(交互式精修时实时反馈):在 ~/.coot 加:
(define *probe-command* "/path/to/molprobity/cmdline/probe")
(define *reduce-command* "/path/to/molprobity/cmdline/reduce")
(set! reduce-molecule-updates-while-coot-is-running #t)
旋转侧链时 Probe 接触点自动更新。
什么时候用 vs 不用
| 解析完结构想发表 | 必跑——PDB 校验自动跑这工具 |
| AlphaFold/ESMFold 预测模型验证 | 跑(验证预测质量,但 Ramachandran 分布会偏正常化) |
| 蛋白-核酸复合物 | 跑(RNA 骨架接触分析是 MolProbity 独门武器) |
| 蛋白质设计突变体迭代优化 | 跑(精修时实时反馈,搭配 Coot 集成) |
| 纯计算模拟(MD / 自由能) | 不推荐——MolProbity 是晶体学验证工具,MD 轨迹检查用其他工具 |
展望与待追踪
- 2026 持续更新:GitHub 主分支最近提交 2026-09-22,Apache-2.0 许可证,PyMOL/ChimeraX 实时反馈插件仍在演进;
- AlphaFold 适配:新版本对预测模型的 Ramachandran 分布做了差异化处理(避免把"过度自信"误判为异常);
- 机器学习辅助错误识别:原作者团队在 phenix-online.org 已发表 ML 异常检测研究,下一步或集成自动修正建议;
- PHP 5.6 强制依赖:是历史包袱——README 警告用新版 PHP 兼容性问题,跨平台迁移到 PHP 8.x 待官方解决;
- GitHub Issue #30:Fedora 39 安装失败的活跃 issue——Fedora 用户慎用。
参考
- 官网 Main page – MolProbity
- GitHub GitHub – rlabduke/MolProbity: Protein and nucleic acid validation service · GitHub(Apache-2.0)
- Davis IW 等. NAR 35: W375-W383 (2007) 10.1093/nar/gkm216
- Chen VB 等. Acta Cryst. D 66: 12-21 (2010) 10.1107/S0907444909042073
- Williams CJ 等. Protein Sci. 27: 293-315 (2018) 10.1002/pro.3330
- Manchester 镜像 http://molprobity.manchester.ac.uk/
- PHENIX 集成文档 https://www.phenix-online.org/documentation/reference/molprobity_tool.html
网硕互联帮助中心




评论前必须登录!
注册