1. 课程介绍与目标
做计算化学的人,尤其是搞分子对接的,几乎都躲不开一个步骤:把配体的 PDB 文件转成 PDBQT。我最早接触这个操作是在一次虚拟筛选项目里,当时对着终端里一堆报错信息反复折腾,心里就一个念头——要是有一份从头到尾讲清楚原理和实操的教程就好了。嗯,后来踩的坑多了,慢慢也就摸透了这里面的门道。
这节课我就带你从头梳理 PDB 到 PDBQT 的完整转换链路。不绕弯子,直接讲清楚「为什么转」「转的时候发生了什么」「怎么保证转完不出错」。你跟着走一遍,以后碰到这类格式转换心里就有底了。
1.1 从两个文件格式说起
PDB 格式大家应该不陌生。它是 Protein Data Bank 的缩写,最早是为了存蛋白质晶体结构而设计的。每一行记录一个原子的坐标、残基信息、温度因子等。说白了,它就是一套原子坐标的清单。
PDBQT 呢?名字里的 Q 和 T 分别代表 Partial Charges 和 Atom Types。这是 AutoDock 系列工具(AutoDock 4、AutoDock Vina)专用的配体格式。它在 PDB 的基础上额外加了两个关键字段:部分电荷和原子类型,同时还显式标出了可旋转键的信息。
我习惯把 PDBQT 理解成「给对接工具准备的配体通行证」。没有这张通行证,对接程序根本不知道你的配体哪个原子带多少电、哪些键能转。
两者的核心差异,我整理了一张表:
| 特性 | PDB | PDBQT |
|---|---|---|
| 全称 | Protein Data Bank | PDB with Partial Charges & Atom Types |
| 主要用途 | 生物大分子结构存储与交换 | 分子对接与虚拟筛选 |
| 原子类型 | 标准元素符号(C、N、O…) | 扩展的 AD4/AT 类型(如 CA、OA、NA…) |
| 电荷信息 | 无 | Gasteiger 部分电荷 |
| 可旋转键 | 无 | 显式标记(ROOT / BRANCH / ENDBRANCH) |
| 适用场景 | 结构生物学、晶体学 | AutoDock / Vina 对接 |
1.2 为什么非转不可?
你可能会问:我用 PDB 直接做对接行不行?答案是——不行。原因有三。
- 对接需要电荷信息。 打分函数要算静电相互作用,没有部分电荷,能量评估就是瞎算。PDBQT 里每一行 ATOM 记录的第 10 个字段就是电荷值。
- 对接需要原子类型。 AutoDock 的打分函数是原子类型对参数化的。它不认识元素符号,只认 AD4 类型(比如芳香碳 CA、极性氮 NA)。PDBQT 的最后一位就是原子类型码。
- 对接需要可旋转键定义。 对接时要搜索配体的构象空间。PDBQT 通过 ROOT、BRANCH、ENDBRANCH 标记了哪些单键可以旋转,哪些是刚性片段。PDB 里根本没有这个信息。
我在项目里遇到过有人直接把 PDB 塞进 Vina,结果跑出来的构象键长都是错的。那其实就是因为没有原子类型映射,工具端胡乱猜了一通。所以这一步不是「可选优化」,而是「必要前置」。
1.3 这门课要带你搞定什么?
整个课程围绕一个核心目标展开:让你能独立、正确、高效地把任意配体的 PDB 文件转成可用的 PDBQT。
具体来说,学完以后你应该能:
- 读懂 PDB 和 PDBQT 每一行每一列的含义
- 手动或用脚本完成原子类型分配与电荷计算
- 正确处理可旋转键的检测与标记
- 诊断并修复转换过程中常见的错误(原子缺失、电荷异常、类型映射失败等)
- 将转换流程集成到自己的虚拟筛选管道里
一句话概括: 从「能转」到「转得对」,再到「批量转不慌」。
1.4 知识体系一览
下面这张图把 PDB→PDBQT 的完整过程拆成了三个阶段。你注意看每个阶段里最核心的节点,这些就是后面每一章要啃的重点。
从图上你能看到,转换不是简单的「改个后缀名」。中间要经过格式校验、原子类型映射、电荷计算、可旋转键识别四个核心环节。任何一个环节出问题,输出的 PDBQT 都不能直接用于对接。
1.5 谁该学?需要准备什么?
这门课面向的读者范围其实挺广的。我列一下:
- 计算化学初学者: 刚接触分子对接,想知道 PDBQT 到底是什么、怎么生成
- 有经验的虚拟筛选工程师: 批量处理配体时想提高转换成功率,减少手动调试时间
- 药物化学家: 自己设计了一些小分子,想快速跑对接验证结合模式
- 工具开发者: 想把自己的对接流程自动化,需要深挖格式转换的底层细节
前置知识方面,你不需要很深的计算化学背景。但最好:
- 对有机化学的基本概念(原子、键、官能团)有了解
- 能用终端执行简单的命令(cd、ls、python 等)
- 接触过一种编程语言(Python 最好,后面很多脚本要用)
提示: 如果你完全没有命令行基础,建议先花半小时熟悉一下 Linux 终端的基本操作。后面几乎每一步都离不开终端。
至于工具和软件,我会在第二章详细讲环境搭建。这里先给个清单,你可以提前准备:
- Python 3.8 以上 + RDKit(用于分子操作和电荷计算)
- MGLTools(AutoDock 官方工具包,包含 prepare_ligand4.py)
- Open Babel(格式互转的瑞士军刀)
- 一个文本编辑器(VSCode 或 Sublime 都行,用来查看和编辑 PDBQT 文件)
注意: 不同版本的 MGLTools 对原子类型的映射规则有细微差异。我曾经在两个版本之间切换时发现同一个配体生成的 PDBQT 原子类型不一样,排查了半天才找到原因。建议统一用 MGLTools 1.5.7 或更新版本。