生成蛋白结构约束分布的方法和蛋白设计方法与流程

文档序号:28815645发布日期:2022-02-09 05:53阅读:110来源:国知局
生成蛋白结构约束分布的方法和蛋白设计方法与流程

1.本技术涉及生物科技技术领域,具体而言,涉及一种生成蛋白结构约束分布的方法和蛋白设计方法。


背景技术:

2.蛋白质在生命活动中是普遍存在且不可或缺的,它在生物体内承担了多种多样的生物学功能,具有相似结构信息的蛋白质往往会拥有相类似的生物学功能。蛋白结构约束分布是指蛋白序列中氨基酸之间的相对位置(包括距离、角度、二面角等)的分布,通过蛋白结构约束分布可以生成完整蛋白骨架,进而可以进行蛋白设计。所以生成包含固定motif的蛋白结构约束分布是至关重要的。
3.相关技术一中,生成蛋白结构约束分布需要大量的蛋白设计专家的人工经验和直觉,因此受人工影响较大,效率较低。
4.相关技术二中,生成蛋白结构约束分布是需要提前制备大量的骨架库,因此,依赖骨架库的好坏、生成蛋白的大小受骨架库限制。


技术实现要素:

5.本技术的主要目的在于提供一种生成蛋白结构约束分布的方法和蛋白设计方法,以解决相关技术中获取蛋白结构约束分布过程中存在的部分或全部问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种生成蛋白结构约束分布的方法。该方法包括:s1、获取随机生成的指定序列长度的第一蛋白序列;s2、采用多层神经网络模型得到所述第一蛋白序列的蛋白结构约束分布;s3、基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和所述第一蛋白序列的蛋白结构约束分布,计算所述第一蛋白序列的损失函数值;s4、采用反向传播加梯度下降的方法,更新所述第一蛋白序列得更新后的第一蛋白序列;s5、将更新后的第一蛋白序列作为所述第一蛋白序列,并重复所述s2、s3和s4预设次数,得到多个损失函数值;s6、从所述多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
7.进一步地,所述s3,包括:基于所述第一蛋白序列的蛋白结构约束分布与所述预设motif的蛋白结构约束分布,得到第一损失函数值;基于所述第一蛋白序列的蛋白结构约束分布与所述背景蛋白的蛋白结构约束分布,得到第二损失函数值;对所述第一损失函数值和所述第二损失函数值进行加权处理,得到所述第一蛋白序列的损失函数值。
8.进一步地,基于所述第一蛋白序列的蛋白结构约束分布与所述预设motif的蛋白结构约束分布,得到第一损失函数值,包括:确定motif在所述第一蛋白序列中的位置;依据所述位置,获取所述第一蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;依据所述motif的蛋白结构约束分布与所述预设motif的蛋白结构约束分布,得到所述第一损失函数值。
9.进一步地,确定motif在所述第一蛋白序列中的位置,采用的方式为如下至少之
一:基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,所述不同motif之间的位置不重合且相互之间不相连,且所述不同motif之间的位置顺序通过随机的方式进行确定;从所述第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将所述结构特征相似度最高的位置确定为所述motif的位置。
10.进一步地,基于所述第一蛋白序列的蛋白结构约束分布与所述背景蛋白的蛋白结构约束分布,得到第二损失函数值,包括:依据所述第一蛋白序列的长度,获取所述背景蛋白的蛋白结构约束分布;依据所述第一蛋白序列的蛋白结构约束分布与所述背景蛋白的蛋白结构约束分布,得到所述第二损失函数值。
11.进一步地,所述s2,包括:从所述第一蛋白序列中提取序列特征;采用所述多层神经网络模型对所述序列特征进行分析,预测得到所述第一蛋白序列的蛋白结构约束分布,其中,所述蛋白结构约束分布表征相应蛋白序列中不同氨基酸之间的相对位置的分布情况。
12.进一步地,采用反向传播加梯度下降的方法,对所述第一蛋白序列进行更新,得到更新后的第一蛋白序列,包括:依据所述第一蛋白序列的损失函数值,计算得到损失计算梯度;将所述第一蛋白序列按照所述损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
13.为了实现上述目的,根据本技术的另一方面,提供了一种蛋白设计方法。该方法包括:根据生成蛋白结构约束分布的方法获得的最终的蛋白结构约束分布进行蛋白设计。
14.为了实现上述目的,根据本技术的另一方面,提供了一种生成蛋白结构约束分布的装置。该装置包括:第一获取单元,用于获取随机生成的指定序列长度的第一蛋白序列;第二获取单元,用于采用多层神经网络模型得到所述第一蛋白序列的蛋白结构约束分布;计算单元,用于基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和所述第一蛋白序列的蛋白结构约束分布,计算所述第一蛋白序列的损失函数值;更新单元,用于采用反向传播加梯度下降的装置,更新所述第一蛋白序列得更新后的第一蛋白序列;处理单元,用将更新后的第一蛋白序列作为所述第一蛋白序列,并重复所述第二获取单元、所述计算单元和所述更新单元预设次数,得到多个损失函数值;选择单元,用于s6、从所述多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
15.进一步地,所述计算单元包括:第一计算子单元,用于基于所述第一蛋白序列的蛋白结构约束分布与所述预设motif的蛋白结构约束分布,得到第一损失函数值;第二计算子单元,用于基于所述第一蛋白序列的蛋白结构约束分布与所述背景蛋白的蛋白结构约束分布,得到第二损失函数值;处理子单元,用于对所述第一损失函数值和所述第二损失函数值进行加权处理,得到所述第一蛋白序列的损失函数值。
16.进一步地,所述第一计算子单元包括:确定模块,用于确定motif在所述第一蛋白序列中的位置;第一获取模块,用于依据所述位置,获取所述第一蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;第一计算模块,用于依据所述motif的蛋白结构约束分布与所述预设motif的蛋白结构约束分布,得到所述第一损失函数值。
17.进一步地,所述确定模块包括如下至少之一:第一确定子模块,用于基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,所述不同
motif之间的位置不重合且相互之间不相连,且所述不同motif之间的位置顺序通过随机的方式进行确定;第二确定子模块,用于从所述第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将所述结构特征相似度最高的位置确定为所述motif的位置。
18.进一步地,所述第二计算子单元包括:第二获取模块,用于依据所述第一蛋白序列的长度,获取所述背景蛋白的蛋白结构约束分布;第二计算模块,用于依据所述第一蛋白序列的蛋白结构约束分布与所述背景蛋白的蛋白结构约束分布,得到所述第二损失函数值。
19.进一步地,所述第二获取单元包括:提取子单元,用于从所述第一蛋白序列中提取序列特征;预测子单元,用于采用所述多层神经网络模型对所述序列特征进行分析,预测得到所述第一蛋白序列的蛋白结构约束分布,其中,所述蛋白结构约束分布表征相应蛋白序列中不同氨基酸之间的相对位置的分布情况。
20.进一步地,所述更新单元包括:第三计算子单元,用于依据所述第一蛋白序列的损失函数值,计算得到损失计算梯度;更新子单元,用于将所述第一蛋白序列按照所述损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
21.为了实现上述目的,根据本技术的另一方面,提供了一种计算机可读存储介质,所述存储介质存储程序,其中,所述程序执行上述任意一项所述的生成蛋白结构约束分布的方法或者所述的蛋白设计方法。
22.为了实现上述目的,根据本技术的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的生成蛋白结构约束分布的方法或者所述的蛋白设计方法。
23.通过本技术,采用以下步骤:s1、获取随机生成的指定序列长度的第一蛋白序列;s2、采用多层神经网络模型得到所述第一蛋白序列的蛋白结构约束分布;s3、基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和所述第一蛋白序列的蛋白结构约束分布,计算所述第一蛋白序列的损失函数值;s4、采用反向传播加梯度下降的方法,更新所述第一蛋白序列得更新后的第一蛋白序列;s5、将更新后的第一蛋白序列作为所述第一蛋白序列,并重复所述s2、s3和s4预设次数,得到多个损失函数值;s6、从所述多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布,解决了相关技术中获取蛋白结构约束分布的效率较低的问题。通过多层神经网络模型获取第一蛋白序列的蛋白结构约束分布,并且计算第一蛋白序列的损失函数值,通过损失函数值,利用反向传播加梯度下降的方法更新第一蛋白序列,循环上述步骤一定次数,即可得到符合第一预设规则的损失函数值对应的蛋白结构约束分布,避免了生成蛋白结构约束分布需要大量的蛋白设计专家的人工经验或者提前制备大量的骨架库的情况,保证了得到的蛋白结构约束分布质量,进而也提升了获取蛋白结构约束分布的效率的效果。
附图说明
24.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例提供的生成蛋白结构约束分布的方法的流程图;图2是根据本技术实施例提供的可选的trrosetta模型处理第一蛋白序列的流程
图;图3是根据本技术实施例提供的可选的生成蛋白结构约束分布的方法的流程图;图4是根据本技术实施例提供的生成蛋白结构约束分布的装置的示意图。
具体实施方式
25.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的生成蛋白结构约束分布的方法的流程图,如图1所示,该方法包括如下步骤:步骤s1,获取随机生成的指定序列长度的第一蛋白序列。
29.例如,获取随机生成的长度为l的第一蛋白序列,第一蛋白序列可以是一个蛋白序列,也可以是多个蛋白序列。由于第一蛋白序列是随机生成的,第一蛋白序列中motif位置的氨基酸序列不一定与预设motif序列一致。
30.步骤s2,采用多层神经网络模型得到第一蛋白序列的蛋白结构约束分布。
31.将上述的第一蛋白序列输入多层神经网络模型中,获取第一蛋白序列的蛋白结构分布。假设第一蛋白序列中包含n个长度为l的蛋白序列,需要先对n个长度为l的蛋白序列进行处理。首先要先进行多重序列对比,保证不同蛋白序列之间相同位置的氨基酸是对齐的。例如,abcd和acd这两个蛋白序列并未对齐,可以用
“‑”
来补齐acd这个蛋白序列中空缺的b,abcd和acd这两个蛋白序列对齐后变为abcd和a-cd,从而保证两个蛋白序列能够对齐。然后将n个长度为l的蛋白序列中的每个氨基酸或者填充符转化为一个21维的独热向量来表示该位置的氨基酸类型,这样n个长度为l的蛋白序列变成一个n
×
l
×
21的数字化矩阵,其中,n代表序列数,l代表序列长度,21代表20种氨基酸类型加一个填充项,填充项代表未知(或其他)氨基酸。将上述n
×
l
×
21的数字化矩阵输入多层神经网络模型中,经过多层神经网络模型处理,得到蛋白结构约束分布,即一个n
×
l
×
l
×
num_features的矩阵。
32.步骤s3,基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值。
33.根据预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算得到第一蛋白序列的损失函数值。
34.步骤s4,采用反向传播加梯度下降的方法,更新第一蛋白序列得更新后的第一蛋白序列。
35.依据上述的损失函数值,通过反向传播和梯度下降的方法,对第一蛋白序列进行更新,得到更新后的第一蛋白序列,更新后的第一蛋白序列具有更低的损失函数值。
36.步骤s5,将更新后的第一蛋白序列作为第一蛋白序列,并重复步骤s2、s3和s4预设次数,得到多个损失函数值。
37.需要说明的是,经本技术发明人反复验证,所述预设次数在100-500次之间时,能兼顾最终的蛋白结构约束分布的可用性,和本技术的方法的效率与成本。
38.步骤s6,从多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
39.从上述多个损失函数值中选取符合第一预设规则的损失函数值,符合第一预设规则的损失函数值对应的蛋白结构约束分布为最终输出的蛋白结构约束分布。第一蛋白序列的蛋白结构约束分布与预设motif的蛋白约束分布以及背景蛋白的蛋白结构约束分布中间的损失函数值越小,预示第一蛋白序列与预设motif越相似,与背景蛋白越不相似,那么基于第一蛋白序列的蛋白结构约束分布设计出的蛋白越可能具备拟设计获得的目标蛋白的性能。
40.综上,通过多层神经网络模型获取第一蛋白序列的蛋白结构约束分布,并且计算第一蛋白序列的损失函数值,通过损失函数值,利用反向传播加梯度下降的方法更新第一蛋白序列,循环上述步骤一定次数,即可得到符合第一预设规则的损失函数值对应的蛋白结构约束分布,避免了生成蛋白结构约束分布需要大量的蛋白设计专家的人工经验或者提前制备大量的骨架库的情况,保证了得到的蛋白结构约束分布质量,进而也提升了获取蛋白结构约束分布的效率的效果。
41.需要说明的是,所述第一预设规则可根据需要进行设定;从选择范围角度来说,所述第一预设规则可以为本方法获得的所有损失函数值,也可以是本方法最后一个循环获得的损失函数值;从选择的个数来说,所述第一预设规则可以为损失函数值最低的一个或多个;针对第一蛋白序列包括多条蛋白序列的情况,选择的范围可以进一步细化为针对本方法获得的所有损失函数值(不考虑蛋白序列的不同),还可以是本方法最后一个循环获得的所有损失函数值(不考虑蛋白序列的不同),也可以针对各蛋白序列的不同,为分别从本方法获得的各蛋白序列相应的所有损失函数值,或为分别从本方法最后一个循环获得的各蛋白序列相应的损失函数值。
42.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,s3包括:基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值;基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值;对第一损失函数值和第二损失函数值进行加权处理,得到第一蛋白序列的损失函数值。
43.根据预设motif的蛋白结构约束分布(在一具体实施例中,所述预设motif来源于pdb文件,可以直接通过pdb文件中的信息获取所述预设motif氨基酸对之间的距离、角度、二面角信息,进而获得预设motif的蛋白结构约束分布)和第一蛋白序列的蛋白结构约束,计算得到第一蛋白序列的第一损失函数值。第一蛋白序列的蛋白结构约束分布与预设
motif的蛋白约束分布之间的第一损失函数值越小,预示第一蛋白序列与预设motif越相似,基于第一蛋白序列的蛋白结构约束分布设计出的蛋白越可能具备拟设计获得的目标蛋白的性能。根据背景蛋白的蛋白结构约束分布和第一蛋白序列的蛋白结构约束,计算得到第一蛋白序列的第二损失函数值。第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布之间的第二损失函数值越小,说明第一蛋白序列与背景蛋白越不相似,因为背景蛋白是无序蛋白,所以第一蛋白序列与背景蛋白越不相似,说明基于第一蛋白序列设计出的蛋白越有可能具备拟设计获得的目标蛋白的性能。将第一损失函数值和第二损失函数值进行加权处理,得到第一蛋白序列的损失函数值。在本发明的一具体实施例中,可将第一损失函数值与第二损失函数值直接相加得到第一蛋白序列的损失函数值。
44.通过计算第一蛋白序列的损失函数值,确定对第一蛋白序列的更新方向,保证了蛋白结构约束分布的质量,从而提高了蛋白结构约束分布的准确性。
45.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值,包括:确定motif在第一蛋白序列中的位置;依据位置,获取第一蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;依据motif的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值。
46.为了进一步提高最终的蛋白结构约束分布在具体应用时的效果,在本技术的一个具体实施例中,在计算第一蛋白序列的第一损失函数值时,优选先确定第一蛋白序列中的motif的位置,然后依据motif的位置得到第一蛋白序列中的motif的蛋白结构约束分布,根据第一蛋白序列中的motif的蛋白结构约束分布与预设motif的蛋白结构约束分布,计算得到第一损失函数值。例如,一个长度为10的第一蛋白序列,其蛋白结构约束分布为10
×
10
×
num_feature的矩阵。假设在第一蛋白序列中只有1-5个氨基酸是motif,需要从10
×
10
×
num_features里面提取前5个氨基酸的位置得到5
×5×
num_feature的矩阵。那么对应的预设motif的蛋白结构约束分布同样为5
×5×
num_feature的矩阵,计算这两个矩阵的交叉熵作为第一损失函数值。交叉熵描述的是两个分布的差异性,取值越大代表两个分布的差异越大。
47.通过不断缩小第一蛋白序列的motif的蛋白结构约束分布与预设motif的蛋白结构约束分布之间的差异,提高了获取蛋白结构约束分布的准确性。
48.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,确定motif在第一蛋白序列中的位置,采用的方式为如下至少之一:基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,不同motif之间的位置不重合且相互之间不相连,且不同motif之间的位置顺序通过随机的方式进行确定;从第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将结构特征相似度最高的位置确定为motif的位置。
49.在随机生成的第一蛋白序列中,可依据下述两种方式中的任一种确定第一蛋白序列中motif的位置。第一种方式是基于不同的motif之间的位置顺序,随机确定一个用于放置任意一段motif的位置,也即,随机确定motif序列的位置。第二种方式,从第一蛋白序列中确定与预设motif结构特征相似度最高的位置,并将所述结构特征相似度最高的位置确定为motif的位置,也即是,搜索在最佳位置放置motif。
50.第一种方式,随机确定motif序列的位置:首先需要知道所有的motif之间位置顺序,若motif数为m,则motif之间的位置顺序为m的阶乘个。然后,需要在这些位置顺序中随机挑选一个进行motif位置生成。首先将所有的motif放在第一蛋白序列的最后面。在之后每次都会对motif位置进行更新,更新方法是:按照motif的位置前后,从最前面的motif开始,一个一个地随机移动,而移动的步数为可移动步数中随机选一个,移动步数可以是正数也可以是负数,代表前移或者后移。可移动步数的限制是:往前移动的时候,如果前面没有motif,则不能超出第一蛋白序列的第一个氨基酸的位置,如果前面有motif,则和该motif之间至少留一个氨基酸的位置;往后移动的时候,如果后面没有motif,则不能超出第一蛋白序列的位置,如果后面有motif,则和该motif之间至少留一个氨基酸的位置。例如,如果1个长度为10的蛋白只有一个长度为5的motif,那么可能的情况就有6种,即1-5,2-6,
ꢀ…
,6

