Paper: https://rdcu.be/cDy5f
Code: https://github.com/OptiMaL-PSE-Lab/DeepDock
本篇来自英国伦敦帝国理工学院化学工程系CPSE发表于nature machine intellgence的paper。作者提出了一种能够预测配体和靶蛋白结合构象的几何深度学习方法。通过学习每一个配体-靶体对的基于距离似然的静态电位。能够结合全局优化算法重新构建出配体的实验性结合构象。跟传统的对接和筛选任务中的评分函数相比,这种基于距离似然静态电位有更好的效果。
模型构建可以分为三个阶段:特征提取、特征拼接和MDN。
靶体,使用结合位点处分子表面的多边形网格作为数据输入,网格的节点包含了化学和拓扑信息(图1.a)。
配体,将其简单的表示为二维无向图,并使用独热编码表示原子和键的类型(图1.b)。二者经过两个独立的残差图神经网络(Residual GNNs)进行特征提取得到节点特征。
PDBbind数据库(v.2019),包含17,679个蛋白配体结构的集合。
CASF-2016 数据集:16,367个蛋白质配体复合物.
这些复合物被随机分为包含15,000个复合物的训练集和包含1,367个复合物的测试集。
然后将每一个配体节点的特征和每一个靶体节点的特征进行拼接,然后将其输入到混合密度神经网络(mixture density network,MDN)中,学习到每一个配体-靶体原子对之间距离的概率分布。最后将所有的配体-靶体对距离似然的负对数进行求和得到潜能。
第一阶段,通过两个独立的残余GNN提取特征,一个用于配体,另一个用于靶标。使用线性层将节点和边缘特征投影到 128 128 128维度。然后,使用三个GNN的序列来更新每个节点和边缘,基于它们的相邻节点和连接它们的边缘类型。GNN首先通过在边缘特征和两个连接节点的特征的级联上应用多层感知器(MLP)来更新图中的每个边缘,更新的边缘特征 e i , j l e^l_{i,j} ei,jl用于更新节点特征,更新的边和节点特征( e i , j l e^l_{i,j} ei,jl和 v i l v^l_i vil)包含中心原子的信息以及它周围的相邻原子的信息,并且可以用作另一个卷积轮的输入。作者在这里使用了三层卷积。
e i j 0 = Linear ( e i , j ) v i 0 = Linear ( v i ) e i , j ℓ = MLP ( [ v i ℓ − 1 , v j ℓ − 1 , e i , j ℓ − 1 ] ) v i ℓ = MLP ( [ v i ℓ − 1 , 1 ∥ j ∥ ∑ j MLP ( [ v j ℓ − 1 , e i , j ℓ ] ) ] ) \begin{gathered} \mathbf{e}_{\mathrm{ij}}^0=\operatorname{Linear}\left(e_{i, j}\right) \\ \mathbf{v}_{\mathrm{i}}^0=\operatorname{Linear}\left(\mathbf{v}_{\mathrm{i}}\right) \\ \mathbf{e}_{\mathrm{i}, \mathrm{j}}^{\ell}=\operatorname{MLP}\left(\left[\mathbf{v}_{\mathrm{i}}^{\ell-1}, \mathbf{v}_{\mathrm{j}}^{\ell-1}, \boldsymbol{e}_{\mathrm{i}, \mathrm{j}}^{\ell-1}\right]\right) \\ \mathbf{v}_{\mathrm{i}}^{\ell}=\operatorname{MLP}\left(\left[\mathbf{v}_{\mathrm{i}}^{\ell-1}, \frac{1}{\|j\|} \sum_j \operatorname{MLP}\left(\left[\mathbf{v}_{\mathrm{j}}^{\ell-1}, \boldsymbol{e}_{\mathrm{i}, \mathrm{j}}^{\ell}\right]\right)\right]\right) \end{gathered} eij0=Linear(ei,j)vi0=Linear(vi)ei,jℓ=MLP([viℓ−1,vjℓ−1,ei,jℓ−1])viℓ=MLP([viℓ−1,∥j∥1j∑MLP([vjℓ−1,ei,jℓ])])
然后,节点和边缘特征由10个残差GNN块处理。每个残差块使用MLP将节点和边缘特征(投影到32维度。所得到的向量被用作GNN的输入,分别产生聚合的节点和边缘特征 v i ′ v^′_i vi′和 e i , j ′ e^′_{i,j} ei,j′,它们被投影到128维度 v i u p v_i^{up} viup和 e i , j u p e_{i,j}^{up} ei,jup。最后,将得到的向量( v i u p v_i^{up} viup和 e i , j u p e_{i,j}^{up} ei,jup)添加到输入向量( v i ′ v^′_i vi′和 e i , j ′ e^′_{i,j} ei,j′)以残差连接,并随后通过激活函数:
e i , j down = MLP ( e i , j h − 1 ) v i down = MLP ( v i h i h − 1 ) v i ′ , e i , j ′ = G N N ( v i down , v j down , e i , j down ) e i , j u p = Dropout ( BatchNorm ( Linear ( e i , j ′ ) ) ) v i u p = Dropout ( BatchNorm ( Linear ( v i ′ ) ) ) e i , j h = ELU ( e i , j h − 1 + e i , j u p ) v i h = ELU ( v i h − 1 + v i u p ) \begin{gathered} e_{i, j}^{\text {down }}=\operatorname{MLP}\left(e_{i, j}^{h-1}\right) \\ v_i^{\text {down }}=\operatorname{MLP}\left(v_i^h{ }_i^{h-1}\right) \\ v_i^{\prime}, e_{i, j}^{\prime}=G N N\left(v_i^{\text {down }}, v_j^{\text {down }}, e_{i, j}^{\text {down }}\right) \\ e_{i, j}^{u p}=\text { Dropout }\left(\text { BatchNorm }\left(\text { Linear }\left(e_{i, j}^{\prime}\right)\right)\right) \\ v_i^{u p}=\text { Dropout }\left(\text { BatchNorm }\left(\text { Linear }\left(v_i^{\prime}\right)\right)\right) \\ e_{i, j}^h=\operatorname{ELU}\left(e_{i, j}^{h-1}+e_{i, j}^{u p}\right) \\ v_i^h=\operatorname{ELU}\left(v_i^{h-1}+v_i^{\mathrm{up}}\right) \end{gathered} ei,jdown =MLP(ei,jh−1)vidown =MLP(vihih−1)vi′,ei,j′=GNN(vidown ,vjdown ,ei,jdown )ei,jup= Dropout ( BatchNorm ( Linear (ei,j′)))viup= Dropout ( BatchNorm ( Linear (vi′)))ei,jh=ELU(ei,jh−1+ei,jup)vih=ELU(vih−1+viup)
由GNN和目标 v ‾ r t \overline{\mathbf{v}}_{\mathbf{r}}^{\mathrm{t}} vrt和配体 v ‾ s t \overline{\mathbf{v}}_{\mathbf{s}}^{\mathrm{t}} vst的剩余GNN提取的节点特征(其中 r r r表示每个目标节点的索引, s s s表示每个配体节点的索引)然后成对级联并用作MDN的输入。MDN使用MLP来创建隐藏表示 h r , s h_{r,s} hr,s,该隐藏表示结合了级联的靶标和配体节点信息,隐藏表示用于计算MDN的输出,MDN由均值 μ r , s μ_{r,s} μr,s、标准差 σ r , s σ_{r,s} σr,s。在这种特殊情况下,混合模型使用10个高斯来模拟配体和目标节点之间距离的概率密度分布(分别为 v s l v^l_s vsl和 v r t v^t_r vrt):
h r , s = Dropout ( MLP ( [ v → r , v s → ] ) ) μ r , s = ELU ( Linear ( h r , s ) ) + 1 σ r , s = EL.U ( Linear ( h r , s ) ) + 1 α r , s = Softmax ( Linear ( h r , s ) ) \begin{gathered} \mathbf{h}_{r, s}=\operatorname{Dropout}\left(\operatorname{MLP}\left(\left[\overrightarrow{\mathrm{v}}_r, \overrightarrow{\mathbf{v}_s}\right]\right)\right) \\ \mu_{r, s}=\operatorname{ELU}\left(\operatorname{Linear}\left(\mathbf{h}_{r, s}\right)\right)+1 \\ \sigma_{r, s}=\operatorname{EL.U}\left(\operatorname{Linear}\left(\mathbf{h}_{r, s}\right)\right)+1 \\ \alpha_{r, s}=\operatorname{Softmax}\left(\operatorname{Linear}\left(\mathbf{h}_{r, s}\right)\right) \end{gathered} hr,s=Dropout(MLP([vr,vs]))μr,s=ELU(Linear(hr,s))+1σr,s=EL.U(Linear(hr,s))+1αr,s=Softmax(Linear(hr,s))
训练该模型以最小化损失函数,其中 L M D N \mathcal{L}_{\mathrm{MDN}} LMDN表示混合物密度网络的损失, L atoms \mathcal{L}_{\text {atoms }} Latoms 和 L bonds \mathcal{L}_{\text {bonds }} Lbonds 分别是预测原子和键类型的交叉熵成本函数,它们被用作辅助任务。特别是, L M D N \mathcal{L}_{\mathrm{MDN}} LMDN使 d r , s d_{r, s} dr,s的负对数似然性最小化, d r , s d_{r, s} dr,s表示目标节点 v r t v^t_r vrt与配体节点 v s l v^l_s vsl之间的距离,使用由 k = 10 k=10 k=10高斯形成的混合模型计算,并通过模型预测的 α r , s α_{r, s} αr,s, μ r , s μ_{r, s} μr,s和 σ r , s σ_{r, s} σr,s进行参数化。
L total = L M D N + L atoms + L bonds L M D N = − log P ( d r , s ∣ v r t , v s 1 ) = − log ∑ k = 1 K α r , s , k N ( d r , s ∣ μ r , s , k , σ r , s , k ) U ( x ) = − ∑ r = 1 R ∑ s = 1 s log P ( d r , s ∣ v r t , v s 1 ) = − Score \begin{gathered} \mathcal{L}_{\text {total }}=\mathcal{L}_{\mathrm{MDN}}+\mathcal{L}_{\text {atoms }}+\mathcal{L}_{\text {bonds }} \\ \mathcal{L}_{\mathrm{MDN}}=-\log P\left(d_{r, s} \mid \mathbf{v}_{\mathrm{r}}^{\mathrm{t}}, \mathbf{v}_{\mathrm{s}}^1\right)=-\log \sum_{k=1}^K \alpha_{r, s, k} \mathcal{N}\left(d_{r, s} \mid \mu_{r, s, k}, \sigma_{r, s, k}\right) \\ U_{(x)}=-\sum_{r=1}^R \sum_{s=1}^s \log P\left(d_{r, s} \mid \mathbf{v}_r^{\mathrm{t}}, \mathbf{v}_{\mathrm{s}}^1\right)=- \text { Score } \end{gathered} Ltotal =LMDN+Latoms +Lbonds LMDN=−logP(dr,s∣vrt,vs1)=−logk=1∑Kαr,s,kN(dr,s∣μr,s,k,σr,s,k)U(x)=−r=1∑Rs=1∑slogP(dr,s∣vrt,vs1)=− Score
以与训练集相同的方式对来自该基准的结构进行预处理。该基准中有四个不同的任务,用于评估评分函数的评分能力、排名能力、对接能力和筛选能力。
E F 1 % = Number of true binders detected among 1 % ( Total true binders) × 1 % \mathrm{EF}_{1 \%}=\frac{\text { Number of true binders detected among } 1 \%}{(\text { Total true binders) } \times 1 \%} EF1%=( Total true binders) ×1% Number of true binders detected among 1%
[1] Méndez-Lucio O, Ahmad M, del Rio-Chanona E A, et al. A geometric deep learning approach to predict binding conformations of bioactive molecules[J]. Nature Machine Intelligence, 2021, 3(12): 1033-1039.