PDB 数据库概述:从零开始认识这个结构生物学宝藏
做结构生物信息学,PDB 是你绕不开的第一个坎。我当年刚接触这个领域时,面对满屏的 PDB ID 和四字母代码,说实话有点懵。但现在回过头看,理解 PDB 的来龙去脉,真的能帮你省掉后面很多坑。
PDB 数据库的发展历史:一个从无到有的故事
PDB,全称 Protein Data Bank,蛋白质数据库。它诞生于 1971 年,当时只有 7 个结构。你能想象吗?现在每天新增的结构数都比这个多。
为什么会创立 PDB?说白了,是因为结构生物学发展太快了。X 射线晶体学在 60 年代成熟后,解析的蛋白质结构越来越多,但数据散落在各个实验室。没有统一存储,也没有标准格式。你想用别人的数据?只能写信去要。
我记得在早期文献里看到过一个数据:1973 年 PDB 只有 12 个条目。当时还是磁带存储,用 Fortran 写的管理系统。嗯,那时候的计算机连我现在工位上的盆栽都比不上。
- 1971 年:由 Brookhaven 国家实验室建立,初始 7 个结构
- 1998 年:管理权移交至 Research Collaboratory for Structural Bioinformatics (RCSB)
- 2003 年:wwPDB 联盟成立,统一全球 PDB 管理标准
- 2014 年:PDB 条目突破 100,000
- 2024 年:PDB 已超过 220,000 个结构条目
你想想看,从 7 到 22 万,这个增长速度本身就是个信号——结构数据的重要性在持续攀升。我个人习惯把 1998 年作为一个分水岭:在这之前,PDB 主要是「存储」;在这之后,它变成了「服务」。RCSB 接手后,PDB 的网站、搜索、可视化功能才开始像样起来。
数据来源:这些结构从哪来?
PDB 里的结构数据,核心来源就三大实验方法。我做过不少跨方法的数据处理,每个方法的文件特征都不一样,遇到了可得小心。
| 实验方法 | 占 PDB 比例 | 文件特征 | 常见问题 |
|---|---|---|---|
| X 射线晶体学 | ~85% | 含 REMARK 200 记录 | 分辨率数据散落在多条记录中 |
| 核磁共振(NMR) | ~10% | 模型编号 (MODEL) 多行 | 需要选择代表性模型 |
| 冷冻电镜(Cryo-EM) | ~5% | 实验方法标记为 ELECTRON MICROSCOPY | 分辨率标注混乱,最近才规范化 |
除了实验结构,PDB 还接受同源建模的结构,但比例极低。这其实是个很好的设计——PDB 优先收录实验数据,保证质量底线。
我曾经在一次项目中碰到过 NMR 结构文件的坑:同一个 PDB ID 对应 20 个模型,该怎么选?我当时用 MODEL 1 直接读,后来发现跟验证报告对不上。所以现在我做预处理时,都会先检查模型数量。
EXPDTA 记录行,它会明确标注实验方法。不需要逐行翻文件。
结构数据库的作用:不仅仅是存文件
PDB 的核心作用,说白了就三件事:存储、检索、验证。但实际用起来,远不止这么简单。
存储层面:PDB 定义了标准格式——从老式的 PDB 格式到新型的 mmCIF 格式。我做数据处理时,更倾向用 mmCIF,因为它能存更复杂的生物组装信息。
检索层面:RCSB PDB 的搜索接口很强大。你可以按序列、按分辨率、按物种甚至按作者来查。这在我们做数据集构造时特别有用。
# RCSB PDB RESTful API 示例:按分辨率筛选
# 查询分辨率 <= 2.0 Å 的蛋白结构
curl "https://search.rcsb.org/rcsbsearch/v2/query" \
-H "Content-Type: application/json" \
-d '{
"query": {
"type": "group",
"logical_operator": "and",
"nodes": [
{
"type": "terminal",
"service": "text",
"parameters": {
"attribute": "rcsb_entry_info.resolution_combined",
"operator": "less_or_equal",
"value": 2.0
}
}
]
},
"return_type": "entry"
}'
验证层面:PDB 的验证报告系统 (PDB Validation Reports) 是我常用的质量评估工具。每个新提交的结构都会自动生成验证报告,包括立体化学质量、密度拟合情况等。我习惯在下载结构前,先看一眼它的验证分数。
接下来说说 PDB 在整个生物信息学领域扮演的角色。你可以把它理解成「种子」——有了这些实验结构,才有后面的同源建模、分子对接、药效团筛选。没有 PDB,这些应用就是空中楼阁。
我个人觉得,PDB 最重要的贡献不是存了多少数据,而是推动了结构数据的标准化。大家都用同一个格式、同一个坐标系、同一个命名规范。这就好像修铁路,轨道宽度统一了,火车才能跑起来。
PDB 文件格式:我建议你直接上手 mmCIF
老式 PDB 格式有个致命缺陷:每行只有 80 个字符。这就限制了它存不了复杂数据。比如你遇到一个大分子复合体,像核糖体那种,PDB 格式根本装不下完整的原子坐标。
mmCIF 格式就不一样了。它用键值对结构,可以无限扩展。我建议新手从 mmCIF 开始学,少走弯路。
# mmCIF 格式示例片段
#
loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
ATOM 1 N 42.359 41.005 40.031
ATOM 2 CA 41.398 40.924 41.158
ATOM 3 C 41.931 40.116 42.333
# 注意:此处仅作格式展示,非完整文件
Bio.PDB.MMCIFParser 解析,比 PDB 格式快得多,而且不容易丢字段。
PDB 在真实项目中的角色
我参与过几个药物设计相关的项目,PDB 基本上是起点。举个例子:你想做某个靶点的虚拟筛选,第一件事就是去 PDB 找到对应的结构。然后才是缺失残基补全、分辨率筛选、活性位点定义。
但这里有个现实问题——PDB 里的结构不是拿来就能用的。很多条目有残基缺失,侧链不完整,B 因子异常,分辨率虚标。这也是为什么后面的课我要专门讲缺失补全和分辨率筛选。你不处理好这些前期工作,下游分析全是垃圾进垃圾出。