2.2 · 分子对接基础与 PyMOL 可视化

网络药理⭐⭐⭐⭐重要储备 ⭐⭐⭐|约 15 分钟12 节3 图
本章目标

理解分子对接的原理,掌握"蛋白准备 → 配体准备 → Grid Box 设置 → Vina 对接 → 结果评价 → PyMOL 可视化"的完整流程,能独立完成至少 3 组"核心靶点-活性成分"对接并输出结合模式图。

本章路线
分子对接完整流程
图 2.2-1分子对接完整流程
2.2 · 分子对接基础与 PyMOL 可视化

0. 小白导读:分子对接到底是什么?

分子对接(Molecular Docking)是网络药理学论文的"第二张王牌图"。用大白话说:

  • 蛋白(受体) = 一把"锁",上面有个"锁孔"(活性口袋/结合位点)。
  • 小分子(配体) = 一把"钥匙",也就是中药活性成分。
  • 分子对接 = 计算机模拟"钥匙插进锁孔"的过程,算出这把钥匙和这把锁合不合、结合得牢不牢
🔑关键点

一个贯穿本章的比喻——钥匙与锁

  • 受体(蛋白) = 锁。我们要研究的靶点蛋白(如 AKT1)。

  • 配体(小分子) = 钥匙。中药活性成分(如丹参酮IIA)。

  • 活性口袋 = 锁孔。蛋白上药物结合的那块区域。

  • 结合能 = "钥匙和锁的契合度评分"。分数越低(越负),说明结合越牢。

  • 氢键/疏水作用 = 钥匙和锁之间的"卡扣"。卡扣越多,钥匙越不容易掉出来。

分子对接要回答的核心问题:这个中药成分,能不能"插进"这个靶点蛋白的"锁孔",并且插得够牢?

为什么学它? 网络药理学找到核心靶点后,论文通常会再用分子对接"验证"一下:成分和靶点是不是真的能结合。对接图是中药 SCI 论文的高频配图,学会它,你的论文"证据链"就完整了。

🎯一句话总结

一句话总结:分子对接 = 用计算机模拟"小分子-蛋白"结合,用结合能判断结合强弱,再用 PyMOL 画出结合模式图。


1. 分子对接原理

1.1 三个核心概念

分子对接软件要做三件事,对应三个概念:

概念 英文 通俗解释
构象搜索 Conformational Search 钥匙(配体)怎么转、怎么摆,才能插进锁孔?软件会尝试成千上万种姿势
打分函数 Scoring Function 给每种姿势打分——这个姿势结合得好不好?
结合自由能 Binding Free Energy 打分的结果,通常以 kcal/mol 为单位,越负代表结合越强
🔑关键点

比喻:构象搜索 = 你拿着钥匙试各种角度;打分函数 = 每试一次就感觉"顺不顺手";结合自由能 = 最终得出"这把钥匙和锁的匹配度评分"。

1.2 对接的"刚柔"之分

  • 刚性对接:蛋白锁孔形状固定不变,只有配体在动。速度快,是网络药理学最常用的方式。
  • 柔性对接:蛋白侧链也可以动。更真实但极慢,一般不用在批量筛选上。
💡提示

网络药理学论文里的对接基本都是刚性对接(配体柔性、受体刚性),用 AutoDock Vina 即可完成。

1.3 工具选择

工具 用途 说明
AutoDock Vina 运行对接 当前稳定版 v1.2.7(2025 年发布);免费、命令行运行、可批量
AutoDockTools (ADT) 蛋白/配体预处理 属于 MGLTools 套件(当前 1.5.7),生成 PDBQT 文件
Open Babel 格式转换 当前版本 3.1.1;SDF/MOL2/PDB/SMILES 互转
PyMOL 可视化 当前稳定版 3.1.x;画结合模式图
Discovery Studio 二维图 生成 2D 相互作用图(可选)
注意

注意版本:AutoDock Vina 目前最新稳定版是 1.2.7,并没有发布 2.x 正式版。网上有些教程写的"Vina 2.0"是开发中版本,别被误导。


2. 蛋白受体准备

截图
RCSB PDB 蛋白结构检索页
图 2.2-2RCSB PDB 蛋白结构检索页截图

2.1 下载蛋白结构:RCSB PDB

  • 地址:https://www.rcsb.org/
  • 操作:搜索目标蛋白(按名称 / UniProt ID / 序列)→ 选择实验结构(X 射线晶体、冷冻电镜或 NMR)→ 下载 PDB 格式文件。
💡提示

