欢迎光临
我们一直在努力

课前准备--蛋白-蛋白分子对接(二)

作者,Evil Genius
接下来要为我们的2026生化小课–CADD计算机辅助药物设计、分子对接/分子动力学的课程做好准备,这个世界上很多事情我们都无法决定,我们唯一确定能决定的事情,就是自己想做一件事,尽自己最大的努力把事情做好。
今天我们更新一下蛋白-蛋白分子对接,之前分享过一篇,在分子对接–蛋白蛋白对接,以PD-1/PDL-1为例,今天我们丰富一下这个内容。
其实别以为这样的内容离我们很远,其实很近,我们日常使用的注射制剂,很多都是蛋白制剂,都是通过算法 + 临床得来的,其实蛋白蛋白分子对接常用的就是抗原抗体,由此还形成了一个很大的学科,那就是蛋白设计,根据靶向蛋白分子,独立设计蛋白抗体,并且加上一些特殊的结构,达到治疗的目的。
先来看看蛋白蛋白相互作用。
生物体的生理功能主要由细胞中的蛋白质控制和调节。其中,多数蛋白质是作为蛋白质复合物中的一部分参与细胞的代谢过程。因此,研究蛋白质间的相互作用是理解生命活动的基础。

通常来讲,蛋白蛋白分子对接的方法ZDOCK的运用最多,这列给大家一个蛋白结构,大家可以跟着做一下:
从PDB数据库下载得到2019-nCoV的spike蛋白6VXX和ACE2蛋白晶体结构1R42,模拟它们的相互作用
在Pymol软件中准备蛋白1R42和6VXX,spike蛋白6VXX为多聚体,只保留B链,优化后分别输出文件1r42_minimize.pdb和6vxx_minimize.pdb

例如文献中的运用

一、先理解:ZDOCK到底在做什么?

假设我们有:

  • 蛋白 A:PD-1
  • 蛋白 B:PD-L1

我们希望得到:

PD-1 + PD-L1 → 最可能的结合复合物结构

ZDOCK的基本思想是:

PD-1结构
+
PD-L1结构

ZDOCK刚性蛋白-蛋白对接

产生大量候选复合物

打分

得到Top 10 / Top 20 / Top 100

聚类

人工分析结合界面

得到候选PD-1/PD-L1复合物

和你之前做的 AutoDock Vina小分子对接相比,最大的区别是:

VinaZDOCK
对接对象 蛋白-小分子 蛋白-蛋白
配体 小分子 另一个蛋白
搜索空间 蛋白口袋 整个蛋白表面
柔性 有限 经典ZDOCK主要是刚性对接
输出 ligand poses protein-protein complexes
核心问题 小分子如何进入口袋 两个蛋白如何贴合

二、实际案例:PD-1–PD-L1

我们假设:

Receptor:PD-1

Ligand:PD-L1

目标:

预测PD-1与PD-L1形成复合物时,两者的空间结合方式。

结构可以从 Protein Data Bank 获取。

例如可以搜索:

PD-1 PD-L1 complex PDB

经典PD-1/PD-L1复合物结构可以作为最终验证的参考结构。

这里有一个非常重要的实验设计思想:

不要直接拿完整PD-1/PD-L1复合物做ZDOCK

如果目标是测试ZDOCK预测能力,应该:

已知PD-1/PD-L1复合物

拆开

PD-1单体
+
PD-L1单体

ZDOCK

预测复合物

与原始实验复合物比较

这叫做 docking re-docking / blind docking validation。


三、第一步:下载两个蛋白结构

例如得到:

PD1.pdb
PDL1.pdb

此时不要急着ZDOCK。

先检查PDB。

可以使用:

  • PyMOL
  • ChimeraX
  • Chimera
  • PDBFixer

例如PyMOL:

pymol PD1.pdb

观察:

PD-1
├── Chain A
├── ligand?
├── water?
├── antibody?
└── other chains?


四、为什么PDB不能直接扔进ZDOCK?

这是蛋白对接最容易出问题的地方之一。

实验结构PDB往往不是:

