PDB文件格式总览:历史、结构与坐标
说实话,PDB格式是搞结构生物学绕不开的第一个门槛。我记得刚入行那会儿,拿到一个PDB文件,打开一看全是数字和字母,完全摸不着头脑。今天我们就把它拆开看看,到底里面装了些什么。
从历史说起:为什么会有PDB格式?
PDB,全称是Protein Data Bank。上世纪70年代,科学家们开始用X射线晶体学解析蛋白质结构。问题是——这些结构数据存成什么样?各存各的,根本没法交换。1971年,Brookhaven国家实验室牵头,定了一套标准格式。说白了,就是给全世界蛋白质结构定了个统一的“户口本”。
现在的PDB格式由wwPDB(worldwide Protein Data Bank)维护。最新版本是3.3,从2011年沿用至今。你想想看,一个格式活了50多年,还在被广泛使用,这本身就说明了它的价值。
记录类型:文件里到底写了什么?
打开一个PDB文件,每行都有特定的含义。行首的关键字就是“记录类型”。我挑几个最常用的来讲。
| 记录类型 | 说明 | 重要性 |
|---|---|---|
| HEADER | 文件头,包含分子类型、发布日期 | 必须,第一行 |
| ATOM | 标准氨基酸/核苷酸原子坐标 | 核心数据 |
| HETATM | 非标准原子(水、配体、修饰基团) | 核心数据 |
| TER | 链终止标识 | 分割链用 |
| END | 文件结束 | 必须,最后一行 |
| CONECT | 原子连接关系 | 可选但常用 |
这里有个常见坑——ATOM和HETATM的区别。我在项目中遇到过好几次,有人把配体原子当ATOM处理,结果拓扑结构全乱了。记住:ATOM只用于标准20种氨基酸和标准核酸的原子。其他东西,包括水分子、金属离子、底物、修饰氨基酸,统统用HETATM。
坐标系统:原子在哪儿?
坐标这部分,说白了就是三维空间里的xyz。单位是Å(埃,1 Å = 10⁻¹⁰米)。PDB用直角坐标系,不是球坐标也不是分数坐标。
看一下典型的ATOM行长什么样:
ATOM 1 N ALA A 1 -0.525 1.362 0.000 1.00 0.00 N
ATOM 2 CA ALA A 1 0.000 0.000 0.000 1.00 0.00 C
ATOM 3 C ALA A 1 1.520 0.000 0.000 1.00 0.00 C
ATOM 4 O ALA A 1 2.099 0.836 0.740 1.00 0.00 O
ATOM 5 CB ALA A 1 -0.492 -0.921 1.101 1.00 0.00 C
TER
HETATM 10 O HOH A 201 2.500 1.500 0.500 1.00 0.00 O
格式非常固定,每个字段都占固定列宽。我列个表方便你对照:
| 列范围 | 字段 | 说明 |
|---|---|---|
| 1-6 | 记录类型 | ATOM或HETATM,右对齐 |
| 7-11 | 原子序号 | 整数,从1开始 |
| 13-16 | 原子名称 | 如CA、CB、N、O |
| 17 | 备选位置 | 空格或A/B/C,处理无序结构 |
| 18-20 | 残基名称 | 三个字母,如ALA |
| 22 | 链标识 | 单个字母,A/B/C... |
| 23-26 | 残基序号 | 整数 |
| 27 | 插入码 | 处理序列插入 |
| 31-38 | x坐标 | 浮点数,单位Å |
| 39-46 | y坐标 | 浮点数 |
| 47-54 | z坐标 | 浮点数 |
| 55-60 | 占有率 | 0-1之间,处理无序 |
| 61-66 | 温度因子 | B因子,反映原子柔动 |
| 77-78 | 元素符号 | 如 C、N、O、FE |
链标识:多链结构怎么区分?
蛋白质常常是多个链组装在一起的。比如抗体有重链和轻链,血红蛋白有4条链。PDB用链标识(Chain ID)来区分。在ATOM行的第22列,就是一个大写字母。
常见的约定:
- A链、B链、C链——按字母顺序排
- 如果是对称复合物,一般用A、B、C、D...
- 蛋白质和DNA共存时,蛋白用A,DNA用B或C
- 链标识可以是字母或数字,但推荐用字母
你看上面那个例子,“ALA A 1”就表示是A链的第1号丙氨酸残基。两个不同链的残基即使序号相同,也完全不是一回事。
核心知识框架图
上面讲了这么多,我画个图帮你理清思路。这个图展示了PDB文件的整体结构:
常见陷阱与避坑指南
实际操作中,PDB文件经常不按规矩来。我总结几个最常见的坑:
- 备选位置:有些原子在电子密度图里有两个可能位置。PDB会用A和B标记。处理时要么取A,要么两个都保留,别混了。
- 插入码:晶体结构里偶尔会有插入的残基,序号后面带字母。比如残基序号15A、15B。排序时别把它当数字处理。
- 非标准残基:有些修饰氨基酸虽然名字看着像标准残基,但用的是HETATM。比如磷酸化的丝氨酸,在PDB里叫SEP,是HETATM。
- TER缺失:有些老文件或质量差的结构,TER行可能不全。解析时如果遇到链标识突然变化,就相当于隐式的TER。