搜索PDB条目:从基础到高手

PDB里存着快20万个结构。怎么找到你要的那个?

很多人一上来就输入"COVID",结果出来几千个。嗯,这样效率太低了。我刚开始用PDB时也犯过这毛病,后来才摸清门道——搜索其实有套路,从简单到高级,层层递进。

PDB搜索策略概览 你的需求 基本搜索 4字符PDB ID 高级搜索 分子名 / 方法论 / 作者 / 序列 过滤条件 分辨率 / 有机体 / 年份 搜索结果列表 点击条目查看详情 / 下载结构 技巧:先用高级搜索缩小范围,再配合过滤条件精确打击,别上来就大海捞针

基本搜索:入门级操作

PDB官网顶上有个搜索框。你往里面输东西,它就给你搜。最基本的用法是输入PDB ID——也就是那个4位字符的代码。

常用PDB ID示例:
  • 4HHB — 血红蛋白(经典结构)
  • 1BNA — B型DNA双螺旋
  • 6LU7 — COVID-19主蛋白酶
  • 1UBQ — 泛素(蛋白质降解标识物)

基本搜索也支持关键词。比如你打"insulin",它会列出所有跟胰岛素有关的条目。但我得提醒你——这样做出来的结果非常粗糙。原因很简单:搜索词会匹配标题、作者、摘要、甚至配体名,相关性完全不可控。

我记得有次搜"zinc finger",结果里蹦出来一堆含锌离子的结构。那些只是意外结合了锌,跟锌指蛋白没半毛钱关系。所以基本搜索只适合两种情况:一是你知道确切ID,二是你想先看个大概。

高级搜索:这才叫真正干活

点一下搜索框旁边的"Advanced Search"链接。你会看到一个多字段表单。这才是PDB搜索的精华所在。

高级搜索主要字段:
  - Structure Title       (结构标题)
  - Macromolecule Name    (大分子名称)
  - Author                (作者)
  - Sequence              (序列搜索)
  - Citation              (文献引用)
  - Ligand                (配体/小分子)
  - Experimental Method   (实验方法:X-ray, NMR, Cryo-EM)
  - Resolution Range      (分辨率范围)
  - Release Date          (发布日期)
实战建议:

我个人习惯是先用"Macromolecule Name"限定分子名,再加一个"Experimental Method"筛选。比如搜"新冠病毒刺突蛋白",限定只显示冷冻电镜结构。这样出来的结果基本就直接可用了。

高级搜索的字段之间默认是"AND"关系。你也可以改成"OR",或者用"NOT"排除某些结果。举个例子:搜"kinase" AND NOT "mutation",就能去掉那些突变体结构。

序列搜索

这是我用得最多的功能之一。你贴上一段氨基酸序列,PDB会用BLAST算法在库里找相似结构。点"Sequence"选项卡,把FASTA格式序列贴进去就行。

>示例序列(人胰岛素A链)
GIVEQCCTSICSLYQLENYCN

它会返回序列相似度排序的结果。一般同源性在90%以上的,结构基本可以直接拿来用。低于30%就别勉强了——结构差异可能很大。

注意:

序列搜索对核酸也支持。你可以贴DNA或RNA序列去找对应的结构域。不过核酸结构比蛋白质少得多,命中率没那么高。

过滤条件:精准打击

搜完之后,结果页面左边有个过滤面板。这里才是真正缩小范围的地方。过滤器分成好几类,我挑几个最常用的讲讲。

过滤类别 常用选项 我的经验
分辨率 0-2Å(高分辨率)
2-3Å(中等)
3-6Å(低分辨率)
做药物设计至少2.5Å以下
冷冻电镜3-4Å也够用
实验方法 X-ray / NMR / Cryo-EM / 混合法 NMR给的是一组模型
冷冻电镜近年增长最快
有机体 人 / 小鼠 / 大肠杆菌 / 酵母等 人源优先,注意同源性
发布年份 可滑动选择时间段 我常用"最近5年"
老结构可能有错误
分子类型 蛋白质 / DNA / RNA / 复合物 选"蛋白质/核酸复合物"
看相互作用时特别好用

分辨率这个事儿,我还是多说两句。X射线晶体学的分辨率数值越小越好。1.5Å能看到水分子,3Å就只能看清主链走向。做对接模拟的话,低于3Å的结构参考价值要打折。

我的习惯流程:
  1. 高级搜索里填好分子名和实验方法
  2. 分辨率拉杆拖到3.0以下
  3. 有机体选"Human"
  4. 按分辨率升序排列结果
  5. 优先看排在最前面的

搜索结果的解读

结果页会显示每个条目的缩略图、标题、PDB ID、实验方法、分辨率、发布年份。点进去就能看到完整页面,包含文献信息、结构质量指标、以及可供下载的文件列表。

有一个小技巧:看结果列表的时候,注意看那个"聚合状态"。标记为"Biological Assembly"的,通常是完整的功能状态。"Asymmetric Unit"只是结晶时的最小重复单元,不一定有生物活性。

避坑提醒:

我曾经翻过一个膜蛋白结构,分辨率标着3.2Å,心想还行。仔细一看R-free值0.38——这个模型质量很差。所以除了分辨率,一定要看R值和R-free值。好的结构R-free应该在0.25-0.30之间。R/R-free差距太大也要警惕,可能有过度拟合。

还有一个过滤器很多人忽略了——"Refinement Details"里的R-free值过滤。你可以只显示R-free低于0.3的条目。这个组合拳打出来,能筛掉一半以上的低质量结构。

编程方式搜索(给有代码基础的同学)

如果你跟我一样嫌网页操作麻烦,可以用RESTful API直接查。PDB的搜索接口返回JSON格式结果,方便程序处理。

示例:查询人源胰岛素结构,分辨率优于2.0Å
GET请求:
https://search.rcsb.org/rcsbsearch/v2/query

请求体(JSON格式):
{
  "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
        }
      },
      {
        "type": "terminal",
        "service": "text",
        "parameters": {
          "attribute": "rcsb_entity_source_organism.scientific_name",
          "operator": "exact_match",
          "value": "Homo sapiens"
        }
      }
    ]
  },
  "return_type": "entry",
  "request_options": {
    "paginate": {
      "start": 0,
      "rows": 25
    },
    "sort": [
      {
        "sort_by": "rcsb_entry_info.resolution_combined",
        "direction": "asc"
      }
    ]
  }
}

返回结果会给你一个PDB ID列表。拿到ID之后再用fetch接口获取详细信息。这部分我们后面章节再展开。

说白了,搜索这件事掌握三个要点就够了:知道搜什么(关键词)、知道怎么筛(过滤条件)、知道怎么看(质量指标)。做到这三点,PDB里几十万个结构你也可以精准定位到想要的条目。