一个干净的蛋白

而可能是:

Protein
+
Water
+
Ion
+
Ligand
+
Antibody
+
多个Chain
+
晶体添加剂

例如:

ATOM
ATOM
ATOM
HETATM ← ligand
HETATM ← water
ATOM
ATOM

ZDOCK真正需要的是:

纯蛋白结构

所以需要预处理。


五、第二步:清理PDB

例如PD-1:

PD1_original.pdb

处理以后:

PD1_clean.pdb

PD-L1:

PDL1_original.pdb

PDL1_clean.pdb

通常需要处理:

1. 删除水

例如:

HOH

删除。


2. 删除无关配体

如果PDB里面存在:

HETATM

要判断是不是需要保留。

对于普通蛋白-蛋白对接,一般删除无关小分子。


3. 保留正确的蛋白链

例如:

PD-1:
Chain A

PD-L1:
Chain B

最后最好得到:

PD1_clean.pdb
PDL1_clean.pdb


六、第三步:检查缺失残基

这是非常重要的一步。

比如PDB可能是:

1 2 3 4 5 6 7
A B C D E F G

但实际上:

1 2 3 5 6 7
A B C E F G

Residue 4缺失。

对于蛋白表面正好参与结合的位置,这可能严重影响对接。

可以使用:

  • PDBFixer
  • Modeller
  • ChimeraX
  • AlphaFold预测结构

补全。


七、第四步:准备ZDOCK输入

ZDOCK本质上需要两个蛋白:

Receptor
Ligand

例如:

Receptor = PD1_clean.pdb

Ligand = PDL1_clean.pdb

这里的“ligand”不是小分子意义上的ligand。

而是:

参与蛋白-蛋白对接的第二个蛋白。


八、ZDOCK的核心算法

ZDOCK不是简单地:

“把PD-L1放到PD-1表面随机旋转。”

它会进行大量空间搜索。

可以粗略理解成:

PD-L1

旋转
↙ ↓ ↘
多个方向

平移

与PD-1碰撞检测

计算score

数学上可以简单理解为:

不同版本/模式的具体打分组成有所不同。

其中最重要的几个概念:

Shape complementarity

两个蛋白表面是否互补。

类似:

蛋白A:

/\\__
___/ \\___

蛋白B:

___ ___
\\____/

如果:

凸 → 凹
凹 → 凸

匹配得比较好。


Electrostatics

例如:

PD-1表面:++++
PD-L1表面:—-

静电吸引有利。

反之:

++++
++++

通常不利。


九、第五步:开始ZDOCK

ZDOCK命令根据你安装的具体版本略有不同。

典型流程类似:

zdock -R PD1_clean.pdb -L PDL1_clean.pdb

或者使用ZDOCK提供的图形界面进行:

Receptor → PD1_clean.pdb
Ligand → PDL1_clean.pdb

然后:

Run ZDOCK


十、ZDOCK到底产生多少结果?

假设:

ZDOCK

2000 poses

也就是说:

Pose 1
Pose 2
Pose 3

Pose 2000

这些全部都是:

PD-1 + PD-L1的不同空间排列。

例如:

Pose 1

PD-L1
███████
███████████


███████
PD-1

Pose 2

███████
████████
███████
███████
███

Pose 3

█████
█████████
████████
██████

当然真实结构是三维的。


十一、这里千万不要犯一个错误

很多初学者会认为:

ZDOCK排名第一 = 正确答案。

不一定。

这是蛋白-蛋白对接非常重要的一点。

例如:

ZDOCK Rank 1
score = 1785

Rank 2
score = 1779

Rank 3
score = 1768

Rank 4
score = 1759

并不能简单认为:

Rank 1 = 正确

原因是:

蛋白-蛋白对接存在大量局部最优解。

所以后面必须:

聚类 + 界面分析 + 生物学信息 + 结构评价


十二、第六步:对ZDOCK结果进行聚类

假设ZDOCK产生:

2000 poses

很多pose实际上非常相似。

例如:

Pose 1
Pose 8
Pose 13
Pose 27
Pose 43
Pose 87

