4. 受体蛋白质的准备(加氢、去水、调整残基)
拿到一个蛋白质结构文件,你肯定想直接扔给 AutoDock 跑对接。别急,我最初也这么干过。结果嘛……对接出来的位置和文献里差十万八千里。后来我才明白,受体准备这一步,就像盖房子打地基。地基没整好,上面折腾再多也是白搭。
4.1 为什么非准备不可?
从 PDB 数据库下载的结构,说白了就是个粗糙的骨架。它来自 X 射线衍射或冷冻电镜,分辨率再高也看不清氢原子。但氢原子在分子对接里可是关键角色——它决定了氢键供体、受体位置,也决定了电荷分布。AutoDock 要靠这些信息来算结合自由能。
我印象特别深。有一次,一个学生拿来一个激酶结构,直接做了对接。结果预测的结合模式跟实验数据完全对不上。后来我帮他检查,发现晶体结构里有三个水分子没去掉,还有一个组氨酸的质子化状态设错了。改了之后,结果一下子就好了。
受体准备说白了就是三件事:加氢、去水、调整残基。咱们一个一个说。
4.2 加氢:给骨架穿上外衣
蛋白质的每个氨基酸都连着一堆氢原子。这些氢在晶体结构里“隐身”了,但对接时必须补上。AutoDock 不认识没有氢的原子,它会直接跳过。
我个人习惯用 AutoDock Tools (ADT) 里的 Edit → Add Hydrogens 功能。你也可以用 OpenBabel 命令行搞定。
ADT 加氢步骤
- 在 ADT 里加载 PDB 文件
- 点击
Edit → Add Hydrogens → Polar Only或All Hydrogens - 如果是 pH 7.0 环境,一般选
All Hydrogens - 保存为
.pdbqt格式
这里有个坑要提醒你:不要只加极性氢。有些初学者为了省事,只加极性氢。但 AutoDock 在计算溶剂化效应时,需要完整的氢原子。我以前踩过这个坑,结果对接分数里溶剂化项算出来总是异常。
OpenBabel 批量处理:obabel receptor.pdb -O receptor_h.pdb -h
这样能保证所有氢都被加上,而且不会漏掉。
4.3 去水:把碍事的水分子请走
晶体结构里通常有结晶水,这些水在真实溶液中是动态的。对接时如果保留所有水分子,会堵住可能的结合位点。但是,也不是所有水都能删掉。
我记得有个课题,研究的是 HIV-1 蛋白酶。这个蛋白的活性位点里有一个水分子是高度保守的,它参与形成氢键网络。如果把这个水删了,对接结果就全乱了。所以去水之前,得先搞清楚水的功能。
去水的通用原则
| 水分子类型 | 建议 | 理由 |
|---|---|---|
| 游离水(远离蛋白表面) | 删除 | 在对接模拟中会自然被溶剂替换 |
| 形成水桥的水 | 保留 | 可能参与关键氢键相互作用 |
| 活性位点内部的水 | 仔细鉴别 | 可能参与配体识别,也可能只是填充 |
| 晶体结构中重复出现的 | 优先保留 | 很可能在动力学中稳定存在 |
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 受体准备的核心工作流
下面这张图总结了整套流程,你照着走一遍基本不会出错。
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
嗯,受体准备讲到这里差不多够了。你想想看,这些操作都很基础,但每一步都藏着坑。如果你在准备时多加一份细心,后面跑对接、分析结果时就能省十份力气。这也是为什么我愿意花一整节来讲这个——因为这一步太容易被轻视了。