2. 分子对接与配体准备概述

先聊聊分子对接是什么。说白了,就是模拟小分子配体和受体蛋白怎么「牵手」的过程。

我刚开始做对接那会儿,总觉得这事儿挺玄乎的。计算机里跑个程序,就能预测药物分子能不能和靶点结合?后来亲手做多了,才明白背后有一套严谨的物理化学逻辑。

2.1 核心概念:这门技术到底在干嘛

分子对接的本质,是从两个维度求解:

  • 结合位点 — 配体在受体表面的哪个位置「落脚」
  • 结合模式 — 配体以什么构象、什么朝向嵌入口袋

我给你拆成三个关键要素:

要素 描述 我踩过的坑
受体 通常是蛋白或核酸,有明确的三维结构 结构质量不行,后面全白搭
配体 小分子,等着和受体结合 电荷状态设错,打分直接偏
搜索算法 + 打分函数 算能量、评优劣 一开始总贪快,结果全是假阳性

记住一句话:对接结果好不好,70% 靠输入准备的细不细。

2.2 输入与输出:你的文件长什么样

  1. 输入 — 受体结构 + 配体结构,两个 PDB 或 PDBQT 文件
  2. 输出 — 对接姿态坐标 + 打分值,通常写在 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 准备流程全景

配体准备工作流 步骤 1 获取原始 PDB 配体 步骤 2 加氢 + 指定电荷 步骤 3 分配原子类型 步骤 4 设置可旋转键 为什么重要? 缺失或错误的准备步骤 直接导致对接打分不可靠 关键注意点 • 加氢的 pH 环境必须与实际实验一致 • 电荷计算方法(如 Gasteiger、MMFF94)会影响静电打分

这张图我画了好几次,就是想让你一眼看明白:配体准备不是单纯「格式转换」,而是一个化学信息补充的过程。

2.5 准备工具怎么选

我常用的是下面这几个,按场景选就好:

工具 适用场景 我个人的偏好
MGLTools AutoDock / Vina 标准流程 稳定,GUI 直观,适合新手
Open Babel 批量转换、格式互通 配体多的时候我首选它
RDKit 自定义流程、Python 脚本集成 灵活,但需要写代码
Meeko 自动加氢、电荷、可旋转键 最近开始用,很方便

我的建议:刚开始做配体准备,走 MGLTools 的图形界面最保险。等流程跑熟了,再换 RDKit 或 Open Babel 做自动化。

2.6 一个常见的坑

很多人以为配体准备做完就万事大吉。嗯,这里要注意——

  • 检查配体是否带了不合理的基团(比如晶格水、金属离子)
  • 确认质子化状态和 pH 环境匹配
  • 如果配体有手性中心,确保立体化学正确

我曾经在做一个激酶项目时,配体手性中心的构型标反了。跑了三天对接,结果全是错的。后来排查了整整两天,才发现问题是原始 PDB 文件里配体的手性标注就有问题。

注意:不要完全相信原始 PDB 文件的配体坐标。实验数据有精度限制,有时候连键序都是错的。

2.7 小结

分子对接不只是一个算法问题,更是数据准备的问题。配体准备做好了,对接结果才值得相信。

接下来,你会在具体操作章节里,亲手把配体从 PDB 格式一步步转换成 PDBQT。每一步我都会告诉你为什么这么做,以及有哪些坑要避开。