它们可能都属于同一个结合模式:

Cluster 1

另外:

Pose 2
Pose 9
Pose 18
Pose 25

属于:

Cluster 2

所以:

2000 poses

聚类

Cluster 1
Cluster 2
Cluster 3

这一步非常重要。

因为:

一个稳定出现的大cluster,往往比单独一个高分pose更值得关注。


十三、为什么要看Cluster?

举一个极端例子。

模式A

Pose数量:

Cluster A = 320
Cluster B = 15
Cluster C = 8

模式B

最高score:
Cluster B中的某一个pose

虽然:

Cluster B

有一个最高分,但:

Cluster A

有大量相似结构。

这说明:

A可能是一个更稳定的结合模式。

所以ZDOCK结果不能只看:

score

而应该综合:

score
+
cluster size
+
interface
+
biological information


十四、第七步:用PyMOL查看ZDOCK结果

假设得到:

complex1.pdb
complex2.pdb
complex3.pdb

打开:

pymol complex1.pdb

然后:

PD-1
PD-L1

分别设置不同representation。

例如:

PD-1 → cartoon
PD-L1 → cartoon

然后查看interface。

你会看到:

PD-L1
█████████
███████████
||
|| interface
||
█████████
PD-1


十五、第八步:重点分析Interface

这一步实际上比“看ZDOCK分数”更重要。

我们需要问:

PD-1和PD-L1到底哪些氨基酸发生了相互作用?

例如:

PD-1

Residue 50
Residue 53
Residue 56
Residue 58

PD-L1

Residue 115
Residue 118
Residue 120
Residue 123

可以分析:

1. Hydrogen bonds

PD1 residue
|
| H-bond
|
PDL1 residue


2. Salt bridges

例如:

Lys(+)
|
|
Asp(-)


3. Hydrophobic interaction

例如:

Leu
Ile
Val
Phe
Trp

形成疏水核心。


十六、可以进一步计算interface ΔG

例如使用:

Rosetta

或者:

  • PRODIGY
  • PISA
  • FoldX
  • Rosetta

来分析。

例如:

PD-1 + PD-L1

ΔGbinding = -12.4 kcal/mol

通常:

ΔG越负,预测结合越有利。

但注意:

不能简单把不同软件的ΔG直接横向比较。


十七、实际研究中我更推荐的流程

如果你不是为了学习,而是准备真正用于科研,我建议:

PDB

蛋白结构预处理

┌───────┴────────┐
↓ ↓
Protein A Protein B
↓ ↓
去水/配体 去水/配体
↓ ↓
补缺失残基 补缺失残基
└───────┬────────┘

ZDOCK

2000 docking poses

Clustering

Top 10–20 clusters

界面分析

┌──────┴──────┐
↓ ↓
生物学信息 结构评分
↓ ↓
└──────┬──────┘

Top 1–5 complexes

Rosetta优化

Molecular Dynamics

RMSD/RMSF/Rg
H-bond/SASA
MM/PBSA或MM/GBSA

最终候选复合物


十八、如果进一步结合你之前学习的PyRosetta

这个就非常有意思了。

你之前问过:

Vina对接以后为什么要用PyRosetta优化?

蛋白-蛋白对接也存在类似的问题。

ZDOCK本质上属于:

刚性对接

也就是:

PD-1结构不变
PD-L1结构不变

但是现实中的蛋白:

PD-1

侧链可以转动
backbone也可能发生轻微变化

PD-L1

侧链可以转动
backbone也可能发生轻微变化

所以ZDOCK得到的:

Rigid docking

可以继续:

ZDOCK

PyRosetta local refinement

Side-chain repacking

Minimization

Interface optimization


十九、ZDOCK + PyRosetta的完整思路

例如:

ZDOCK预测:

PD-1
████████

████████ PD-L1

发现interface:

PD1-A52
PD1-Y56
PD1-M64

PDL1-L115
PDL1-F118
PDL1-Y123

然后PyRosetta进行:

① Side-chain repacking

重新寻找:

Rotamer