选结构的要点

  • 优先选分辨率高的(resolution 越小越好,如 < 2.5 Å)。

  • 优先选含配体的结构(能帮你确定活性口袋位置)。

  • 记录 PDB ID(如 AKT1 的 1UNQ),论文里要写。

2.2 蛋白预处理(AutoDockTools)

下载的 PDB 原始文件不能直接对接,需要预处理。用 AutoDockTools(ADT)完成:

  1. 去水:Remove water(水分子会干扰对接,一般去掉)。
  2. 去配体:Remove ligand(把原结构里的小分子配体删掉,因为我们要对接自己的分子)。
  3. 加氢:Add H(补上氢原子)。
  4. 加电荷:Compute Gasteiger charges(计算 Gasteiger 电荷)。
  5. 保存为 PDBQT:ADT 会把蛋白保存成对接专用的 PDBQT 格式。
注意

PDBQT 是什么? 对接软件专用的文件格式,在 PDB 基础上加了原子类型和电荷信息。蛋白和配体都必须转成 PDBQT 才能对接。

2.3 确定活性口袋

活性口袋(锁孔)的位置决定对接搜索范围。确定方法:

  • 方法一(最常用):如果原蛋白结构里有共结晶配体,把配体所在位置作为口袋中心。
  • 方法二:查阅文献,看该蛋白的已知结合位点氨基酸。
  • 方法三:用在线工具(如 CASTp、DoGSiteScorer)预测口袋。
🔑关键点

比喻:活性口袋 = 锁孔的位置。找不到锁孔,钥匙就不知道该往哪插。


3. 小分子配体准备

