3. 蛋白结构预处理实战
拿到一个 PDB 文件,直接丢进对接软件,往往得到的是“看起来能跑、结果不可信”的构象。原因在于:晶体结构是实验解析的产物,它带着结晶水、缺失残基、缺失氢原子、非标准质子化状态,甚至带有辅因子和金属离子。对接打分函数对氢键方向、电荷分布和原子碰撞极其敏感,因此预处理不是可选项,而是决定对接成败的前置工序。本节以 PyMOL 与 UCSF Chimera 为主,配合 pdb2pqr、Open Babel 等命令行工具,走完一条可复现的预处理链路。
一、先看清结构里有什么:检查与清理
第一步不是动手改,而是先诊断。用 PyMOL 载入目标结构后,执行 iterate all, print(resn, resi, name, elem) 或直接查看序列,重点确认四件事:是否有水分子(HOH/WAT)、是否有非标准残基(配体、糖基、修饰氨基酸)、是否有缺失原子或缺失环区、是否有多个构象(altLoc)。
去水的原则是:结晶水并非一律删除。若水分子与配体或关键残基形成稳定氢键网络,且该水在结合口袋中占据明确位置,保留它往往更接近真实结合状态;反之,远离结合位点、仅参与晶体堆积的水应删除。实操中常用 remove resn HOH 删除全部水,再根据结合口袋分析决定是否回补。对于金属离子(如 Zn²⁺、Mg²⁺),必须保留,因为它们在对接中承担配位作用,删除会导致口袋电荷与几何严重失真。
非标准残基需要单独处理:若它是辅因子或底物类似物,应作为独立配体提取并单独准备;若它是被修饰的氨基酸(如磷酸化丝氨酸),需还原为母体氨基酸或保留修饰并为其生成参数。这一步的判断依据是:该基团是否参与结合、是否影响口袋形状。
二、补缺失环区:从序列比对到建模
晶体结构中常见缺失环区(missing loop),表现为序列上连续若干残基在坐标中不存在。缺失环区若位于结合口袋附近,会直接改变口袋体积与形状,必须补全。UCSF Chimera 的 Model/Residue 菜单或 Dock Prep 流程可自动检测缺失残基并调用 Modeller 补全;PyMOL 中则可用 fab 命令对指定残基区间做环区建模。
补环的关键参数是:缺失区间长度、模板结构选择、以及是否允许侧链重构。一般建议:缺失 ≤ 5 个残基时,用 fab 或 Chimera 自动补全即可;缺失较长(> 10 残基)时,应优先寻找同源结构作为模板,避免从头建模产生不合理构象。补全后必须检查主链二面角是否落在 Ramachandran 合理区,侧链是否与周围原子严重碰撞。
三、加氢与质子化状态:pH 决定电荷
氢原子在晶体结构中通常不可见,但对接打分依赖氢键方向与部分电荷。加氢不是简单“补上 H”,而是要在目标 pH 下确定每个可解离基团的质子化状态。天冬氨酸、谷氨酸在生理 pH 下带负电;赖氨酸、精氨酸带正电;组氨酸的咪唑环 pKa 约 6.0,在 pH 7.4 下通常为中性,但若处于酸性微环境或与金属配位,则可能质子化带正电。
推荐流程:先用 PyMOL 的 h_add 或 Chimera 的 AddH 做初步加氢,再用 pdb2pqr --ff=AMBER --with-ph=7.4 重新分配质子化状态并生成力场兼容的坐标。pdb2pqr 会输出每个可滴定基团的电荷与质子化形式,可直接检查 HIS、ASP、GLU、LYS 的状态是否符合预期。若某残基处于结合口袋关键位置,应结合局部环境手动指定其质子化状态,而不是完全依赖默认 pKa 计算。
四、能量最小化:消除碰撞与不合理几何
加氢和补环后,结构中常出现原子重叠、键长键角偏差。能量最小化用于在力场下弛豫结构,同时约束重原子位置,避免整体构象漂移。常用工具为 GROMACS、AMBER 或 Open Babel 的 obminimize。以 Open Babel 为例:
obminimize -ff MMFF94 -n 500 -cg -osdf protein_h.pdb > protein_min.sdf
参数含义:-ff MMFF94 指定力场,-n 500 为最大迭代步数,-cg 使用共轭梯度法。若使用 GROMACS,则需先 pdb2gmx 生成拓扑,再在真空或隐式溶剂下做 steep 最速下降 500 步,随后 cg 共轭梯度 500 步。最小化后应检查:势能是否收敛、最大力是否降到合理范围(如 < 1000 kJ·mol⁻¹·nm⁻¹)、重原子 RMSD 相对初始结构是否小于 0.3 Å。若 RMSD 过大,说明约束不足或力场参数不匹配,需要回退检查。
五、预处理检查清单
| 检查项 | 判断标准 | 常用工具 |
|---|---|---|
| 水分子 | 结合口袋内关键水保留,其余删除 | PyMOL remove resn HOH |
| 金属离子/辅因子 | 参与配位或构成口袋者保留 | PyMOL 手动选择 |
| 缺失环区 | 结合口袋附近缺失必须补全,主链二面角合理 | Chimera Modeler / PyMOL fab |
| 质子化状态 | HIS/ASP/GLU/LYS 与目标 pH 一致 | pdb2pqr --with-ph=7.4 |
| 氢原子 | 所有可解离基团均有正确氢 | PyMOL h_add / Chimera AddH |
| 能量最小化 | 势能收敛,重原子 RMSD < 0.3 Å | Open Babel / GROMACS |
完成上述五步后,建议用 PyMOL 的 show sticks, resn HOH 与 show spheres, elem Zn 快速目视复查,再用 get_area 或 Chimera 的 Measure Volume 对比预处理前后口袋体积变化。若口袋体积变化超过 15%,说明补环或最小化引入了较大构象偏移,应回退检查约束设置。最终输出的 PDBQT 或 PDB 文件应满足:无原子重叠、无缺失重原子、电荷与目标 pH 一致、重原子坐标合理。只有这样的结构,才值得进入下一步的对接计算。