例如:

Tyr

rotamer 1
rotamer 2
rotamer 3
rotamer 4

寻找更合适的侧链构象。


② Energy minimization

优化:

bond
angle
torsion
van der Waals
electrostatics

使interface更加合理。


③ Interface scoring

例如:

Before:

interface energy
= -25 REU

After:

interface energy
= -39 REU

说明局部优化后interface更加有利。


二十、再进一步做MD

如果你想做得更加完整:

ZDOCK

Top 10 complexes

PyRosetta refinement

Top 3

GROMACS

100 ns MD

然后分析:

RMSD
RMSF
Radius of gyration
SASA
Hydrogen bonds
Salt bridges
Protein-protein contacts
MM/PBSA

例如:

ZDOCK

2000 poses

Cluster分析

Top 10 poses

PyRosetta refinement

Top 3

100 ns MD
┌────────┼────────┐
↓ ↓ ↓
RMSD H-bond MM/PBSA
↓ ↓ ↓
最终候选模型


二十一、特别重要:如果已知结合位点,千万不要盲目Blind Docking

假如你已经知道:

PD-1的binding residues:
A50
Y56
M64

那么可以把这些信息加入对接约束。

因为:

Blind docking

整个蛋白表面

寻找结合位置

计算空间非常大。

而:

Site-directed docking

PD-1

指定binding region

PD-L1

指定binding region

搜索空间明显缩小。


二十二、如果是抗体–抗原,更应该这样做

比如:

抗体
+
HER2

如果已知:

CDR

那么应该重点关注:

CDR-H1
CDR-H2
CDR-H3
CDR-L1
CDR-L2
CDR-L3

而不是让抗体整个表面都参与随机对接。

流程:

Antibody
+
Antigen

ZDOCK

Interface constraint

Cluster

CDR interface

PyRosetta refinement


二十三、你需要特别理解ZDOCK和Vina的区别

你前面已经在学习Vina,这两个可以放在一起理解:

分子对接

┌────────┴────────┐
│ │
小分子-蛋白 蛋白-蛋白
│ │
Vina ZDOCK
│ │
ligand docking protein docking
│ │
↓ ↓
binding pocket protein interface
│ │
↓ ↓
PyRosetta PyRosetta
│ │
↓ ↓
MD MD

所以:

Vina解决的是“小分子怎么结合蛋白”,ZDOCK解决的是“两个蛋白怎么结合”。


二十四、如果你准备真正跑一次ZDOCK

建议不要一开始就拿自己的课题蛋白。

可以先做这个练习:

练习项目

PD-1 + PD-L1

完整跑:

1. 下载PDB

2. 拆分两个蛋白

3. 清理PDB

4. ZDOCK

5. 得到2000 poses

6. Clustering

7. 选Top 10

8. PyMOL观察

9. Interface分析

10. 与实验PDB比较

11. 计算RMSD

12. 判断ZDOCK是否成功预测

其中最后一步特别关键:

假设实验结构是:

Experimental complex

ZDOCK预测:

Docking model

计算:

例如:

RMSD = 2.1 Å

那么说明预测结构和实验结构非常接近。

如果:

RMSD = 15 Å

则说明这个pose很可能不是正确的结合模式。


最后给一个科研上最实用的判断框架

以后你拿到ZDOCK结果,不要只问:

“哪个score最高?”

而应该依次问:

① ZDOCK score怎么样?

② 是否属于大cluster?

③ interface面积是否合理?

④ 有没有明显clash?

⑤ 是否形成合理H-bond / salt bridge?

⑥ 是否符合已知binding site?

⑦ PyRosetta优化后是否稳定?

⑧ MD过程中interface是否稳定?

⑨ MM/PBSA或MM/GBSA是否支持?

⑩ 是否与实验结构/突变数据一致?

这才是一个完整的蛋白–蛋白分子对接分析,而不是简单地“跑一次ZDOCK”。

生活很好,有你更好。
赞(0)
未经允许不得转载:171主机测评 » 课前准备--蛋白-蛋白分子对接(二)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址