2. 分子对接与配体准备概述
先聊聊分子对接是什么。说白了,就是模拟小分子配体和受体蛋白怎么「牵手」的过程。
我刚开始做对接那会儿,总觉得这事儿挺玄乎的。计算机里跑个程序,就能预测药物分子能不能和靶点结合?后来亲手做多了,才明白背后有一套严谨的物理化学逻辑。
2.1 核心概念:这门技术到底在干嘛
分子对接的本质,是从两个维度求解:
- 结合位点 — 配体在受体表面的哪个位置「落脚」
- 结合模式 — 配体以什么构象、什么朝向嵌入口袋
我给你拆成三个关键要素:
| 要素 | 描述 | 我踩过的坑 |
|---|---|---|
| 受体 | 通常是蛋白或核酸,有明确的三维结构 | 结构质量不行,后面全白搭 |
| 配体 | 小分子,等着和受体结合 | 电荷状态设错,打分直接偏 |
| 搜索算法 + 打分函数 | 算能量、评优劣 | 一开始总贪快,结果全是假阳性 |
记住一句话:对接结果好不好,70% 靠输入准备的细不细。
2.2 输入与输出:你的文件长什么样
- 输入 — 受体结构 + 配体结构,两个 PDB 或 PDBQT 文件
- 输出 — 对接姿态坐标 + 打分值,通常写在 DLD、PDBQT(多帧)里
举个简单的例子。你用 AutoDock Vina 跑一次对接,命令行大概长这样:
vina --receptor protein.pdbqt --ligand ligand.pdbqt --config conf.txt --out result.pdbqt
这里面最关键的、也最容易出问题的,就是配体的 .pdbqt 文件。我见过太多新手直接拿原始 PDB 格式往里塞,结果跑出来的结果完全没法看。
2.3 配体准备:为什么不能偷懒
你想想看,原始 PDB 文件里记录的是实验测出来的原子坐标。但对接软件需要的不只是坐标。
- 加氢 — X 射线通常看不到氢,得自己补
- 指定电荷 — 计算静电作用的基础
- 设置可旋转键 — 配体不是刚体,得让软件知道哪些键可以转
- 分配原子类型 — 不同力场用不同的类型命名方式
我遇到过一回,一个简单的抑制剂配体,直接拿 PDB 去跑 Vina,打分 -9.8 看起来挺漂亮。结果手动一检查,发现两个羧基的质子化状态全错了。重新准备后打分直接掉到 -6.2。
注意:原始 PDB 配体文件不能直接用于对接。跳过配体准备,就是在给自己挖坑。
2.4 准备流程全景
这张图我画了好几次,就是想让你一眼看明白:配体准备不是单纯「格式转换」,而是一个化学信息补充的过程。
2.5 准备工具怎么选
我常用的是下面这几个,按场景选就好:
| 工具 | 适用场景 | 我个人的偏好 |
|---|---|---|
| MGLTools | AutoDock / Vina 标准流程 | 稳定,GUI 直观,适合新手 |
| Open Babel | 批量转换、格式互通 | 配体多的时候我首选它 |
| RDKit | 自定义流程、Python 脚本集成 | 灵活,但需要写代码 |
| Meeko | 自动加氢、电荷、可旋转键 | 最近开始用,很方便 |
我的建议:刚开始做配体准备,走 MGLTools 的图形界面最保险。等流程跑熟了,再换 RDKit 或 Open Babel 做自动化。
2.6 一个常见的坑
很多人以为配体准备做完就万事大吉。嗯,这里要注意——
- 检查配体是否带了不合理的基团(比如晶格水、金属离子)
- 确认质子化状态和 pH 环境匹配
- 如果配体有手性中心,确保立体化学正确
我曾经在做一个激酶项目时,配体手性中心的构型标反了。跑了三天对接,结果全是错的。后来排查了整整两天,才发现问题是原始 PDB 文件里配体的手性标注就有问题。
注意:不要完全相信原始 PDB 文件的配体坐标。实验数据有精度限制,有时候连键序都是错的。
2.7 小结
分子对接不只是一个算法问题,更是数据准备的问题。配体准备做好了,对接结果才值得相信。
接下来,你会在具体操作章节里,亲手把配体从 PDB 格式一步步转换成 PDBQT。每一步我都会告诉你为什么这么做,以及有哪些坑要避开。