10。随机生成就会随机生成这几种可能的情况中的一种。如果1个长度为10的第一蛋白序列有两个长度为3的motif a和motif b,那么motif顺序有a-b和b-a两种情况;假设motif顺序为a-b,那么先将motif a和motif b放在序列最后面(但是两个motif之间至少隔一个氨基酸),得到a: 4-6 b: 8-10;然后从左到右随机移动motif,这里是先移动a。a可能的新位置是1-3 2-4 3-5,4-6总共4种情况,然后从中随机确定一个位置为motif a的位置;假设a移到了2-4,因为b需要和a至少隔一个氨基酸的距离且在a的后面,所以b可能的情况是:6-8,7-9,8-10总共3种情况,然后从中随机确定一个位置为motif b的位置。
51.第二种方式,搜索最佳位置放置motif序列:通过寻找和预设motif的结构特征最相似的位置,设置为motif的位置。首先随机得到motif的位置。motif位置决定了motif顺序,例如1个长度为10的蛋白有两个长度为3的motif a和b,a放在2-4,b放在6-8则motif顺序是a-b,而如果a放在位置7-9,b放在1-3,则motif顺序为b-a。对于每一段motif,更新方法是:在更新某一段motif的位置时,要保持其他的motif的位置不动。首先,需要遍历这段motif的所有可能的位置,然后计算各位置对应的第一损失函数值(motif loss),并且按照motif loss值从小到大排列所有可能的位置,最后保留符合预设标准的位置(例如motif loss值较小的五个),作为下一段motif移动的初始位置。在所有的motif都更新完成之后,挑选motif loss最低的位置,则为motif的最佳位置。
52.例如,如果1个长度为10的蛋白只有一个长度为5的motif,那么可能的情况就有6种,即1-5,2-6,
ꢀ…
, 6

