第2章 PDB文件结构解析:标题记录、原子坐标、连接性、结晶参数
好,我们直接进入PDB文件的内核。你拿到一个.pdb文件,第一反应是什么?我当年第一次打开PDB文件,满屏的字符看得头大。其实它没那么复杂,本质上就是个有严格格式的纯文本。弄懂它的骨架,后面所有预处理工作才有意义。
2.1 文件的整体骨架
一个标准的PDB文件,记录类型按行区分。每行的前6个字符就是记录名,这决定了这行数据的含义。我个人习惯把这些记录分成三大块:头信息、坐标主体、以及补充描述。下面这张图可以帮你建立直观印象。
说白了,文件内容你可以理解为「谁做的实验 → 晶体什么样 → 原子怎么放 → 谁和谁连」。预处理的时候,这四块各有各的坑。
2.2 标题记录
标题记录都在文件最前面。它们不包含三维坐标,但提供了关键上下文。读取的时候,我个人习惯至少检查下面这几个:
| 记录名 | 作用 | 典型内容 |
|---|---|---|
| HEADER | 分子类型、沉积日期、PDB ID | PROTEIN, 15-JUL-24, 8XYZ |
| TITLE | 结构标题 | CRYSTAL STRUCTURE OF HUMAN ... |
| COMPND | 分子组成(链、亚基、配体) | MOLECULE: HEMOGLOBIN; CHAIN: A, B |
| EXPDTA | 实验方法 | X-RAY DIFFRACTION / SOLUTION NMR |
| KEYWDS | 关键词 | HYDROLASE, ANTIBIOTIC RESISTANCE |
我的一个习惯: 先扫一下EXPDTA。如果是NMR结构,后面通常是20-50个模型(MODEL记录)。我当年第一次处理NMR文件,没注意到多模型,结果算距离的时候把所有构象混在一起,算出来的全是垃圾值。你想想看,原子坐标混了几十套,那还能对吗?
2.3 原子坐标——文件的核心
原子坐标记录是PDB的身板骨。格式死板,但很规整。先看ATOM和HETATM的区别:
- ATOM:标准氨基酸/核苷酸中的原子。
- HETATM:非标准残基、配体、水分子、金属离子。
- TER:链终止标记。
每个原子行占80列,列位置是固定的。看一个标准例子:
ATOM 1 N ALA A 1 8.361 14.950 18.410 1.00 42.33 N
ATOM 2 CA ALA A 1 9.468 15.822 19.001 1.00 38.28 C
ATOM 3 C ALA A 1 9.850 15.266 20.353 1.00 35.86 C
HETATM 180 O HOH A 301 6.542 17.384 12.656 1.00 23.45 O
列位对应关系:
| 列范围 | 字段 | 说明 |
|---|---|---|
| 1-6 | 记录名 | 右对齐,ATOM或HETATM |
| 7-11 | 原子序号 | 整数,不要依赖它连续 |
| 13-16 | 原子名称 | Ca是CA,Cα是CA |
| 18-20 | 残基名 | ALA, HEM, HOH |
| 22 | 链标识符 | 空格或字母 |
| 23-26 | 残基序号 | 整数,可能会有插入码 |
| 31-38 | x坐标 | Å,实数,3位小数 |
| 39-46 | y坐标 | Å,实数,3位小数 |
| 47-54 | z坐标 | Å,实数,3位小数 |
| 55-60 | 占有率 | 0.00~1.00 |
| 61-66 | 温度因子 | B因子,Ų |
| 77-78 | 元素符号 | 右对齐,如 N, CA, FE |
我曾经踩过的一个坑: 有些老旧PDB文件(93年以前的),原子名称的列对齐和现在不完全一致。早期的Cα写成"CA "(后面有空格),现在规范是" CA "。如果你用固定列截取,而不做trim或stripping,极有可能读出来是"CA "和" CA ",同一个原子在对齐时会变成两个不同的键。我当年写一个小工具时,就因为这个bug排查了整整一下午。
2.4 连接性——谁和谁通过化学键相连
连接性记录通常是CONECT。它指示原子间的成键关系,对重建完整分子结构非常关键。
CONECT 1179 1180 1181 1182
CONECT 1180 1179 1183
CONECT 1181 1179 1184 1185 1186 1187
格式很简单:CONECT后面跟原子序号,第一个是中心原子,后面列出相连的原子序号。注意几点:
- 不是所有PDB文件都有完整的CONECT。
- 某些数据库(如X-ray主流解析软件)可能不生成配体的CONECT。
- SSBOND(二硫键)、LINK(残基间连接)提供更特殊成键信息。
我的经验: 大部分BioPython或PyMOL读取器会自动根据标准残基拓扑推断键,不依赖CONECT。但如果你做配体、金属配合、或者非标准残基的处理,一定手动检查CONECT。我曾经处理一个含铁离子的结构,CONECT里铁与四个氮的键被漏掉了。如果你只靠自动推断,那个铁原子就是孤立的,电荷和几何全都不对。
2.5 结晶参数——对称性和晶胞
CRYST1记录定义了晶体的晶胞参数和空间群。对于X-ray结构,这部分不仅存在,而且对后续建模非常关键。
CRYST1 64.920 64.920 115.030 90.00 90.00 120.00 P 32 2 1 6
字段含义:
| 列范围 | 字段 | 示例 |
|---|---|---|
| 7-15 | a (Å) | 64.920 |
| 16-24 | b (Å) | 64.920 |
| 25-33 | c (Å) | 115.030 |
| 34-40 | α (°) | 90.00 |
| 41-47 | β (°) | 90.00 |
| 48-54 | γ (°) | 120.00 |
| 55-66 | 空间群 | P 32 2 1 |
你以为这就完了?还有SCALE和MTRIX记录。SCALE把非对称单元坐标转成正交坐标。MTRIX描述NMR模型中不同构象间的旋转变换。我见过不少初学者直接忽略这些,结果做一些晶体对称相关的计算时,原子坐标怎么都对不上。
一句话总结: PDB文件不是松散的信息堆。标题记录让你知道这是谁做的什么结构,结晶参数定义了晶体的数学规则,原子坐标给出三维位置,连接性重建了化学键网络。预处理的时候,你每一步都得确认这四块数据是完整的、可解析的。跳过任何一个环节,后面都有可能跑不通。