生成与靶蛋白具有高结合亲和力的分子(也称为基于结构的药物设计,structure-based drug design)是药物发现中的一项基本且具有挑战性的任务。最近,深度生成模型在生成以蛋白质口袋为条件的3D分子方面取得了显著成功。然而,大多数现有的方法独立地考虑蛋白质口袋的分子生成,而忽略了潜在的联系,如子口袋水平的相似性。子口袋是配体片段(ligand fragments)的局部蛋白质环境,具有相似子口袋的口袋可能结合相同的分子片段(基序,motif),即使它们的整体结构不同。因此,在实际应用中,训练的模型很难推广到看不见的蛋白质口袋。因此,作者提出了一种新的基于结构的药物设计方法DrugGPS。实验结果表明,在具有挑战性的分布外环境中,模型在生成具有高亲和力的现实候选药物方面表现优秀。
来自:Learning Subpocket Prototypes for Generalizable Structure-based Drug Design
目录
- 背景概述
- 方法
- motif词汇表构建
- 层次上下文编码
- 全局交互
- 基于原型的motif生成
- 训练
- 实验
背景概述
基于结构的药物设计(SBDD),即设计与靶蛋白口袋具有高亲和力的分子,是药物发现中一项关键且具有挑战性的任务。传统上,这是通过基于分子对接和分子动力学模拟等规则从分子数据库中识别候选分子的虚拟筛选。然而,这种详尽的搜索对于生成数据库中不存在的新分子来说是不可行的。最近,一系列工作利用深度生成模型直接在结合口袋内生成3D分子。
然而,现有的方法存在泛化问题。高质量蛋白质-配体复合物数据(protein-ligand complex data)的数量相当有限,并且靶蛋白质口袋可能不在训练数据集中。在实践中,当发生新冠肺炎等不可预测事件时,需要生成模型来生成新蛋白质靶点(例如SARS-CoV-2的主要蛋白酶)的分子。此外,在这些工作中只考虑和编码了原子级的相互作用,逐原子生成可能导致具有不切实际的3D结构的无效分子。
在本文中,作者提出了DrugGPS(Drug design method that is Generalizable with Protein Subpocket),这是一种基于结构的药物设计方法,可通过蛋白质子口袋原型进行泛化。首先,将原子级别的graph和残差级别的graph重建表达为结合上下文。其次,为了构建能推广到unseen靶蛋白口袋的SBDD模型,作者在模型设计中加入了一个有效的生信先验:尽管两个蛋白口袋总体上可能不同,但如果它们共享相似的子口袋,它们仍可能结合同一配体片段。子口袋被定义为蛋白质-配体复合物中配体片段的局部蛋白质环境。例如,在图1中,具有低序列相似性(≤10%)的两种蛋白质(PDB ID:2avd和1p1r)具有相似的子口袋,并与相似的配体片段结合。为了捕捉结合口袋之间的子口袋水平相似性或不变性,作者提出学习子口袋原型,并构建全局交互图来对训练过程中子口袋原型和分子基序(片段)之间的交互进行建模。
为了进一步加强子口袋基序相互作用,作者使用了一种有效的结合分析工具BINANA(Binana 2: Characterizing receptor-ligand interactions in python and javascript)来识别极性接触polar contacts(氢键hydrogen bonds)。在生成过程中,通过全局信息融合加强上下文表示,并按照基序生成配体分子。
在实验中,为了模拟真实世界,作者基于序列相似性和口袋相似性来分割数据集,并构建两个分布外(OOD)设置。实验结果表明,该方法可以很好地推广到测试集中看不见的口袋。所产生的分子不仅表现出更高的结合亲和力和药物相似性,而且比最先进的基线方法包含更真实的子结构。
- 图1a:两种序列相似性低(≤10%)的蛋白质(PDB ID:2avd和1p1r)具有相似的子口袋,并与相似的配体片段结合。2avd为黄色,1p1r为白色。子口袋对齐并用红色虚线框突出显示。
- 图1b:配体与蛋白质2avd和1p1r结合的分子图。子口袋中的相似分子片段用绿色椭圆标记。
极性接触和非共价键相互作用在蛋白质-配体相互作用中起着重要作用,两者之间有一定的关系。
- 极性接触:极性接触在蛋白质-配体相互作用中通常指的是蛋白质和配体之间的极性残基(如氨基酸的羟基、氨基等)之间的相互作用。这种相互作用可以通过氢键等形式发生,使得蛋白质和配体之间在特定位置形成稳定的结合。极性接触在确定蛋白质-配体结合位点和增强结合亲和性方面具有关键作用。
- 非共价键相互作用:非共价键相互作用是指蛋白质-配体相互作用中除了共价键外的其他相互作用形式。它包括范德华力、静电相互作用、氢键、疏水效应等。这些作用通常是临时的、非永久性的,但在蛋白质-配体相互作用中起到了稳定和增强结合的作用。
关系:
- 极性接触和非共价键相互作用在蛋白质-配体相互作用中密切相关。极性接触通常通过氢键等形式在蛋白质的极性残基和配体之间建立特定的相互作用,从而促进结合的发生。而非共价键相互作用则可以包括极性接触,同时也包括其他非共价键作用,共同形成蛋白质-配体复合物的稳定结构。
在配体-蛋白质复合物中,非共价键相互作用占计算的主导:
方法
首先将基于结构的药物设计问题形式化。给定蛋白质口袋配体复合物,配体分子的3D几何结构可以表示为一组原子 G m o l = { ( a i m o l , r i m o l ) } G^{mol}=\left\{(a_{i}^{mol},r_{i}^{mol})\right\} Gmol={(aimol,rimol)},蛋白质口袋(结合位点,binding site)表示为 G p r o = { ( a j p r o , r j p r o ) } G^{pro}=\left\{(a_{j}^{pro},r_{j}^{pro})\right\} Gpro={(ajpro,rjpro)}。其中, a i m o l a_{i}^{mol} aimol和 a j p r o a_{j}^{pro} ajpro为表示原子类型的one-hot向量, r i m o l ∈ R 3 r_{i}^{mol}\in R^{3} rimol∈R3和 r j p r o ∈ R 3 r_{j}^{pro}\in R^{3} rjpro∈R3为3D笛卡尔坐标矢量。形式上,目标是学习一个条件生成模型 p ( G m o l ∣ G p r o ) p(G^{mol}|G^{pro}) p(Gmol∣Gpro)。
具体来说,将给定结合口袋的分子生成公式化为一个顺序决策过程。令
ϕ
\phi
ϕ为生成模型,
G
t
m
o
l
G^{mol}_{t}
Gtmol为第
t
t
t步的中间分子,生成过程定义如下:
G
t
m
o
l
=
ϕ
(
G
t
−
1
m
o
l
,
G
p
r
o
)
,
t
>
1
G_{t}^{mol}=\phi(G^{mol}_{t-1},G^{pro}),t>1
Gtmol=ϕ(Gt−1mol,Gpro),t>1
G
t
m
o
l
=
ϕ
(
G
p
r
o
)
,
t
=
1
G_{t}^{mol}=\phi(G^{pro}),t=1
Gtmol=ϕ(Gpro),t=1注意,这是逐个基序生成分子,即在每一步中,来自新基序的一组原子都包含在
G
t
m
o
l
G^{mol}_{t}
Gtmol中。图2a展示了一个生成步骤中的四个主要部分,包括:a上下文编码和焦点基序选择,b下一个基序预测,c基序附着预测和d旋转角度预测。
- 图2a:生成步骤的四个部分
- 图2b:DrugGPS中的层次上下文编码器。全局交互信息通过加权GNN被进一步编码到子口袋嵌入 h c h_c hc中。
motif词汇表构建
基序词汇构建旨在从整个数据集中的配体分子中提取常见的分子基序,构建基序词汇表 V M = { M i } V_{M}=\left\{M_{i}\right\} VM={Mi}是为了后续的分子生成。为了便于提取基序,分子可以表示为2D图 G m o l = ( V , E ) G^{mol}=(V,E) Gmol=(V,E), V V V为原子集合, E E E为共价键集合。类似的,一个基序 M i = ( V i , E i ) M_{i}=(V_i,E_i) Mi=(Vi,Ei)表示分子的子图,每个分子可以表示为基序的集合 V = ∪ i V i V=\cup_{i}V_{i} V=∪iVi, E = ∪ i E i E=\cup_{i}E_{i} E=∪iEi。
图3a显示了切片分子和构建基序词汇表的程序。为了提取结构基序,首先分解分子
G
m
o
l
G^{mol}
Gmol为分子子结构
G
1
,
.
.
.
,
G
n
G_{1},...,G_{n}
G1,...,Gn(通过提取和分离所有不会违反化学有效性的可旋转键)。如果切割分子中的键会产生分子的两个连接成分,每个成分至少有两个原子,那么分子中的一个键是可旋转的。如果
G
i
G_{i}
Gi在整个训练集中的出现次数大于
τ
\tau
τ,则选择
G
i
G_{i}
Gi作为基序。可以选择超参数
τ
τ
τ来控制
V
M
V_M
VM的大小。如果
G
i
G_i
Gi没有被选为基序,则进一步将其分解为更精细的环和键,再从中选择基序。由于基序中的键长和角度在很大程度上是固定的,作者使用RDkit来有效地确定基序的3D结构,并训练神经网络来预测可旋转键的扭转角。
- 图3a:分子基序提取示意图。图3b:采样的子口袋原型。图3c:构建的子口袋原型-分子基序相互作用graph。
层次上下文编码
受蛋白质内在层次结构的启发,作者提出了一种基于graph Transformer的层次上下文编码器来捕获结合位点的上下文信息。具体地,它包括如下所述的原子级编码器和残基级编码器。
对于原子级编码,首先从 G t m o l ∪ G p r o G^{mol}_{t}\cup G^{pro} Gtmol∪Gpro中的 K a K_{a} Ka最近邻居原子构建一个上下文3D graph C t − 1 a C_{t-1}^{a} Ct−1a。原子属性首先被线性变换层映射到节点嵌入 h k ( 0 ) h^{(0)}_k hk(0)。边的嵌入 e i j e_{ij} eij是通过用高斯函数对原子对距离进行编码而获得的。3D graph Transformer由 L L L个Transformer层组成。每个Transformer层有两个部分:多头自注意(MHA)模块和前馈网络(FFN)。对于第 l l l层的MHA,query由当前节点嵌入 h i ( l ) h_{i}^{(l)} hi(l)得到,key和value由邻居节点的关系信息 r i j ( l ) = C o n c a t ( h j ( l ) , e i j ) r^{(l)}_{ij}=Concat(h_{j}^{(l)},e_{ij}) rij(l)=Concat(hj(l),eij)得到: q i ( l ) = W Q h i ( l ) , k i j ( l ) = W K r i j ( l ) , v i j ( l ) = W V r i j ( l ) q_{i}^{(l)}=W_{Q}h_{i}^{(l)},k_{ij}^{(l)}=W_{K}r_{ij}^{(l)},v_{ij}^{(l)}=W_{V}r_{ij}^{(l)} qi(l)=WQhi(l),kij(l)=WKrij(l),vij(l)=WVrij(l)在每一个注意力头中,比如第 m m m个注意力头,注意力计算为: h e a d i m = ∑ j ∈ N ( i ) s o f t m a x ( q i ( l ) T ⋅ k i j ( l ) d ) v i j ( l ) head_{i}^{m}=\sum_{j\in N(i)}softmax(\frac{q_{i}^{(l)T}\cdot k_{ij}^{(l)}}{\sqrt{d}})v_{ij}^{(l)} headim=j∈N(i)∑softmax(dqi(l)T⋅kij(l))vij(l)其中, N ( i ) N(i) N(i)表示 C t − 1 a C_{t-1}^{a} Ct−1a中原子 i i i的邻居, d d d为embedding的维数。最后,输出为: M H A i = C o n c a t ( h e a d i 1 , . . . , h e a d i M ) W O MHA_{i}=Concat(head_{i}^{1},...,head_{i}^{M})W_{O} MHAi=Concat(headi1,...,headiM)WO经过FFN,原子级编码器的输出是一组原子表示 { h i } \left\{h_{i}\right\} {hi}。
残基级编码器只保留每个残基的 C α C_{\alpha} Cα原子,并在残基级构建 K r K_r Kr最近邻图 C t − 1 r e s C^{res}_{t−1} Ct−1res。第 i i i个残基 r e s i res_{i} resi可以被一个向量 f i f_{i} fi表示(该向量描述了残基的几何和化学特征,包括二面角、体积、极性、电荷、亲水性和氢键相互作用),作者将残基特征和残基内的原子级嵌入 h k h_{k} hk的总和拼接,作为初始残基的表示: f ‾ i = C o n c a t ( f i , ∑ k ∈ r e s i h k ) \overline{f}_{i}=Concat(f_i,\sum_{k\in res_{i}}h_{k}) fi=Concat(fi,k∈resi∑hk)然后为每个残基建立局部坐标系,并计算残基之间的边缘特征 e i j r e s e^{res}_{ij} eijres,描述相邻残基之间的距离、方向。最后,编码器将节点和边缘特征带入残基级graph Transformer,以计算残基的最终表示。残基级graph Transformer架构类似于原子级编码器。
总之,层次编码器的输出是一组残基的表示 { f i } \left\{f_i\right\} {fi}和原子的表示 { h i } \left\{h_i\right\} {hi}。考虑到口袋-配体相互作用的距离范围,作者将聚焦原子6˚A内的所有残基表示相加为子口袋表示(图3b)。由于编码器基于原子/残基属性和成对相对距离,因此它在旋转和平移上是等变的。
全局交互
大多数现有方法独立考虑蛋白质口袋的分子生成,而忽略了子口袋水平相似性的潜在联系,作者构建了一个全局交互graph,以对整个数据集中的子口袋和配体片段之间的相互作用进行建模。由于数据集中有许多子口袋,作者提出对子口袋嵌入进行聚类,并导出具有代表性的子口袋原型(图3b)。因此,在全局交互graph中有两种节点:子口袋原型节点和基序词汇中的分子基序节点(图3c)。子口袋原型和分子基序的嵌入在训练过程中动态更新。如果属于原型簇的子口袋与训练数据集中的基序结合,就在子口袋原型节点和分子基序节点之间添加一条边。由于相互作用的强度不同,我们将TF-IDF值计算为子
口袋原型
i
i
i和基序
j
j
j之间的边缘权重
W
i
j
W_{ij}
Wij:
W
i
j
=
C
i
j
(
l
o
g
1
+
N
1
+
N
i
+
1
)
W_{ij}=C_{ij}(log\frac{1+N}{1+N_{i}}+1)
Wij=Cij(log1+Ni1+N+1)其中,
C
i
j
C_{ij}
Cij是基序
j
j
j与属于原型
i
i
i的子口袋结合的次数,
N
N
N是子口袋原型的总数,
N
i
N_i
Ni是与基序
i
i
i结合的子口袋原型数量。如果基序
j
j
j与原型
i
i
i的共现率较高,并且与较少的其他原型结合(特异性较高),则边缘具有较大的权重。
为了进一步强调子口袋和分子基序之间的相互作用,作者使用了一种有效的结合分析工具BINANA,该工具能够分析详细的相互作用,包括氢键、π-π stacking、阳离子-π相互作用、静电吸引和相对于每个原子的疏水性。当计算相互作用图的边权 W i j W_{ij} Wij时,只计算具有至少一个氢键的子口袋-分子基序对,这对结合亲和力有很大贡献。在模型训练过程中,使用K-Means动态更新子口袋原型。
基于原型的motif生成
这种原型增强基序生成的直觉是根据相似性原理:源自相似子口袋的分子基序可能以高亲和力与靶蛋白口袋结合。
在生成过程中,首先从层次上下文编码器中获得原子和残基的嵌入,子口袋嵌入 h c h_c hc可以通过对聚焦原子6˚A内的所有残基嵌入进行求和来获得。为了利用来自全局交互graph的知识,作者在图2b中采取了全局信息融合步骤:在子口袋embedding和全局交互图中的 K p K_p Kp最相似子口袋原型之间添加边,边权重设置为1。然后,使用加权GNN来传播全局信息,并将输出的子口袋表示取为 h ^ c \widehat{h}_c h c。相关的子口袋原型-基序相互作用信息可以编码在 h ^ c \widehat{h}_c h c中,用于下一个基序预测。
Focal motif预测:在预测下一个基序之前,首先选择下一个基序所连接的聚焦基序。使用两个原子级MLP作为分类器:蛋白质原子分类器(对于 t = 1 t=1 t=1)和分子原子分类器(针对 t ≥ 2 t≥2 t≥2):
- 在 t = 1 t=1 t=1时,所有已知的上下文信息都是蛋白质口袋。蛋白质原子分类器将蛋白质原子的隐表示作为输入,并预测是否可以在4˚A内产生新的配体原子。
- 对于 t ≥ 2 t≥2 t≥2,分子原子分类器从先前 t − 1 t−1 t−1步骤中生成的配体原子中选择一个聚焦原子。选择聚焦原子所属的基序作为聚焦基序。如果没有选择原子/基序作为焦点,则生成过程完成。
Next Motif Prediction:给定聚焦motif M f M_{f} Mf,下一个motif的标签预测为: P m = s o f t m a x M ∈ V M ( M L P M ( e ( M f ) , ∑ i ∈ M f h i , h ^ c ) ⋅ e ( M ) ) P_{m}=softmax_{M\in V_{M}}(MLP^{M}(e(M_{f}),\sum_{i\in M_{f}}h_{i},\widehat{h}_{c})\cdot e(M)) Pm=softmaxM∈VM(MLPM(e(Mf),i∈Mf∑hi,h c)⋅e(M))其中 P m P_m Pm是基序词汇表 V M V_M VM上的概率分布, e ( M ) e(M) e(M)表示基序嵌入, ∑ i ∈ M f h i \sum_{i\in M_{f}}h_{i} ∑i∈Mfhi为聚焦基序中的原子嵌入之和, h ^ c \widehat{h}_{c} h c为增强后的子口袋表示。由于在第一步( t = 1 t=1 t=1)没有聚焦基序,作者将无基序视为一种特殊的基序类型,并在训练中学习其嵌入。
motif附着预测:对于预测的基序,下一步是将新的基序连接到生成的分子上。该步骤是不确定的,因为有多种连接方案,见图2a。这里的目标是选择最合适的附着点。具体来说,作者列举了不同的有效附着,并形成了一个候选集 C C C。使用GIN来编码候选分子图,并且挑选每个附着的概率 P a P_a Pa计算为: P a = s o f t m a x G ′ ∈ C ( M L P a ( G I N ( G ′ ) , h ^ c ) ) P_{a}=softmax_{G'\in C}(MLP^{a}(GIN(G'),\widehat{h}_{c})) Pa=softmaxG′∈C(MLPa(GIN(G′),h c))
旋转角度预测:由于分子结构的灵活性很大程度上取决于可旋转键的程度,此步骤专注于预测DrugGPS中的旋转角度。在附加新的基序并获得初始坐标后,再次应用编码器来获得更新的原子嵌入。设 X X X, Y Y Y表示可旋转键的两个末端原子(设 Y Y Y表示连接新基序的原子)。预测扭转角的变化 ∆ α ∆α ∆α: ∆ α = M L P α ( h X , h Y , h G ) m o d 2 π ∆α=MLP^{\alpha}(h_{X},h_{Y},h_{G})mod2\pi ∆α=MLPα(hX,hY,hG)mod2π其中 h X h_X hX和 h Y h_Y hY指 X X X和 Y Y Y的嵌入; h G h_G hG表示分子的嵌入,这是通过sum pooling获得的。 ∆ α ∆α ∆α也是旋转和平移不变的,因为预测是基于等变编码器的表示。最后,通过绕 X − Y X-Y X−Y线旋转 ∆ α ∆α ∆α来更新新基序中原子坐标。至于生成中的第一个基序,由于没有参考配体原子,作者对其坐标使用基于距离的初始化。
训练
在训练阶段,分子的基序被随机掩蔽,DrugGPS被训练以恢复掩蔽的基序。具体而言,对于每个口袋-配体对,从均匀分布中采样掩模比,并掩模相应数量的分子基序。对于聚焦原子/基序预测,使用二元交叉熵损失对聚焦原子进行分类。对于基序类型和附着预测,使用交叉熵损失进行分类。至于扭转角预测,用Von Mises分布拟合角度。
在模型训练过程中,作者随机掩盖训练集中配体分子的部分基序,训练模型从距离蛋白口袋最近的基序开始,以广度优先的方式生成被掩盖的基序。数据集为包含2250万个蛋白质分子对的CrossDocked。
实验
作者以PDB ID分别为4AAW和4M7T的两个靶蛋白为例,对DrugGPS的分子生成能力进行案例研究,结果如图8所示。可见DrugGPS针对两个特定靶标蛋白的口袋结构生成了具有高QED、SA以及合理的子结构的全新分子,进一步证明了DrugGPS在实际的药物设计任务中的性能。
对于一个待处理的靶蛋白,输入模型的是蛋白质活性位点的局部结构,这包括活性位点周围的氨基酸残基和其构成的空间结构。基于这些局部结构,分子生成算法可以通过模拟分子的构建和优化来生成与蛋白质口袋相互作用的分子配体。