3、受体结构的获取:从PDB数据库下载蛋白质结构,识别配体与结晶水

做虚拟筛选,第一步就是拿到靠谱的受体结构。说白了,你手里要是没个准确的蛋白质三维结构,后面的对接全是瞎蒙。我个人习惯是从PDB数据库下手,这是全球最权威的蛋白质结构仓库。

PDB里存的是实验测出来的结构——X射线晶体衍射、冷冻电镜、核磁共振。你给我一个靶点名称,我就能去捞结构文件。但光下载还不够,你得会看这个结构里带了什么:有没有配体?有没有结晶水?这些对对接结果影响巨大。

我刚开始做筛选那会儿,就吃过结晶水的亏。下载了一个结构,没管水分子,直接跑对接,结果评分一直不对劲。折腾了两天才发现,某个水分子在活性位点里扮演氢键桥梁的角色。你一删,结合模式全变了。

3.1 PDB数据库:蛋白质结构的源头

PDB(Protein Data Bank)的地址是 rcsb.org。你打开之后,搜索框里输入靶点名称、基因名或者UniProt ID就行。

举个例子,我要是想找EGFR的激酶结构域,就直接搜"EGFR kinase domain"。结果列表会显示一堆PDB ID,比如1M17、2ITN、5XGM。你得从中挑一个。

筛选标准 优先级 为什么
分辨率 ≤ 2.5 Å 高 分辨率越低,原子位置越准
含原配体 高 原配体帮你定位活性位点
无突变 中 突变型结构可能改变结合口袋
完整度好 中 缺失环区太多影响对接
选结构小技巧: 我一般优先挑分辨率1.5-2.2 Å的,再配合有原配体共晶的结构。这样的受体质量最稳。

3.2 怎么检索目标蛋白

你直接在PDB搜索框输入就行。比如我要做CDK2的虚拟筛选,搜"CDK2"。

结果页面里,你能看到每个结构的详细信息。重点关注这几项:

  • Resolution: 分辨率,单位是Å(埃)。数字越小越好。
  • Ligand: 共晶配体的简称,比如STU、ATP等。
  • Method: 实验方法,X-RAY DIFFRACTION最常用。
  • Release Date: 发布日期,太老的结构可能有精度问题。

点进去一个PDB条目,比如1CKP(CDK2的一个经典结构)。你会看到3D视图、实验信息、文献引用。这时候,你需要下载那个.pdb文件。

3.3 下载PDB文件

每个PDB条目页面都有"Download Files"按钮。点它,选PDB Format或者PDBx/mmCIF。

我个人建议:

  • 做AutoDock对接,用PDB格式就够了,文件小,好处理。
  • 如果结构很大或者含核酸,用mmCIF格式更完整。

下载命令,如果你在服务器上操作,可以直接用wget:

wget https://files.rcsb.org/download/1CKP.pdb

下载完,你就拿到了一个纯文本的.pdb文件。你可以用文本编辑器打开看看——里面全是ATOM、HETATM这些记录行。

3.4 识别配体:HETATM与LIG

打开.pdb文件后,怎么找配体?看HETATM行。配体、结晶水、离子,都属于非标准残基,全部列在HETATM记录里。

举个例子,一段HETATM记录长这样:

HETATM 1234  C1  STU A 301      12.345  67.890  23.456  1.00 30.00           C
HETATM 1235  O2  STU A 301      13.456  68.789  24.567  1.00 32.00           O
HETATM 1236  N3  STU A 301      11.234  66.789  22.345  1.00 28.00           N

这里的关键信息:

  • STU 是配体残基名称,每个PDB文件里都不一样。
  • A 301 是链ID和残基编号。
  • C、O、N 是原子类型。

你打开PDB页面的Ligand部分,它会告诉你这个配体叫什么名字,化学式什么样。比如STU可能是一种小分子抑制剂。

注意: 有些结构没有配体,是apo形式(空蛋白)。这时候你需要找holo结构(结合了配体的)。如果活性位点没有配体,你定位结合口袋会很麻烦。

3.5 结晶水:留还是删?

这是新手最容易踩的坑。结晶水在PDB文件里也是HETATM,但残基名是HOH。比如:

HETATM 2001  O   HOH A 401      10.234  56.789  12.345  1.00 25.00           O

到底要不要保留结晶水?我的经验是:

  1. 远离活性位点的水: 删掉。它们对对接没贡献,还增加计算量。
  2. 活性位点内的水: 分情况讨论。

怎么判断一个水分子重不重要?我用这几种方法:

  • 看它是不是和配体或关键残基形成了氢键。如果是,保留。
  • 看它是不是被多个极性原子包围。如果是,往往结构保守。
  • 看它是不是在结合口袋深处。越深的水,越可能是桥梁。
我常用的策略: 先保留所有水分子,跑一次红萤火虫(Receptor Preparation)的时候自动判断。或者,你在PyMOL里可视化检查,肉眼判断哪些是关键水。

我曾经在一个项目里处理NADH氧化酶的结构,活性位点里有个水分子,连接了配体上的羟基和蛋白的Asp残基。一删掉,对接结果完全偏移了原配体位置。补回来才恢复正常。

所以,别无脑删水。但也不能全留着——有些水结合松散,对接时甩来甩去,反而影响评分。

3.6 受体文件准备好了吗?

下载好PDB文件后,别直接拿去对接。你需要做预处理:

  • 去掉所有非配体的HETATM(保留配体和关键水)。
  • 如果结构里有多余的链,只保留你的靶点链。
  • 检查是否缺残基或无序区域。

我习惯用这个命令快速查看PDB文件基本信息:

grep -c "^ATOM  " 1CKP.pdb
grep "HETATM" 1CKP.pdb | head -20

第一个命令数蛋白质原子数,第二个看有哪些非标准分子。

一句话总结: 受体结构的质量 = 对接成功的50%。剩下50%是配体准备和参数设置。把PDB文件弄干净,后续少踩很多坑。
受体获取与结构预处理核心流程 PDB数据库检索 筛选:分辨率、配体、完整度 下载.pdb结构文件 识别配体(HETATM) 识别结晶水(HOH) 检查残基完整度 预处理:去除非必需分子 准备好受体.pdb文件

这张图展示了我刚才说的完整流程。从PDB数据库开始,一路走到最终受体文件。每一步都不该跳过。

嗯,我再说一个实际教训。有次我从PDB下载了一个结构,看起来分辨率很高,1.8 Å。结果后来才注意到,那个结构的活性位点附近有大量无序区域,原子坐标是缺失的。对接结果自然很糟糕。所以,别只看分辨率,还要看温度因子和缺失残基。

你可以用PyMOL快速查看结构质量:

# PyMOL命令行
load 1CKP.pdb
show cartoon
# 用spectrum显示B-factor
spectrum b, blue_white_red, minimum=0, maximum=100
# 查看缺失环区
set cartoon_highlight_color, yellow

处理完后,你的受体文件应该只包含:

  • 蛋白质原子(ATOM记录)
  • 配体原子(如果你打算用作参考)
  • 关键的结晶水(自己判断过的)

其他所有HETATM都要删掉,包括缓冲液分子(如DMSO、甘油)、离子(如Na+、Cl-,除非在活性位点)等。这些都会干扰对接。

我自己总结的受体处理口诀:
一看分辨率,二看配体在。
三查结晶水,关键留下来。
删掉杂物链,准备对接去。

好了,受体结构这边就到这儿。你按照这个思路去PDB捞结构,识别配体和水分子,预处理干净,后面对接就踏实了。