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。

具体来说,学完以后你应该能:

  1. 读懂 PDB 和 PDBQT 每一行每一列的含义
  2. 手动或用脚本完成原子类型分配与电荷计算
  3. 正确处理可旋转键的检测与标记
  4. 诊断并修复转换过程中常见的错误(原子缺失、电荷异常、类型映射失败等)
  5. 将转换流程集成到自己的虚拟筛选管道里

一句话概括: 从「能转」到「转得对」,再到「批量转不慌」。

1.4 知识体系一览

下面这张图把 PDB→PDBQT 的完整过程拆成了三个阶段。你注意看每个阶段里最核心的节点,这些就是后面每一章要啃的重点。

PDB → PDBQT 知识体系总览 输入阶段 处理阶段 输出阶段 PDB 原始文件 格式解析与校验 原子类型分配 电荷计算与分配 可旋转键识别 PDBQT 输出文件 读取坐标与残基信息 检查原子完整性 AD4 类型映射 Torsion Tree 构建

从图上你能看到,转换不是简单的「改个后缀名」。中间要经过格式校验、原子类型映射、电荷计算、可旋转键识别四个核心环节。任何一个环节出问题,输出的 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 或更新版本。