4. 受体蛋白质的准备(加氢、去水、调整残基)

拿到一个蛋白质结构文件,你肯定想直接扔给 AutoDock 跑对接。别急,我最初也这么干过。结果嘛……对接出来的位置和文献里差十万八千里。后来我才明白,受体准备这一步,就像盖房子打地基。地基没整好,上面折腾再多也是白搭。

4.1 为什么非准备不可?

从 PDB 数据库下载的结构,说白了就是个粗糙的骨架。它来自 X 射线衍射或冷冻电镜,分辨率再高也看不清氢原子。但氢原子在分子对接里可是关键角色——它决定了氢键供体、受体位置,也决定了电荷分布。AutoDock 要靠这些信息来算结合自由能。

我印象特别深。有一次,一个学生拿来一个激酶结构,直接做了对接。结果预测的结合模式跟实验数据完全对不上。后来我帮他检查,发现晶体结构里有三个水分子没去掉,还有一个组氨酸的质子化状态设错了。改了之后,结果一下子就好了。

受体准备说白了就是三件事:加氢、去水、调整残基。咱们一个一个说。

4.2 加氢:给骨架穿上外衣

蛋白质的每个氨基酸都连着一堆氢原子。这些氢在晶体结构里“隐身”了,但对接时必须补上。AutoDock 不认识没有氢的原子,它会直接跳过。

我个人习惯用 AutoDock Tools (ADT) 里的 Edit → Add Hydrogens 功能。你也可以用 OpenBabel 命令行搞定。

ADT 加氢步骤

  1. 在 ADT 里加载 PDB 文件
  2. 点击 Edit → Add Hydrogens → Polar Only 或 All Hydrogens
  3. 如果是 pH 7.0 环境,一般选 All Hydrogens
  4. 保存为 .pdbqt 格式

这里有个坑要提醒你:不要只加极性氢。有些初学者为了省事,只加极性氢。但 AutoDock 在计算溶剂化效应时,需要完整的氢原子。我以前踩过这个坑,结果对接分数里溶剂化项算出来总是异常。

小技巧:如果你用的是 AutoDock Vina,加氢这一步也可以用 OpenBabel 批量处理:
obabel receptor.pdb -O receptor_h.pdb -h
这样能保证所有氢都被加上,而且不会漏掉。

4.3 去水:把碍事的水分子请走

晶体结构里通常有结晶水,这些水在真实溶液中是动态的。对接时如果保留所有水分子,会堵住可能的结合位点。但是,也不是所有水都能删掉。

我记得有个课题,研究的是 HIV-1 蛋白酶。这个蛋白的活性位点里有一个水分子是高度保守的,它参与形成氢键网络。如果把这个水删了,对接结果就全乱了。所以去水之前,得先搞清楚水的功能。

去水的通用原则

水分子类型 建议 理由
游离水(远离蛋白表面) 删除 在对接模拟中会自然被溶剂替换
形成水桥的水 保留 可能参与关键氢键相互作用
活性位点内部的水 仔细鉴别 可能参与配体识别,也可能只是填充
晶体结构中重复出现的 优先保留 很可能在动力学中稳定存在
注意:ADT 里删除水分子的标准操作是:Select → Select From String,输入 resname HOH,然后按 Delete。不要手动一个一个点,容易漏选。

4.4 调整残基:细节决定成败

这一步最考验经验。调整残基主要包括三个方面:侧链取向、质子化状态、缺失残基修补。

侧链取向

晶体结构中,某些侧链可能有多种取向(如组氨酸的 HID/HIE 状态)。你需要根据周围环境和 pH 值来判断。比如组氨酸在 pH 7.0 时,delta 位和 epsilon 位的质子化比例差不多,但如果你知道配体偏好哪个方向,就可以手动调整。

质子化状态

这直接影响到电荷,进而影响静电势计算。一个常见的错误是把谷氨酸或天冬氨酸的质子化状态弄反了。这些残基在生理 pH 下一般是去质子化的(负电),但如果它们处于蛋白质内部疏水环境,则可能是质子化的(中性)。

我用过 PDB2PQR 这个工具来自动估算 pKa,然后根据 pKa 和环境 pH 来确定质子化状态。效果还不错,至少比自己瞎猜强。

# 使用 PDB2PQR 估算质子化状态
pdb2pqr --ff=AMBER --ph=7.0 receptor.pdb receptor_pqr.pdb

缺失残基修补

晶体结构经常有 loop 区域缺失,尤其是柔性 loop。这些缺失的残基会影响对接网格的生成。我个人习惯用 Modeller 或 Swiss-Model 补齐。如果缺失的残基离活性位点很远,直接忽略也行。

4.5 用一个表格总结:必须做 vs 可选做

操作 优先级 说明
加氢(所有氢) 必须 缺少会直接报错或产生错误结果
删除非功能水 必须 保留会占用结合空间,干扰网格计算
调整组氨酸质子化 必须 会影响氢键供体/受体预测
修补缺失 loop 可选 仅在活性位点附近需要
调整侧链取向 可选 对于高精度对接强烈建议
检查非标准残基 必须 金属离子、辅因子等必须明确处理方式

4.6 受体准备的核心工作流

下面这张图总结了整套流程,你照着走一遍基本不会出错。

受体蛋白质准备工作流程 从 PDB 获取原始结构 加氢(全部氢原子) 去除水分子(保留功能水) 调整残基(侧链/质子化/补缺失) 保存为 PDBQT 格式 常见错误 只加极性氢 删除所有水 忽略质子化状态 推荐工具 ADT PDB2PQR

4.7 一个完整的命令示例

如果你喜欢用命令行的方式,这是个典型的准备流程:

# 1. 从 PDB 下载结构(以 1ABC 为例)
wget https://files.rcsb.org/download/1ABC.pdb

# 2. 加氢
obabel 1ABC.pdb -O 1ABC_h.pdb -h

# 3. 去水
grep -v "^HETATM" 1ABC_h.pdb | grep -v "HOH" > 1ABC_del.pdb

# 4. 判断 pH 环境并调整残基(这里用 ADT 手动处理更稳妥)
# 5. 转换为 PDBQT
obabel 1ABC_del.pdb -O 1ABC.pdbqt -xr
核心提醒:AutoDock 对接的结果好坏,80% 取决于受体的准备质量。我见过太多案例,强行跳过这些步骤,用原始 PDB 跑对接,结果只能得到毫无意义的“假阳性”结合模式。

嗯,受体准备讲到这里差不多够了。你想想看,这些操作都很基础,但每一步都藏着坑。如果你在准备时多加一份细心,后面跑对接、分析结果时就能省十份力气。这也是为什么我愿意花一整节来讲这个——因为这一步太容易被轻视了。