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 Å | 高 | 分辨率越低,原子位置越准 |
| 含原配体 | 高 | 原配体帮你定位活性位点 |
| 无突变 | 中 | 突变型结构可能改变结合口袋 |
| 完整度好 | 中 | 缺失环区太多影响对接 |
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可能是一种小分子抑制剂。
3.5 结晶水:留还是删?
这是新手最容易踩的坑。结晶水在PDB文件里也是HETATM,但残基名是HOH。比如:
HETATM 2001 O HOH A 401 10.234 56.789 12.345 1.00 25.00 O
到底要不要保留结晶水?我的经验是:
- 远离活性位点的水: 删掉。它们对对接没贡献,还增加计算量。
- 活性位点内的水: 分情况讨论。
怎么判断一个水分子重不重要?我用这几种方法:
- 看它是不是和配体或关键残基形成了氢键。如果是,保留。
- 看它是不是被多个极性原子包围。如果是,往往结构保守。
- 看它是不是在结合口袋深处。越深的水,越可能是桥梁。
我曾经在一个项目里处理NADH氧化酶的结构,活性位点里有个水分子,连接了配体上的羟基和蛋白的Asp残基。一删掉,对接结果完全偏移了原配体位置。补回来才恢复正常。
所以,别无脑删水。但也不能全留着——有些水结合松散,对接时甩来甩去,反而影响评分。
3.6 受体文件准备好了吗?
下载好PDB文件后,别直接拿去对接。你需要做预处理:
- 去掉所有非配体的HETATM(保留配体和关键水)。
- 如果结构里有多余的链,只保留你的靶点链。
- 检查是否缺残基或无序区域。
我习惯用这个命令快速查看PDB文件基本信息:
grep -c "^ATOM " 1CKP.pdb
grep "HETATM" 1CKP.pdb | head -20
第一个命令数蛋白质原子数,第二个看有哪些非标准分子。
这张图展示了我刚才说的完整流程。从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捞结构,识别配体和水分子,预处理干净,后面对接就踏实了。