2、PDB文件格式概览:ATOM记录、HETATM、CONECT等
在我刚开始做结构生物信息学那会儿,第一个碰到的门槛就是PDB文件。说实话,它看起来就像一堆乱码。但只要你摸清了它的骨架,这东西其实非常规整。
PDB文件本质上是纯文本。每一行都有固定的格式,每个字符的位置都有讲究。你想想看,一个8MB的文本文件里存着几万个原子坐标,没有严格的格式规范,解析起来就是一场灾难。
我个人习惯把PDB文件的核心记录分为三大块:原子坐标记录、连接关系记录和元数据记录。今天我们重点讲三剑客:ATOM、HETATM 和 CONECT。
2.1 ATOM记录:蛋白质骨架的基石
ATOM记录是PDB文件里最常见的行。它记录了每一个原子的坐标、元素类型、所属残基等信息。我刚开始检查PDB文件时,常常忽略了对序列信息的核对,结果导致后续分析出错——嗯,这就是教训。
一个标准ATOM记录长这样(列位置从1开始计数):
记录类型 原子序号 原子名称 残基名称 链ID 残基序号 X坐标 Y坐标 Z坐标 占有率 温度因子 元素
COLUMNS 1-6 8-11 13-16 22 23-26 31-38 39-46 47-54 55-60 61-66 77-78
ATOM 1 N MET A 1 41.257 -18.695 8.561 1.00 27.29 N
ATOM 2 CA MET A 1 42.826 -19.505 8.567 1.00 27.91 C
ATOM 3 C MET A 1 43.006 -20.227 9.904 1.00 36.20 C
ATOM 4 O MET A 1 42.252 -21.156 10.188 1.00 38.42 O
来看看几个关键字段:
- 原子名称(8-11列):N、CA、C、O这些是主链原子。CB、CG、CD等是侧链原子。我印象很深的是,有些文件把原子名写成C1、C2这种格式,跟标准命名不一致,批量解析时就会出问题。
- 残基名称(13-16列):三种字母的氨基酸缩写。比如MET是甲硫氨酸,ALA是丙氨酸。
- 链ID(22列):单字符标识链。多亚基结构里,A链、B链在这里区分。
- 坐标(31-54列):X、Y、Z坐标,单位是埃(Å)。精度到小数点后三位。
- 占有率(55-60列):1.00表示完全占据,0.50表示侧链有两种构象。
- 温度因子(61-66列):也叫B-factor,衡量原子位置的灵活程度。值越高,说明这个原子越“晃动”。
2.2 HETATM记录:处理非标准分子
HETATM跟ATOM结构几乎一模一样。唯一的不同是:ATOM用于标准的20种氨基酸和核酸残基,而HETATM用于所有其他分子。
哪些东西会出现在HETATM里?
- 水分子(HOH)
- 配体小分子(ATP、NAD、ATP类似物等)
- 金属离子(Zn²⁺、Mg²⁺、Fe²⁺)
- 修饰氨基酸(磷酸化的丝氨酸、甲基化的赖氨酸等)
- 结晶添加剂(甘油、PEG等)
记得我在一个小分子筛选项目中,需要解析一个配体文件。当时有个配体的坐标在HETATM里,我硬是按ATOM去读,结果残基名称对不上,全乱了。后来才知道,PDB对于非标准残基,一律用HETATM标识。这个小细节,浪费了我大半天。
一个HETATM的例子:
HETATM 1234 C1 ATP A 201 12.345 67.890 23.456 1.00 45.67 C
HETATM 1235 C2 ATP A 201 13.456 68.901 24.567 1.00 44.56 C
2.3 CONECT记录:定义化学连接
ATOM和HETATM告诉你原子在哪。CONECT告诉你原子怎么连。说白了,它就是化学键表。
CONECT记录的结构:
CONECT 原子序号 连接原子1 连接原子2 连接原子3 连接原子4
CONECT 1234 1235 1240 1250 1270
这个记录对蛋白质主链的键连接不是必需的——因为标准残基的键可以通过PDB字典推断。但它对于配体、修饰残基、非标准连接至关重要。没有CONECT记录,你就不知道配体里的原子是怎么串在一起的。
我曾经遇到一个案例:解析一个核酸-配体复合物结构时,配体原子的连接完全乱了,画出来的结构支离破碎。排查了一整天,最终发现是CONECT记录缺失。我手动把键补上,才恢复正常。你想想看,如果批量化处理100个这样的结构,没有正确的CONECT,下游分析全得崩。
2.4 三种记录类型的对比
| 特性 | ATOM | HETATM | CONECT |
|---|---|---|---|
| 记录对象 | 标准残基 | 非标准分子 | 原子间连接 |
| 行格式 | 固定列宽 | 固定列宽 | 自由格式 |
| 坐标数据 | 有 | 有 | 无(仅序号) |
| 键信息 | 隐含(靠字典) | 隐含(靠字典) | 显式给出 |
| 批次校验关注点 | 坐标一致性、序列完整性 | 配体坐标、占有率 | 连接关系完备性 |
| 常见问题 | 原子名称不对齐、残基名称拼写错误 | 配体命名不一致、坐标漂移 | 缺失键、多余键、序号错位 |
核心要点:在批次一致性校验中,这三种记录都不可或缺。你至少需要检查:
- ATOM/TATM的数量是否一致
- 相同残基/配体的坐标偏差是否在容忍范围内
- CONECT记录的连接关系是否完整且无歧义
2.5 实践中的注意事项
我个人有两种习惯,可以帮你避开好多的坑:
技巧:PDB文件有大量过时或废弃的记录类型。你只需要关注ATOM、HETATM、CONECT、HEADER、TITLE、COMPND、SOURCE等核心记录。其他像SHEET、HELIX等二次结构记录,在批次校验中一般用不上。
警告:不同来源的PDB文件,格式规范执行力度差别很大。RCSB PDB数据库的文件最规整。但你从某些第三方工具、旧版本软件里导出的文件,空格对不齐、列偏移的现象比比皆是。一定要用格式化工具做过预处理再开始批量校验。
在我经手的一个项目中,有批从DOCK对接结果导出的PDB结构,其中ATOM记录的链ID列被写成了空格。直接去跑校验脚本,全部因为链ID缺失而报错。预处理脚本只花了20分钟,就解决了这个让整个流程卡了两天的bug。
所以每次批处理之前,我都会先写一个简单的检查脚本——确认每一行的列宽、记录类型标识、关键字段是否为空。这步花不了10分钟,但能省下后面数小时甚至数天的排查时间。