目录
摘要
本文章主要是将几何学习的模型(geometric-learning-based models)用于预测蛋白质在突变后的稳定性和功能变化
具体来说,文章提出了三个模型——GeoFitness、GeoDDG和GeoDTm,这三个模型在预测蛋白稳定性变化方面的方法有所不同:
-
GeoFitness:
- GeoFitness是一个统一模型,用于预测由单个突变引起的蛋白变体的适应性景观。
- 它利用基于几何学学习的编码器,汇总来自蛋白质序列和结构的信息。
- 该模型使用一种新颖的损失函数进行训练,允许使用来自DMS数据库的多标记适应性数据进行监督训练。
- GeoFitness有效地学习蛋白质突变的一般功能效应,并在性能上优于其他最先进的方法,如ECNet5。
-
GeoDDG:
- GeoDDG重复使用了GeoFitness的预训练信息提取器,用于预测蛋白质在任意突变时的∆∆G值。
- 它专门设计确保预测结果的反对称性。
- GeoDDG通过扩展训练数据和利用GeoFitness的预训练几何编码器来解决∆∆G预测中数据有限的挑战。
-
GeoDTm:
- GeoDTm也利用了GeoFitness的预训练信息提取器,但专注于预测蛋白质在突变时的∆Tm值。
- 类似于GeoDDG,GeoDTm旨在确保预测结果的反对称性,并受益于数据扩展和使用几何编码器进行预训练的策略。
总的来说,这些模型利用基于几何学习的架构,整合蛋白质序列和结构的信息,以准确预测蛋白质在突变时的稳定性变化,每个模型都针对稳定性预测的特定方面进行了定制。
预测指标
∆∆G(delta delta G)和∆Tm(delta Tm)是用于衡量蛋白质稳定性变化的指标。
- ∆∆G:∆∆G表示蛋白质在突变后的自由能变化。它是突变后蛋白质的自由能与野生型(未突变)蛋白质的自由能之间的差异。∆∆G的预测可以帮助理解蛋白质结构和功能的变化,对于研究蛋白质稳定性和相互作用至关重要。
- ∆Tm:∆Tm表示蛋白质的熔融温度(Tm)在突变后的变化。熔融温度是指蛋白质在溶液中开始失去其二级结构的温度。∆Tm的预测可以帮助了解蛋白质在不同条件下的稳定性变化,对于设计稳定的蛋白质具有重要意义。
这些指标的准确预测对于理解蛋白质结构和功能的变化以及在蛋白工程和设计中的应用具有重要意义。
GeoFitness
模型架构
图注意力
对于图注意力的维度方面,有些疑问在求得alpha的时候为何维度还是**[N, L, L, n_head]
?**
从X, Z得到alpha的代码如下
# x = [N, L, node_dim]
# z = [N, L, L, pair_dim]
# mask = [N, L]
alpha_from_node = self._node2alpha(x) #公式中的B
alpha_from_pair = self._pair2alpha(z) #公式中的A
# alpha_from_node = [N, L, L, n_head]
# alpha_from_pair = [N, L, L, n_head]
alpha_sum = self.conv2dalpha(torch.cat((alpha_from_pair, alpha_from_node), dim = -1).permute(0, 3, 1, 2)).permute(0, 2, 3, 1)
N, L = alpha_sum.shape[:2]
mask_row = mask.view(N, L, 1, 1).expand_as(alpha_sum)
mask_pair = mask_row * mask_row.permute(0, 2, 1, 3)
alpha_sum = torch.where(mask_pair, alpha_sum, alpha_sum - 1e6)
#此时的alpha_sum为 σ([A, B])
alpha = torch.softmax(alpha_sum, dim = 2) #对alpha_sum第二个维度进行softmax
alpha = torch.where(mask_row, alpha, torch.zeros_like(alpha))
# alpha = [N, L, L, n_head]
把A和B concatenate在一起维度应该是 n_head * 2
,为何alpha的维度还是[N, L, L, n_head]
?
我们来看一下每一步维度是如何变化的
-
torch.cat((alpha_from_pair, alpha_from_node), dim=-1)
:alpha_from_pair
的形状是[N, L, L, n_head]
。alpha_from_node
的形状也是[N, L, L, n_head]
。- 拼接后的结果张量形状是
[N, L, L, n_head * 2]
。
-
.permute(0, 3, 1, 2)
:- 将张量的维度从
[N, L, L, n_head * 2]
变换为[N, n_head * 2, L, L]
。
- 将张量的维度从
-
self.conv2dalpha(...)
:-
将变换后的张量输入到
conv2dalpha
这个卷积层中进行处理。 -
卷积操作后,形状可能会发生变化,取决于卷积层的参数和输入张量的大小。←这就是重点
- 这个卷积层是这样的
- 不难看出这里卷积的输入通道数是**
n_head*2
** 而输出通道数是n_head
!!破案
self.conv2dalpha = torch.nn.Sequential( torch.nn.InstanceNorm2d(n_head * 2), torch.nn.Conv2d(n_head * 2, n_head, 3, 1, 1), torch.nn.LeakyReLU() )
-
-
.permute(0, 2, 3, 1)
:- 将卷积层输出的张量的维度从
[N, n_head, L, L]
变换为[N, L, L, n_head]
。
- 将卷积层输出的张量的维度从
综上所述,经过每个步骤后张量的形状变化如下:
- 拼接操作后的张量形状是
[N, L, L, n_head * 2]
。 - 维度变换后的张量形状是
[N, n_head * 2, L, L]
。 - 卷积操作后的张量形状是
[N, L, L, n_head]
。 - 再次维度变换后的张量形状是
[N, L, L, n_head]
。
Graph Attention Network(GAT)是一种用于处理图数据的神经网络模型。它通过注意力机制来学习图中节点之间的关系,并使用这些关系来进行节点特征的更新和预测。
节点与边更新
数据
a)用于预训练GeoFitness模型的DMS数据集总共包含74个蛋白质的数据,其中有2个蛋白质条目的序列与分别用于∆∆G和∆Tm预测的S669和S571的蛋白质存在大于40%的序列相似性。b)然而,预训练数据集中共享蛋白质的标签与蛋白质稳定性指标,比如∆∆G和∆Tm,完全不同。因此,模型预训练和基准测试的数据集之间没有重叠,从而防止了在性能评估过程中信息泄漏的可能性。
性能
GeoDDG/GeoDTm
GeoDDG/GeoDTm相当于是预训练的GeoFitness的下游任务
以下是两者的性能
标签:head,torch,upon,prediction,mutations,张量,alpha,GeoFitness,蛋白质 From: https://blog.csdn.net/Lily_2002_/article/details/137509450