3.1 获取配体结构

  • 来源一:TCMSP 数据库直接下载成分的 MOL2/SDF 结构。
  • 来源二PubChem(https://pubchem.ncbi.nlm.nih.gov/)搜索成分名,下载 SDF 或 SMILES。

3.2 配体预处理(Open Babel)

  1. 格式转换:用 Open Babel 把 SDF/MOL2 转成 PDBQT 需要的格式。
  2. 加氢:补上氢原子(pH 7.4 生理条件下的质子化状态)。
  3. 能量优化:生成合理的 3D 构象(配体初始构象会影响对接结果)。

Open Babel 命令行示例(把 SDF 转成 PDBQT):

bash
# 把配体 SDF 转成 PDBQT(加氢、加电荷)
obabel ligand.sdf -O ligand.pdbqt --partialcharge gasteiger -p 7.4
💡提示

Windows 用户:Open Babel 有图形界面(Open Babel GUI),也可以命令行使用。记不住参数没关系,教程里复制即可。


4. AutoDock Vina 对接

4.1 准备 Grid Box

Grid Box 是"搜索范围框"——告诉 Vina"在这个框里找钥匙插锁孔的最佳姿势"。

  • 用 AutoDockTools 打开蛋白 PDBQT → Grid → Macromolecule → 选择蛋白。
  • 把框的中心对准活性口袋
  • 设置框的大小(Grid Box size),一般 20-30 Å 见方,能罩住整个口袋即可。
  • 记录框的中心坐标尺寸(对接配置文件里要用)。
注意

Grid Box 是新手最容易翻车的点:框没罩住口袋,对接结果就是"钥匙插错地方",结合能毫无意义。务必确认框的中心在口袋中心。

4.2 编写 Vina 配置文件

Vina 通过一个文本配置文件(conf.txt)运行对接:

text
receptor = receptor.pdbqt
ligand = ligand.pdbqt
center_x = 20.5
center_y = 15.3
center_z = 10.8
size_x = 25
size_y = 25
size_z = 25
exhaustiveness = 8
num_modes = 9
out = out.pdbqt

参数说明:

参数 含义 常用值
center_x/y/z 搜索框中心坐标 从 ADT 复制
size_x/y/z 搜索框尺寸(Å) 20-30
exhaustiveness 搜索彻底程度(越大越准越慢) 8-32
num_modes 输出多少个结合姿势 9

4.3 运行对接

bash
vina --config conf.txt

运行完成后,out.pdbqt 里包含多个结合姿势(mode),每个姿势有对应的结合能。

4.4 批量对接(可选)

网络药理学常需要"多个成分 × 多个靶点"批量对接。Vina 1.2.x 支持多配体对接,也可以写循环脚本批量运行:

bash
# 批量对接示例(Windows PowerShell / Linux bash 均可改造)
for ligand in *.pdbqt; do
  vina --config conf.txt --ligand "$ligand" --out "result_${ligand%.pdbqt}.pdbqt"
done
💡提示

入门阶段:先手动完成 3 组对接(3 个成分 × 1 个靶点),跑通流程后再学批量。


5. 对接结果评价

5.1 结合能阈值

Vina 输出的结合能(affinity)单位是 kcal/mol越负越好。常用经验阈值:

结合能(kcal/mol) 结合强度 论文中的处理
≤ -10 极强结合 非常理想
-7 ~ -10 强结合 理想,成药潜力高
-5 ~ -7 中等结合 可接受,需结合其他证据
≥ -5 弱/无意义结合 一般不用
注意

重要提醒:这些阈值是经验值,不同论文标准不一。网络药理学论文常用 < -5 kcal/mol 视为有一定结合活性、< -7 kcal/mol 视为结合较强。写论文时说明"以结合能 < -7.0 kcal/mol 作为强结合标准(经验阈值)"即可。

5.2 结合模式分析

结合能只是"总分",还要看结合模式(钥匙和锁是怎么扣上的):

相互作用 通俗解释 论文里的意义
氢键 钥匙和锁之间的"磁吸卡扣" 最重要的相互作用,标注残基(如 Arg-84)
疏水作用 钥匙和锁"互相排斥水"贴合在一起 稳定结合的贡献者
π-π 堆积 芳香环之间的"面对面贴合" 常见于含苯环的药物
🔑关键点

比喻:结合能是"总分",氢键/疏水是"扣分项明细"。论文里既要报总分(结合能),也要画明细(结合模式图)。

5.3 结果表格

论文里对接结果通常做成一张表:

成分 靶点 PDB ID 结合能 (kcal/mol) 氢键残基
丹参酮IIA AKT1 1UNQ -9.2 Arg-84, Glu-85
隐丹参酮 AKT1 1UNQ -8.5 Ser-205
丹酚酸B TP53 1TUP -7.8 His-179

6. PyMOL 可视化

截图
PyMOL 分子对接结合模式图
图 2.2-3PyMOL 分子对接结合模式图截图

6.1 PyMOL 是什么?

PyMOL 是分子三维可视化的"行业标准",把对接结果画成漂亮的结合模式图。

  • 官网:https://pymol.com/
  • 当前版本:3.1.x(2026 年更新)
  • 注意:PyMOL 只能画三维图,不能直接生成二维相互作用图(二维图用 Discovery Studio 或 PLIP,见第 7 节)。

6.2 基本操作

  1. 打开文件:File → Open,加载蛋白 PDBQT/PDB 和对接结果 out.pdbqt。
  2. 显示蛋白:选中蛋白 → 用 Cartoon(卡通)显示,配体用 Sticks(棍状)显示。
  3. 显示口袋表面:选中配体周围残基 → Surface(表面)。
  4. 标注氢键:利用 PyMOL 的 Distance 工具或插件(如 H-bonds),把配体和蛋白残基之间的氢键画成虚线。
  5. 美化出图:调整颜色、背景(白色/透明)、光照 → 保存 PNG 图片(分辨率 300 dpi 以上)。

常用 PyMOL 命令示例

python
# 载入蛋白和配体
load receptor.pdbqt, rec
load out.pdbqt, lig

# 显示风格
hide everything
show cartoon, rec
show sticks, lig

# 显示口袋附近残基(配体 5 Å 内)
select pocket, rec within 5 of lig
show sticks, pocket

# 标注氢键(配体与口袋残基之间)
distance hb, lig, pocket, mode=2

6.3 论文配图要求

  • 至少包含:蛋白卡通结构 + 配体棍状结构 + 关键残基标注 + 氢键虚线。
  • 通常做 2-3 张:全景图、口袋特写图、氢键标注图。
  • 分辨率 300 dpi,背景白或透明。
🎯一句话总结

一张合格的结合模式图 = 蛋白(卡通)+ 配体(棍状)+ 关键残基(棍状+标签)+ 氢键(虚线)+ 清晰图注。


7. Discovery Studio 二维相互作用图

PyMOL 画的是三维图,论文里还常配一张二维相互作用图(把氢键、疏水作用画成平面示意图)。

  • Discovery Studio(商业软件)的 Ligand Interactions 功能可以一键生成二维图。
  • 免费替代PLIP(https://plip-tool.biotec.tu-dresden.de/plip-web/plip/index)在线工具,上传蛋白+配体即可生成二维相互作用图。
💡提示

没有 Discovery Studio 授权? 用 PLIP 在线工具即可,效果类似且免费。


8. 完整流程案例

以"丹参酮IIA 对接 AKT1"为例,走一遍完整流程:

步骤 操作 结果
① 下载蛋白 RCSB PDB 搜 AKT1,选高分辨率结构,下载 PDB 得到 1UNQ.pdb
② 蛋白准备 ADT:去水、去配体、加氢、加电荷 → 存 PDBQT 得到 receptor.pdbqt
③ 确定口袋 用原配体位置作口袋中心,记录坐标 中心 (20.5, 15.3, 10.8)
④ 配体准备 TCMSP 下载丹参酮IIA 结构,Open Babel 转 PDBQT 得到 ligand.pdbqt
⑤ 设置 Grid Box ADT 设置框大小 25×25×25,对准口袋 完成框设置
⑥ 运行对接 vina --config conf.txt 得到 out.pdbqt,结合能 -9.2 kcal/mol
⑦ 结果评价 看结合能、选最佳姿势、分析氢键 最佳姿势 mode 1
⑧ PyMOL 出图 卡通+棍状+残基标注+氢键虚线 得到结合模式图
⑨ 二维图 PLIP 生成二维相互作用图 得到 2D 图

论文"一句话解读"模板

笔记

"分子对接结果显示,丹参酮IIA 与 AKT1 的结合能为 -9.2 kcal/mol,通过 Arg-84、Glu-85 形成氢键及疏水相互作用稳定结合,提示丹参酮IIA 可能直接作用于 AKT1 发挥药效。"


9. 常见坑

表现 解决办法
Grid Box 没罩住口袋 结合能异常高(如 -2) 重新确认口袋中心,放大框
蛋白没去水/去配体 对接结果被原配体干扰 预处理时务必去水、去原配体
配体没加氢 结合模式不合理 用 Open Babel 加氢(pH 7.4)
文件格式不对 Vina 报错 蛋白和配体都必须转成 PDBQT
结合能阈值乱用 把 -4 说成"强结合" 记住:< -7 才算较强,阈值是经验值
PyMOL 找不到氢键 图里没有虚线 用 Distance 工具或 H-bonds 插件手动标注
下载的 PDB 有多个链 对接对象混乱 只保留目标链(如 A 链)

10. 练习与交付物

练习(必须亲手做)

  1. 蛋白准备:从 RCSB PDB 下载一个靶点蛋白(如 AKT1、TP53、TNF),用 ADT 完成预处理。
  2. 配体准备:从 TCMSP/PubChem 下载 3 个中药活性成分结构,用 Open Babel 转成 PDBQT。
  3. 对接:完成 3 组"靶点-成分"对接,记录结合能。
  4. 评价:按阈值判断结合强弱,选出最佳结合姿势。
  5. 可视化:用 PyMOL 画出结合模式图(含残基标注、氢键)。
  6. 二维图:用 PLIP 生成二维相互作用图。

交付物(验收标准)

笔记

完成至少 3 组"核心靶点-活性成分"分子对接,输出:

  1. 结合能表(成分、靶点、PDB ID、结合能、氢键残基)

  2. PyMOL 结合模式图 ≥ 3 张(带关键氨基酸残基标注)

  3. 二维相互作用图(可选加分项)


11. 速查表

工具速查

用途 工具 地址/版本
蛋白结构下载 RCSB PDB https://www.rcsb.org/
蛋白/配体预处理 AutoDockTools (ADT) MGLTools 1.5.7
格式转换 Open Babel 3.1.1
分子结构 PubChem https://pubchem.ncbi.nlm.nih.gov/
运行对接 AutoDock Vina v1.2.7
三维可视化 PyMOL 3.1.x
二维相互作用图 Discovery Studio / PLIP https://plip-tool.biotec.tu-dresden.de/

关键参数速查

参数 常用值 说明
Grid Box 尺寸 20-30 Å 罩住活性口袋
exhaustiveness 8-32 越大越准越慢
num_modes 9 输出姿势数
结合能阈值 < -5 有活性;< -7 较强 经验值
蛋白分辨率 < 2.5 Å 越优

对接流程速查

text
RCSB PDB 下载蛋白 → ADT 去水/去配体/加氢/加电荷 → PDBQT
TCMSP/PubChem 下载配体 → Open Babel 加氢/转格式 → PDBQT
ADT 设置 Grid Box(对准口袋)→ vina --config conf.txt → out.pdbqt
评价结合能 → PyMOL 画结合模式图 → PLIP 画二维图

下一章:2.3 · 机器学习基础与网络药理初步结合

配套学习资源

共 3 条 · 点击跳转