PDBQT文件格式详解:由来、原子类型与柔性标记

咱们直接切入正题。PDBQT,说白了就是AutoDock家族专用的“菜谱”。为什么叫这个名?它是PDB格式的扩展版,多了电荷(Q)和原子类型(T)两样东西。没有它,对接软件根本不知道你的配体跟蛋白该怎么“握手”。

我刚开始做对接那阵子,总想着偷懒直接用PDB文件往里扔,结果报错看到「Unknown atom type」——嗯,从那以后我就老老实实转格式了。

PDBQT的由来:从PDB到对接专用格式

PDB格式本身只有原子坐标、残基信息这些基础数据。AutoDock需要的却是:哪个原子带多少电?能不能旋转?属于哪一类原子? PDMB标准里可没有这些。

于是就有了PDBQT。它在PDB的基础上加了两个关键字段:

  • Q(Partial Charge):部分电荷,通常是Gasteiger电荷或MMFF94电荷。
  • T(AutoDock Type):原子在对接力场中的类型,比如C、A、OA、HD等。

看一个典型的PDBQT记录你就明白了:

ATOM      1  C    LIG     1       1.234   2.345   3.456   -0.123  C   0.000
ATOM      2  CA   LIG     1       1.567   2.890   3.123    0.045  A   0.000
ATOM      3  OA   LIG     1       1.789   3.012   2.901   -0.456  OA  0.000

倒数第二列是电荷,最后一列是原子类型。注意那个0.000,它是旋转键自由度占位符——后面我们会用到它。

关键区别: PDB文件第13-16列通常是空的或无意义;PDBQT必须填电荷和类型。缺一不可,否则软件直接罢工。

原子类型:Gasteiger vs MMFF94

原子类型,我个人习惯把它分成两派:Gasteiger派和MMFF94派。很多人以为随便选一个就行——我当初也这么想。结果有一次用MMFF94算出来的电荷,对接结果比实验值偏了0.8 kcal/mol,换成Gasteiger就正常了。

咱们掰开揉碎讲清楚:

特性 Gasteiger电荷 MMFF94电荷
计算方法 基于电负性均衡 基于力场参数化拟合
适用场景 通用有机小分子、对接初筛 类药分子、需要高精度时
计算速度 非常快(几乎秒出) 稍慢(需要力场参数)
缺点 对杂环大分子偏差较大 参数覆盖不全时易报错
AutoDock兼容性 原生支持,默认选项 部分版本需额外转换

我在项目中的避坑指南: 如果你的配体包含芳香环、磺胺基团或含氟基团,尽量选Gasteiger电荷。MMFF94对这些基团的电荷分配容易炸(我遇到过电荷偏离到-2.0的不合理值)。

反过来,如果配体是糖类或多肽类,MMFF94往往更准确。嗯,具体怎么选,后面章节会教你怎么写脚本自动判别。

另外,AutoDock原子类型不止一种。下表是我常用的对应规则:

原子符号 AutoDock类型 说明
C C sp3/sp2 碳(非芳香)
N N sp2 氮(如酰胺、嘧啶)
O OA 氧(羟基、醚)
F F 氟(大部分情况)
S S 硫(大多情况)
N (芳香) NA 芳香氮(如吡啶N)
O (羰基) O 羰基氧(C=O)
H (极性) HD 与O、N相连的氢
H (非极性) H 与C相连的氢

个人小技巧: 你可以在PDBQT文件中手动检查原子类型是否正确。如果发现某个碳被标成「A」(芳香碳)但实际不是芳香环——那说明你的SDF文件里芳香键信息丢了。回到第一步重新处理。

旋转键与柔性残基标记

这一块是PDBQT的“灵魂”。AutoDock之所以能模拟配体柔性,靠的就是旋转键。

说白了,对接的时候不是整个配体乱晃,而是只让那些可以自由转动的单键旋转。比如乙基(-CH2CH3)绕着C-C单键转,苯环本身是刚性的。

旋转键标记规则:

  • 每条可旋转的单键在PDBQT中被标记为ROTATABLE
  • 不能旋转的键(双键、三键、酰胺键)直接跳过
  • 旋转键两端原子各有一个自由度被标出

PDBQT里怎么体现?看这个例子:

ATOM      1  C    LIG     1       0.000   0.000   0.000    0.100  C   0.000
ATOM      2  C1   LIG     1       1.540   0.000   0.000    0.100  C   1.000
ATOM      3  C2   LIG     1       2.350   1.240   0.000    0.050  C   1.000
...
ROTATABLE 2
ROTATABLE 3

最后两行ROTATABLE 2和ROTATABLE 3表示第2和第3号原子参与了旋转键。你想想看,如果这里漏掉一个旋转键,对接时配体就少了一个自由度——结果可能差出几个Å。

警告: 配体中的酰胺键(-CO-NH-)虽然看起来是单键,但因为有部分双键性质,不能标记为可旋转。我曾经犯过这个错,对接出的构型酰胺键直接扭转了90度——明显不符合事实。

柔性残基:不止配体能动

PDBQT不仅支持配体柔性,也支持蛋白口袋侧链的柔性。这就是所谓的柔性残基(Flexible Residues)。

标记方式跟配体类似,但更精细:

  • 你只需要选定口袋附近的几个关键残基(比如ASP、SER、LYS)
  • 这些残基的侧链会被单独列出,并且每个可旋转单键也被标记
  • 蛋白骨架保持固定,只有侧链动

举个例子,如果你让ASP32的侧链羧基可以旋转:

ROTATABLE 456
ROTATABLE 457

456和457是ASP32侧链中Cβ到Cγ、Cγ到Cδ的原子序号。

重要原则: 柔性残基个数建议控制在3-5个以内。多了计算量暴增,而且容易过拟合——我经历过一次,12个柔性残基算了一周,结果还没固定侧链的好。

本章知识体系总览

为了帮你串清思路,我画了一张图:

PDBQT格式核心知识结构 PDBQT 格式核心知识结构 PDBQT 由来 在PDB基础上增加Q(电荷)和T(原子类型) 原子类型 Gasteiger / MMFF94 两类主流方案 旋转键标记 可旋转单键→ROTATABLE标记 柔性残基标记 蛋白口袋侧链柔性,3-5个为宜 Gasteiger:快、准、通用 MMFF94:精度高,参数需全 原子类型映射(C/A/OA/HD...) 单键可转,双键/三键不转 酰胺键不可转 自由度标注在原子行末 选3-5个口袋侧链残基 侧链可旋转键逐一标记 骨架固定,侧链柔性 核心要点:电荷准确 + 旋转键完整 = 对接可靠