10,对6种情况进行对比,通过计算motif loss来判断哪个位置的motif loss最低,然后就把motif放在motif loss最低的位置。如果1个长度为20的蛋白,有两个长度为3的motif a和b:假设初始情况是a: 10-12, b: 18-20,假设先更新a,a可能的情况有1-3,2-4,...,14-16共14种情况,对于这14种情况,计算motif loss,最后选择motif loss最低的5种情况;对于这5种情况,每种情况都对应多种b的情况,比如说a放在12-14,那么b可能的位置有16-18,17-19,18-20三种情况,那么5种a的位置可能对应大约20种ab位置组合,同样计算这20种位置组合的motif loss,并且按照motif loss值从小到大排列,最后保留符合预设标准的位置(例如motif loss值较小的五个);如果有更多motif可以继续组合;最后输出的相应数量的ab两个motif组合位置的情况,挑选motif loss最低的位置就是最佳位置(组合位置的意思是"a: 10-12, b: 18-20"和"a: 10-12, b: 17-19"代表两种情况)。
53.通过上述方法可以确定第一蛋白序列中的motif位置,进而能够更准确的计算出
第一蛋白序列的损失函数值。
54.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值,包括:依据第一蛋白序列的长度,获取背景蛋白的蛋白结构约束分布;依据第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值。
55.在本技术的一个具体实施例中,针对不同的蛋白序列的长度,预设了相应长度的背景蛋白的蛋白结构约束分布。基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布得到的第二损失函数值越低,那么根据第一蛋白序列的蛋白结构约束分布设计获得的蛋白的折叠的可能性越高。因为第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布的相似度越低越好,可通过计算一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布的交叉熵,并将该交叉熵的负值作为第二损失函数值。
56.在上述方案中,通过第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布之间的第二损失函数值的对比分析,可以有效提高后续设计获得的蛋白折叠的可能性。
57.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,s2,包括:从第一蛋白序列中提取序列特征;采用多层神经网络模型对序列特征进行分析,预测得到相应蛋白序列的蛋白结构约束分布,其中,蛋白结构约束分布表征第一蛋白序列中不同氨基酸之间的相对位置的分布情况。
58.例如,如图2是根据本技术实施例提供的可选的trrosetta模型(即上述的多层神经网络)处理第一蛋白序列的流程图。在一实施例中,输入第一蛋白序列(n个长度为l的蛋白序列),将这些蛋白序列转换为n
×
l
×
21的数字化矩阵,从数字化矩阵中提取序列特征,多层神经网络对序列特征进行分析,得到第一蛋白序列的蛋白结构约束分布。
59.通过多层神经网络预测蛋白序列的蛋白结构约束分析,提高蛋白结构约束分布的准确性。
60.可选地,在本技术实施例提供的生成蛋白结构约束分布的方法中,采用反向传播加梯度下降的方法,对第一蛋白序列进行更新,得到更新后的第一蛋白序列,包括:依据第一蛋白序列的损失函数值,计算得到损失计算梯度;将第一蛋白序列按照损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
61.将第一蛋白序列的损失函数值对于上述的n
×
l
×
21的数字化矩阵求导就可以得到损失计算梯度。损失计算梯度相反的方向代表使得损失函数值下降最快的方向,所以将第一蛋白序列按照损失计算梯度的反方向更新,得到损失函数值更低的蛋白序列。
62.通过反向传播加梯度下降的方法对第一蛋白序列进行不断的更新,能够提高蛋白结构约束分布的准确性。
63.本技术实施例提供的生成蛋白结构约束分布的方法,通过s1、获取随机生成的指定序列长度的第一蛋白序列;s2、采用多层神经网络模型得到所述第一蛋白序列的蛋白结构约束分布;s3、基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和所述第一蛋白序列的蛋白结构约束分布,计算所述第一蛋白序列的损失函数值;s4、采用反向传播加梯度下降的方法,更新所述第一蛋白序列得更新后的第一蛋白序列;s5、将更新后的第一蛋白序列作为所述第一蛋白序列,并重复所述s2、s3和s4预设次数,得到多个损失函数
值;s6、从所述多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布,解决了相关技术中获取蛋白结构约束分布的效率较低的问题。通过多层神经网络模型获取第一蛋白序列的蛋白结构约束分布,并且计算第一蛋白序列的损失函数值,通过损失函数值,利用反向传播加梯度下降的方法更新第一蛋白序列,循环上述步骤一定次数,得到符合第一预设规则的损失函数值对应的蛋白结构约束分布,解决了相关技术中获取蛋白结构约束分布的效率较低的问题。通过多层神经网络模型获取第一蛋白序列的蛋白结构约束分布,并且计算第一蛋白序列的损失函数值,通过损失函数值,利用反向传播加梯度下降的方法更新第一蛋白序列,循环上述步骤一定次数,即可得到符合第一预设规则的损失函数值对应的蛋白结构约束分布,避免了生成蛋白结构约束分布需要大量的蛋白设计专家的人工经验或者提前制备大量的骨架库的情况,保证了得到的蛋白结构约束分布质量,进而也提升了获取蛋白结构约束分布的效率的效果。
64.本技术实施例还提供了一种蛋白设计方法,根据上述方法获得的最终的蛋白结构约束分布进行蛋白设计。
65.如图3所示,为本技术实施例提供的可选的生成蛋白结构约束分布的处理算法流程图;第一步,数据准备。根据预设motif得到预设motif的蛋白约束分布(所述预设motif来源于pdb文件,可以直接通过pdb文件中的信息获取所述预设motif氨基酸对之间的距离、角度、二面角信息,进而获得预设motif的蛋白结构约束分布,即一个lm
×
lm
×
num_features的矩阵,lm代表motif蛋白的长度),获取随机生成n个长度为l的第一蛋白序列以及背景蛋白的蛋白结构约束分布;第二步,根据预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值。通过trrosetta模型预测第一蛋白序列的蛋白结构约束分布,并根据第一蛋白序列的蛋白结构约束分布和预设motif的蛋白约束分布以及背景蛋白的蛋白结构约束分布计算得到第一蛋白序列的损失函数值;第三步,对第一蛋白序列进行更新优化。根据第一蛋白序列的损失函数值,得到损失计算梯度;依照损失计算梯度的反方向更新第一蛋白序列;然后循环执行第二步和第三步预设次数(预设次数在100-500次之间时,能兼顾最终的蛋白结构约束分布的可用性,和本技术的方法的效率与成本),最后得到符合预设要求的蛋白结构约束分布。
66.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
67.本技术实施例还提供了一种生成蛋白结构约束分布的装置,需要说明的是,本技术实施例的生成蛋白结构约束分布的装置可以用于执行本技术实施例所提供的用于生成蛋白结构约束分布的方法。以下对本技术实施例提供的生成蛋白结构约束分布的装置进行介绍。
68.图4是根据本技术实施例的生成蛋白结构约束分布的装置的示意图。如图4所示,该装置包括:第一获取单元401,第二获取单元402,计算单元403,更新单元404,处理单元405和选择单元406。
69.第一获取单元401,用于获取随机生成的指定序列长度的第一蛋白序列。
70.第二获取单元402,用于采用多层神经网络模型得到第一蛋白序列的蛋白结构约束分布。
71.计算单元403,用于基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值。
72.更新单元404,用于采用反向传播加梯度下降的装置,更新第一蛋白序列得更新后的第一蛋白序列。
73.处理单元405,用于将更新后的第一蛋白序列作为第一蛋白序列,并重复上述第二获取单元402、计算单元403和更新单元404预设次数,得到多个损失函数值。
74.选择单元406,用于从多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
75.本技术实施例提供的生成蛋白结构约束分布的装置,通过第一获取单元401获取随机生成的指定序列长度的第一蛋白序列。第二获取单元402采用多层神经网络模型得到第一蛋白序列的蛋白结构约束分布。计算单元403基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值。更新单元404采用反向传播加梯度下降的装置,更新第一蛋白序列得更新后的第一蛋白序列。处理单元405,将更新后的第一蛋白序列作为第一蛋白序列,并重复上述第二获取单元402、计算单元403和更新单元404预设次数,得到多个损失函数值。选择单元406,从多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布,解决了相关技术中获取蛋白结构约束分布的效率较低的问题。通过多层神经网络模型获取第一蛋白序列的蛋白结构约束分布,并且计算第一蛋白序列的损失函数值,通过损失函数值,利用反向传播加梯度下降的方法更新第一蛋白序列,循环上述步骤一定次数,得到符合第一预设规则的损失函数值对应的蛋白结构约束分布,避免了生成蛋白结构约束分布需要大量的蛋白设计专家的人工经验或者提前制备大量的骨架库的情况,保证了得到的蛋白结构约束分布质量,进而也提升了获取蛋白结构约束分布的效率的效果。
76.需要说明的是,所述第一预设规则可根据需要进行设定;从选择范围角度来说,所述第一预设规则可以为本方法获得的所有损失函数值,也可以是本方法最后一个循环获得的损失函数值;从选择的个数来说,所述第一预设规则可以为损失函数值最低的一个或多个;针对第一蛋白序列包括多条蛋白序列的情况,选择的范围可以进一步细化为针对本方法获得的所有损失函数值(不考虑蛋白序列的不同),还可以是本方法最后一个循环获得的所有损失函数值(不考虑蛋白序列的不同),也可以针对各蛋白序列的不同,为分别从本方法获得的各蛋白序列相应的所有损失函数值,或为分别从本方法最后一个循环获得的各蛋白序列相应的损失函数值。可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,计算单元403包括:第一计算子单元,用于基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值;第二计算子单元,用于基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值;处理子单元,用于对第一损失函数值和第二损失函数值进行加权处理,得到第一蛋白序列的损失函数值。
77.可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,第一计算子单元包括:确定模块,用于确定motif在第一蛋白序列中的位置;第一获取模块,用于依据位置,获取第一蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;第一计算模
块,用于依据motif的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值。
78.可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,确定模块包括如下至少之一:第一确定子模块,用于基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,不同motif之间的位置不重合且相互之间不相连,且不同motif之间的位置顺序通过随机的方式进行确定;第二确定子模块,用于从第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将结构特征相似度最高的位置确定为motif的位置。
79.可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,第二计算子单元包括:第二获取模块,用于依据第一蛋白序列的长度,获取背景蛋白的蛋白结构约束分布;第二计算模块,用于依据第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值。
80.可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,第二获取单元402包括:提取子单元,用于从第一蛋白序列中提取序列特征;预测子单元,用于采用多层神经网络模型对序列特征进行分析,预测得到相应蛋白序列的蛋白结构约束分布,其中,蛋白结构约束分布表征第一蛋白序列中不同氨基酸之间的相对位置的分布情况。
81.可选地,在本技术实施例提供的生成蛋白结构约束分布的装置中,更新单元404包括:第三计算子单元,用于依据第一蛋白序列的损失函数值,计算得到损失计算梯度;更新子单元,用于将第一蛋白序列按照损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
82.所述生成蛋白结构约束分布的装置包括处理器和存储器,上述的第一获取单元401,第二获取单元402,计算单元403,更新单元404,处理单元405和选择单元406等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
83.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来得到蛋白结构约束分布。
84.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
85.本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述生成蛋白结构约束分布的方法或者所述蛋白设计方法。
86.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述生成蛋白结构约束分布的方法或者所述蛋白设计方法。
87.本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:s1、获取随机生成的指定序列长度的第一蛋白序列;s2、采用多层神经网络模型得到第一蛋白序列的蛋白结构约束分布;s3、基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值;s4、采用反向传播加梯度下降的方法,更新第一蛋白序列得更新后的第一蛋白序列;s5、将更新后的第一蛋白序列作为第一蛋
白序列,并重复s2、s3和s4预设次数,得到多个损失函数值;s6、从多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
88.可选地,s3,包括:基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值;基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值;对第一损失函数值和第二损失函数值进行加权处理,得到第一蛋白序列的损失函数值。
89.可选地,基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值,包括:确定motif在第一蛋白序列中的位置;依据位置,获取第一蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;依据motif的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值。
90.可选地,确定motif在第一蛋白序列中的位置,采用的方式为如下至少之一:基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,不同motif之间的位置不重合且相互之间不相连,且不同motif之间的位置顺序通过随机的方式进行确定;从第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将结构特征相似度最高的位置确定为motif的位置。
91.可选地,基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值,包括:依据第一蛋白序列的长度,获取背景蛋白的蛋白结构约束分布;依据第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值。
92.可选地,s2,包括:从第一蛋白序列中提取序列特征;采用多层神经网络模型对序列特征进行分析,预测得到相应蛋白序列的蛋白结构约束分布,其中,蛋白结构约束分布表征第一蛋白序列中不同氨基酸之间的相对位置的分布情况。
93.可选地,采用反向传播加梯度下降的方法,对第一蛋白序列进行更新,得到更新后的第一蛋白序列,包括:依据第一蛋白序列的损失函数值,计算得到损失计算梯度;将第一蛋白序列按照损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
94.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:s1、获取随机生成的指定序列长度的第一蛋白序列;s2、采用多层神经网络模型得到第一蛋白序列的蛋白结构约束分布;s3、基于预设motif的蛋白结构约束分布,背景蛋白的蛋白结构约束分布,和第一蛋白序列的蛋白结构约束分布,计算第一蛋白序列的损失函数值;s4、采用反向传播加梯度下降的方法,更新第一蛋白序列得更新后的第一蛋白序列;s5、将更新后的第一蛋白序列作为第一蛋白序列,并重复步骤s2、s3和s4预设次数,得到多个损失函数值;s6、从多个损失函数值中选择符合第一预设规则的损失函数值对应的蛋白结构约束分布作为最终的蛋白结构约束分布。
95.可选地,s3,包括:基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值;基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值;对第一损失函数值和第二损失函数值进行加权处理,得到第一蛋白序列的损失函数值。
96.可选地,基于第一蛋白序列的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值,包括:确定motif在第一蛋白序列中的位置;依据位置,获取第一
蛋白序列的蛋白结构约束分布中的motif的蛋白结构约束分布;依据motif的蛋白结构约束分布与预设motif的蛋白结构约束分布,得到第一损失函数值。
97.可选地,确定motif在第一蛋白序列中的位置,采用的方式为如下至少之一:基于不同motif之间的位置顺序,随机确定一个位置为放置任意一段motif的位置,其中,不同motif之间的位置不重合且相互之间不相连,且不同motif之间的位置顺序通过随机的方式进行确定;从第一蛋白序列中确定与每段motif的结构特征相似度最高的位置,并将结构特征相似度最高的位置确定为motif的位置。
98.可选地,基于第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值,包括:依据第一蛋白序列的长度,获取背景蛋白的蛋白结构约束分布;依据第一蛋白序列的蛋白结构约束分布与背景蛋白的蛋白结构约束分布,得到第二损失函数值。
99.可选地,s2,包括:从第一蛋白序列中提取序列特征;采用多层神经网络模型对序列特征进行分析,预测得到相应蛋白序列的蛋白结构约束分布,其中,蛋白结构约束分布表征第一蛋白序列中不同氨基酸之间的相对位置的分布情况。
100.可选地,采用反向传播加梯度下降的方法,对第一蛋白序列进行更新,得到更新后的第一蛋白序列,包括:依据第一蛋白序列的损失函数值,计算得到损失计算梯度;将第一蛋白序列按照损失计算梯度的反方向进行更新,得到更新后的第一蛋白序列。
101.可选地,第一蛋白序列中多个蛋白序列,每个蛋白序列分别执行 s2至s6的步骤,得到每个蛋白序列对应的最终的蛋白结构约束分布。
102.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
104.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
105.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
106.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、
网络接口和内存。
107.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
108.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
109.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
110.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
111.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1