首页 / 专利库 / 电信 / 节点 / 子节点 / 一种基于多目标优化的蛋白质网络模块挖掘方法

一种基于多目标优化的蛋白质网络模挖掘方法

阅读:855发布:2024-01-27

专利汇可以提供一种基于多目标优化的蛋白质网络模挖掘方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于多目标优化 算法 的 蛋白质 功能模 块 识别方法,是将所述网络蛋白质 节点 判定为非重叠蛋白质节点和候选重叠蛋白质节点,通过混合编码,粒子群初始化以及粒子群进化来解决蛋白质网络功能模块挖掘问题。本发明能解决蛋白质网络功能模块组合的单一性问题,提供多种模块组合供用户选择,从而能提高功能模块挖掘的准确性与有效性。,下面是一种基于多目标优化的蛋白质网络模挖掘方法专利的具体信息内容。

1.一种基于多目标优化的蛋白质网络的模挖掘方法,其特征是按如下步骤进行:
定义所述蛋白质网络表征为G(V,E),V={v1,v2,…,vi,…,vn}表示所述蛋白质网络中所有蛋白质节点的集合,vi表示第i个蛋白质节点;n为蛋白质节点的总数;E={eij|i=1,
2,…,n;j=1,2,…,n}表示任意两个蛋白质节点之间的联系的集合;eij表示第i个蛋白质节点vi与第j个蛋白质节点vj之间的联系;若eij=1表示第i个蛋白质节点vi与第j个蛋白质节点vj之间有边相连,则称第i个蛋白质节点vi与第j个蛋白质节点vj互为邻居节点;若第k个蛋白质节点vk同时与第i个蛋白质节点vi与第j个蛋白质节点vj之间有边相连,则称第k个蛋白质节点vk是第i个蛋白质节点vi与第j个蛋白质节点vj的共同邻居;若eij=0,表示第i个蛋白质节点vi与第j个蛋白质节点vj之间无边相连,即不存在联系;
步骤1、将所述网络蛋白质节点判定为非重叠蛋白质节点和候选重叠蛋白质节点:
步骤1.1:定义第i个蛋白质节点vi的关键点记为Hi;所述关键点Hi表示第i个蛋白质节点vi的邻居节点中与vi拥有最多共同邻居的蛋白质节点;
定义第i个蛋白质节点vi的关键点Hi以及第i个蛋白质节点vi和关键点Hi之间的共同邻居所组成的蛋白质网络称为关键邻居子图;
步骤1.2:判断第i个蛋白质节点vi是否存在一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第一个关键邻居子图记为Gi,1,并执行步骤1.3;否则,表示第i个蛋白质节点vi为非重叠点蛋白质节点;
步骤1.3:判断第i个蛋白质节点vi是否还存在另一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第二个关键邻居子图记为Gi,2,并执行步骤1.4;否则表示第i个蛋白质节点vi为非重叠蛋白质节点;
步骤1.4:利用式(1)计算第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接稀疏灵敏度值COCL(Gi,1,Gi,2):
式(1)中,L(Gi,1,Gi,2)表示第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接边数;L(Gi,1,Gi,1)表示第一个关键邻居子图Gi,1内的连接边数;L(Gi,2,Gi,2)表示第二关键邻居子图Gi,2内的连接边数;
步骤1.5:判断COCL(Gi,1,Gi,2)是否小于灵敏度参数μ,若小于,则表示所述第i个蛋白质节点vi为候选重叠蛋白质节点,否则表示所述第i个蛋白质节点vi为非重叠蛋白质节点;
步骤1.6、重复步骤1.2-1.5,从而完成n个蛋白质节点的判断,并由所有的候选重叠蛋白质节点构成候选重叠蛋白质节点集合O=(o1,o2,…,oa,…,ob),oa表示任意第a个候选重叠蛋白质节点;由所有的非重叠蛋白质节点构成非重叠蛋白质节点集合S=(s1,s2,…,sc,…,sd);sc表示任意第c个非重叠蛋白质节点;b+d=n;
步骤2、个体编码及解码:
步骤2.1:个体编码
对候选重叠蛋白质节点集合O中的第a个候选蛋白质节点oa进行编码,令第a个候选重叠蛋白质节点oa的基因值xa随机为-1或0;对非重叠蛋白质节点集合S中的第c个非重叠蛋白质节点sc进行编码,令第c个非重叠蛋白质节点sc的基因值xc为非重叠蛋白质节点的下标;从而得到个体编码为X={x1,x2,…xi…xn};xi表示第i个蛋白质节点的基因值;
步骤2.2:个体解码
步骤2.3:初始化i=1;
步骤2.4:判断第i位基因值xi是否为0;若是,则执行步骤2.5:否则,判断第i位基因值xi是否为-1,若是则执行步骤2.6;否则,执行步骤2.7;
步骤2.5、则将第i个蛋白质节点的所有非重叠蛋白质邻居节点在个体编码X中所对应的不同基因值作为第i个蛋白质节点的基因值;
步骤2.6、则将第i个蛋白质节点的所有非重叠邻居节点在基因编码X中所对应的基因值出现次数最多的基因值作为第i个蛋白质节点的基因值;
步骤2.7、将i+1赋值给i,并返回步骤2.4执行,直到i=n为止,从而得到解码后的基因编码X′;
步骤2.8、对处理后的个体编码X′中所有基因值相同的蛋白质节点归为一个蛋白质模块,从而得到m个蛋白质模块,记为C={C1,C2,…,Cr,…,Cm},Cr表示第r个蛋白质模块;
步骤3:初始化:
步骤3.1:定义最大迭代次数为gene,初始迭代次数为t=0、粒子群个体的数目为pop,邻域大小为NS,粒子学习因子为c1、c2,惯性向量为ω,权重向量为λ={λ1,λ2,…,λg,…,λpop};
步骤3.2:假设有pop个粒子{X1,X2,…,Xg,…,Xpop},1≤g≤pop,Xg表示第g个粒子;定义t时刻所述第g个粒子 在第i维的位置为 定义t时刻所述第g个粒子 在第i维的速度为
步骤3.3:按照步骤2.1得到第g个粒子Xg的个体编码,并将第g个粒子Xg的个体编码内的第i维xi赋给t=0时刻粒子的第i维的位置 从而得到第g个粒子Xg在t=0时刻的位置步骤3.4:执行pop次步骤3.3,从而得到初始粒子群的位置
步骤3.5:以初始粒子群的位置 作为初始历史最优粒子群的
位置
步骤3.6:将“0”赋给t=0时刻第g个粒子Xg的第i维的速度 从而得到第g个粒子Xg在t=0时刻的速度
步骤3.7:执行步骤3.6进行pop次,从而得到初始粒子群的速度
步骤3.8、参考点的计算
步骤3.8.1:将初始粒子群的位置 中的每个粒子初始的位置
按照步骤2.2进行解码,得到每个粒子初始的位置对应的若干个蛋白质模块;利用式(2)计算初始粒子群的位置P中第g个粒子Xg的两个目标函数,包括:蛋白质模块内部的连接密度KKMg和蛋白质模块外部的连接密度RCg:
式(2)中,L(Cr,g,Cr,g)表示第g个粒子Xg所对应的第r个蛋白质模块内的连接边数;|Cr,g|表示第g个粒子Xg所对应的第r个蛋白质模块内的蛋白质节点的数目; 表示与第g个粒子Xg所对应的第r个蛋白质模块内的节点连接的所有外部蛋白质节点; 表示第g个粒子Xg所对应的第r个蛋白质模块与所有外部蛋白质节点的连接边数;
步骤3.8.2:执行pop次步骤3.8.1,得到pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;从pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC中分别选取最小值记为f1*和 并构成参考点
步骤3.9:邻域初始化
根据第g个粒子的权重向量λg,计算第g个粒子的权重向量λg与其他粒子的权重向量之间的欧式距离,并选取欧式距离最小的前NS个粒子作为第g个粒子的邻居粒子 从而得到pop个粒子的邻居粒子
步骤3.10:粒子群的全局最优粒子的位置初始化
对于第g个粒子 从第g个粒子的邻居粒子 里面随机选取一个粒子的位置作为粒子 的全局最优粒子
进行pop次得到粒子群的全局最优粒子的位置,记为
步骤4、粒子群进化:
步骤4.1:初始化t=1;
步骤4.2:g=1;
步骤4.3:t时刻第g粒子的速度产生
步骤4.3.1:利用式(3)计算t时刻第g粒子第i维的速度:
式(3)中,ω是惯性权值,设为0;c1是认知能值,c2是社交能力值;r1和r2是0到1之间的随机数; 是二进制的“与”操作;假设sig函数内运算得到的值是 则 的定义如式(4)所示:
式(4)中rand是0到1之间的随机数; 函数定义如式(5)所示:
步骤4.3.2:对第g粒子的速度的每一维进行步骤4.3.1操作,从而得到第g粒子的速度步骤4.4:t时刻第g粒子的位置的产生
步骤4.4.1:利用式(6)计算t时刻第g粒子的第i维位置
式(6)中,当 时, 为0;当 时, 为-1;NB为将第i个
蛋白质节点的所有非重叠蛋白质邻居节点在t-1时刻第g粒子 中所对应的不同基因值;
步骤4.4.2:对第g粒子的速度的每一维进行步骤4.4.1操作,从而得到t时刻第g粒子的位置
步骤4.5:粒子群的位置更新
步骤4.5.1:将Pt-1赋给Pt;
步骤4.5.2:按照步骤3.8.1计算t时刻第g粒子的位置 对应的蛋白质模块内部的连接密度 和蛋白质模块外部的连接密度
步骤4.5.3:根据所述t时刻第g粒子的位置 的两个目标函数以及参考点Z*,计算t时刻第g粒子的位置 在其邻居粒子 对应的权重向量上的切比夫值Q={Q1,
...Ql,....QNS},1≤l≤NS;
再根据步骤3.8.1得到的所有邻居粒子 的两个目标函数以及参考点Z*,计算出所有邻居粒子 对应权重向量上的切比雪夫值QN={QN1,...QNl,...,QNNS};
判断邻居粒子 对应权重向量上的切比雪夫值QNl是否有大于 在其邻居粒子对应的权重向量上的切比雪夫值Ql,若存在第l个邻居粒子满足条件,则在t时刻粒子群的位置Pt中用 替代第l个邻居粒子;
步骤4.6:根据步骤3.8.1计算 对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;
判断 所对应的蛋白质模块内部的两个目标函数是否均小于 对应的蛋白质模块内部的两个目标函,若是,则将 赋给 否则将 赋给
步骤4.7:判断 所对应的蛋白质模块内部的连接密度KKM是否小于参考点Z*内的f1*,若是,则将 所对应的蛋白质模块内部的连接密度KKM赋给f1*;否则,f1*不变;
判断 的对应的蛋白质模块外部的连接密度RC是否小于参考点Z*内的 若是,则将的对应的蛋白质模块外部的连接密度RC赋给 否则, 不变;
步骤4.8:将g+1赋给g,返回步骤4.3顺序执行,直到g等于pop为止;
步骤4.9:根据步骤3.10,得到t时刻
步骤4.10:将t+1赋给t,返回步骤4.2顺序执行,直到t大于gene为止,输出最优的蛋白质网络的模块组合。

说明书全文

一种基于多目标优化的蛋白质网络模挖掘方法

技术领域

[0001] 本发明涉及复杂蛋白质网络功能模块识别技术领域,具体的说是一种基于多目标优化算法的蛋白质功能模块识别方法,将蛋白质网络描述为一个二元组,利用多目标优化算法的重叠社团检测算法来解决蛋白质功能模块识别。

背景技术

[0002] 生物体内成千上万种蛋白质,在不同时间和不同空间阶段组成功能种类繁多的蛋白质模块,在具有生物意义的细胞功能中,蛋白质功能模块是其最基本的组成单位之一,它在结合各个基因产物的过程中起着非常重要的作用,如何从蛋白质的相互作用数据中挖掘与生物功能密切相关的蛋白质功能模块,成为人们揭开蛋白质相互作用与探测生物功能联系的重要突破口,而当前存在的方案不能有效的解决蛋白质功能模块识别问题,而且这些方案最后得到的结果单一,缺乏选择多样性,所以提出基于多目标优化算法的蛋白质功能模块识别方法,能有效的挖掘更好的蛋白质模块组合,并且能提供更多的蛋白质模块选择组合。
[0003] 目前蛋白质网络功能模块识别领域中的问题包含两类研究方法:
[0004] 一类研究方法是利用融合多生物数据的二分图聚类集成方法来检测网络中的功能模块,该方法结合了基因本体论(gene ontology,GO)、基因表达谱数据以及多种基础聚类算法,用一种新的二分图来组织多种基础聚类算法的中间结果,并结合对称非负矩阵分解(non-negative matrix factorization,NMF)。此类方法存在着很高的时候复杂度缺陷,随着蛋白质网络规模的增大,该类方法无法快速得多用户想要的蛋白质模块。
[0005] 一类研究方法是利用以PPIN的拓扑结构为基础,根据存在相互作用的蛋白质建立邻接矩阵,利用邻接矩阵的信息采用社团检测算法来挖掘蛋白质网络里面的社团,当前有利用层次聚类的算法,也有利用单目标优化的算法。此类方法利用社团检测的算法来挖掘蛋白质网络中的模块能快速满足用户的需求,然而蛋白质网络在不同时间和不同空间阶段组成功能种类繁多的蛋白质模块,此类方法对某个蛋白质网络只能挖掘出一组蛋白质模块,无法满足用户多样的需求。

发明内容

[0006] 本发明针对现有技术中的一些不足,提供一种基于多目标优化算法的蛋白质模块挖掘方法,以期能短时间内解决功能模块组合的单一性问题,提供多种蛋白质功能模块组合供用户选择,同时提高功能模块挖掘的准确性与有效性,从而满足解决实际问题的需要。
[0007] 为解决上述技术问题,本发明采用如下技术方案:
[0008] 本发明一种基于多目标优化的蛋白质网络的模块挖掘方法的特点是按如下步骤进行:
[0009] 定义所述蛋白质网络表征为G(V,E),V={v1,v2,…,vi,…,vn}表示所述蛋白质网络中所有蛋白质节点的集合,vi表示第i个蛋白质节点;n为蛋白质节点的总数;E={eij|i=1,2,…,n;j=1,2,…,n}表示任意两个蛋白质节点之间的联系的集合;eij表示第i个蛋白质节点vi与第j个蛋白质节点vj之间的联系;若eij=1表示第i个蛋白质节点vi与第j个蛋白质节点vj之间有边相连,则称第i个蛋白质节点vi与第j个蛋白质节点vj互为邻居节点;若第k个蛋白质节点vk同时与第i个蛋白质节点vi与第j个蛋白质节点vj之间有边相连,则称第k个蛋白质节点vk是第i个蛋白质节点vi与第j个蛋白质节点vj的共同邻居;若eij=0,表示第i个蛋白质节点vi与第j个蛋白质节点vj之间无边相连,即不存在联系;
[0010] 步骤1、将所述网络蛋白质节点判定为非重叠蛋白质节点和候选重叠蛋白质节点:
[0011] 步骤1.1:定义第i个蛋白质节点vi的关键点记为Hi;所述关键点Hi表示第i个蛋白质节点vi的邻居节点中与vi拥有最多共同邻居的蛋白质节点;
[0012] 定义第i个蛋白质节点vi的关键点Hi以及第i个蛋白质节点vi和关键点Hi之间的共同邻居所组成的蛋白质网络称为关键邻居子图;
[0013] 步骤1.2:判断第i个蛋白质节点vi是否存在一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第一个关键邻居子图记为Gi,1,并执行步骤1.3;否则,表示第i个蛋白质节点vi为非重叠点蛋白质节点;
[0014] 步骤1.3:判断第i个蛋白质节点vi是否还存在另一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第二个关键邻居子图记为Gi,2,并执行步骤1.4;否则表示第i个蛋白质节点vi为非重叠蛋白质节点;
[0015] 步骤1.4:利用式(1)计算第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接稀疏灵敏度值COCL(Gi,1,Gi,2):
[0016]
[0017] 式(1)中,L(Gi,1,Gi,2)表示第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接边数;L(Gi,1,Gi,1)表示第一个关键邻居子图Gi,1内的连接边数;L(Gi,2,Gi,2)表示第二关键邻居子图Gi,2内的连接边数;
[0018] 步骤1.5:判断COCL(Gi,1,Gi,2)是否小于灵敏度参数μ,若小于,则表示所述第i个蛋白质节点vi为候选重叠蛋白质节点,否则表示所述第i个蛋白质节点vi为非重叠蛋白质节点;
[0019] 步骤1.6、重复步骤1.2-1.5,从而完成n个蛋白质节点的判断,并由所有的候选重叠蛋白质节点构成候选重叠蛋白质节点集合O=(o1,o2,…,oa,…,ob),oa表示任意第a个候选重叠蛋白质节点;由所有的非重叠蛋白质节点构成非重叠蛋白质节点集合S=(s1,s2,…,sc,…,sd);sc表示任意第c个非重叠蛋白质节点;b+d=n;
[0020] 步骤2、个体编码及解码:
[0021] 步骤2.1:个体编码
[0022] 对候选重叠蛋白质节点集合O中的第a个候选蛋白质节点oa进行编码,令第a个候选重叠蛋白质节点oa的基因值xa随机为-1或0;对非重叠蛋白质节点集合S中的第c个非重叠蛋白质节点sc进行编码,令第c个非重叠蛋白质节点sc的基因值xc为非重叠蛋白质节点的下标;从而得到个体编码为X={x1,x2,…xi…xn};xi表示第i个蛋白质节点的基因值;
[0023] 步骤2.2:个体解码
[0024] 步骤2.3:初始化i=1;
[0025] 步骤2.4:判断第i位基因值xi是否为0;若是,则执行步骤2.5:否则,判断第i位基因值xi是否为-1,若是则执行步骤2.6;否则,执行步骤2.7;
[0026] 步骤2.5、则将第i个蛋白质节点的所有非重叠蛋白质邻居节点在个体编码X中所对应的不同基因值作为第i个蛋白质节点的基因值;
[0027] 步骤2.6、则将第i个蛋白质节点的所有非重叠邻居节点在基因编码X中所对应的基因值出现次数最多的基因值作为第i个蛋白质节点的基因值;
[0028] 步骤2.7、将i+1赋值给i,并返回步骤2.4执行,直到i=n为止,从而得到解码后的基因编码X′;
[0029] 步骤2.8、对处理后的个体编码X′中所有基因值相同的蛋白质节点归为一个蛋白质模块,从而得到m个蛋白质模块,记为C={C1,C2,…,Cr,…,Cm},Cr表示第r个蛋白质模块;
[0030] 步骤3:初始化:
[0031] 步骤3.1:定义最大迭代次数为gene,初始迭代次数为t=0、粒子群个体的数目为pop,邻域大小为NS,粒子学习因子为c1、c2,惯性向量为ω,权重向量为λ={λ1,λ2,…,λg,…,λpop};
[0032] 步骤3.2:假设有N个粒子{X1,X2,…,Xg,…,Xpop},1≤g≤pop,Xg表示第g个粒子;定义t时刻所述第g个粒子 在第i维的位置为 定义t时刻所述第g个粒子 在第i维的速度为
[0033] 步骤3.3:按照步骤2.1得到第g个粒子Xg的个体编码,并将第g个粒子Xg的个体编码内的第i维xi赋给t=0时刻粒子的第i维的位置 从而得到第g个粒子Xg在t=0时刻的位置
[0034] 步骤3 .4 :执行po p次步骤 3 .3 ,从而得到 初始粒 子群的位 置[0035] 步骤3.5:以初始粒子群的位置 作为初始历史最优粒子群的位置
[0036] 步骤3.6:将“0”赋给t=0时刻第g个粒子Xg的第i维的速度 从而得到第g个粒子Xg在t=0时刻的速度
[0037] 步骤3 .7:执行步骤3 .6进行pop次,从而得到初始粒子群的速度
[0038] 步骤3.8、参考点的计算
[0039] 步骤3.8.1:将初始粒子群的位置 中的每个粒子初始的位置按照步骤2.2进行解码,得到每个粒子初始的位置对应的若干个蛋白质模块;利用式(2)计算初始粒子群的位置P中第g个粒子Xg的两个目标函数,包括:蛋白质模块内部的连接密度KKMg和蛋白质模块外部的连接密度RCg:
[0040]
[0041] 式(2)中,L(Cr,g,Cr,g)表示第g个粒子Xg所对应的第r个蛋白质模块内的连接边数;|Cr,g|表示第g个粒子Xg所对应的第r个蛋白质模块内的蛋白质节点的数目; 表示与第g个粒子Xg所对应的第r个蛋白质模块内的节点连接的所有外部蛋白质节点; 表示第g个粒子Xg所对应的第r个蛋白质模块与所有外部蛋白质节点的连接边数;
[0042] 步骤3.8.2:执行pop次步骤3.8.1,得到pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;从pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC中分别选取最小值记为f1*和 并构成参考点
[0043] 步骤3.9:邻域初始化
[0044] 根据第g个粒子的权重向量λg,计算第g个粒子的权重向量λg与其他粒子的权重向量之间的欧式距离,并选取欧式距离最小的前NS个粒子作为第g个粒子的邻居粒子 从而得到pop个粒子的邻居粒子
[0045] 步骤3.10:粒子群的全局最优粒子的位置初始化
[0046] 对于第g个粒子 从第g个粒子的邻居粒子 里面随机选取一个粒子的位置作为粒子 的全局最优粒子
[0047] 进行pop次得到粒子群的全局最优粒子的位置,记为
[0048] 步骤4、粒子群进化:
[0049] 步骤4.1:初始化t=1;
[0050] 步骤4.2:g=1;
[0051] 步骤4.3:t时刻第g粒子的速度产生
[0052] 步骤4.3.1:利用式(3)计算t时刻第g粒子第i维的速度:
[0053]
[0054] 式(3)中,ω是惯性权值,设为0;c1是认知能值,c2是社交能力值;r1和r2是0到1之间的随机数; 是二进制的“与”操作;假设sig函数内运算得到的值是 则的定义如式(4)所示:
[0055]
[0056] 式(4)中rand是0到1之间的随机数; 函数定义如式(5)所示:
[0057]
[0058] 步骤4.3.2:对第g粒子的速度的每一维进行步骤4.3.1操作,从而得到第g粒子的速度
[0059] 步骤4.4:t时刻第g粒子的位置的产生
[0060] 步骤4.4.1:利用式(6)计算t时刻第g粒子的第i维位置
[0061]
[0062] 式(6)中,当 时, 为0;当 时, 为-1;NB为将第i个蛋白质节点的所有非重叠蛋白质邻居节点在t-1时刻第g粒子 中所对应的不同基因值;
[0063] 步骤4.4.2:对第g粒子的速度的每一维进行步骤4.4.1操作,从而得到t时刻第g粒子的位置
[0064] 步骤4.5:粒子群的位置更新
[0065] 步骤4.5.1:将Pt-1赋给Pt;
[0066] 步骤4.5.2:按照步骤3.8.1计算t时刻第g粒子的位置 对应的蛋白质模块内部的连接密度 和蛋白质模块外部的连接密度
[0067] 步骤4.5.3:根据所述t时刻第g粒子的位置 的两个目标函数以及参考点Z*,计算t时刻第g粒子的位置 在其邻居粒子 对应的权重向量上的切比夫值Q={Q1,...Ql,...,QNS},1≤l≤NS;
[0068] 再根据步骤3.8.1得到的所有邻居粒子 的两个目标函数以及参考点Z*,计算出所有邻居粒子 对应权重向量上的切比雪夫值QN={QN1,...QNl,...,QNNS};
[0069] 判断邻居粒子 对应权重向量上的切比雪夫值QNl是否有大于 在其邻居粒子对应的权重向量上的切比雪夫值Ql,若存在第l个邻居粒子满足条件,则在t时刻粒子群的位置Pt中用 替代第l个邻居粒子;
[0070] 步骤4.6:根据步骤3.8.1计算 对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;
[0071] 判断 所对应的蛋白质模块内部的两个目标函数是否均小于 对应的蛋白质模块内部的两个目标函,若是,则将 赋给 否则将 赋给
[0072] 步骤4.7:判断 所对应的蛋白质模块内部的连接密度KKM是否小于参考点Z*内的f1*,若是,则将 所对应的蛋白质模块内部的连接密度KKM赋给f1*;否则,f1*不变;
[0073] 判断 的对应的蛋白质模块外部的连接密度RC是否小于参考点Z*内的 若是,则将 的对应的蛋白质模块外部的连接密度RC赋给 否则, 不变;
[0074] 步骤4.8:将g+1赋给g,重新执行步骤4.3,直到g等于pop为止;
[0075] 步骤4.9:根据步骤3.10,得到t时刻
[0076] 步骤4.10:将t+1赋给t,重新执行步骤4.2,直到t大于gene为止,输出最优的蛋白质网络的模块组合。
[0077] 与已有技术相比,本发明有益效果体现在:
[0078] 1、本发明方法将蛋白质网络中的模块分组问题转化为多目标优化问题,通过利用基于多目标优化的蛋白质网络模块挖掘方法来挖掘蛋白质功能模块问题;该方法利用邻接矩阵的信息采用多目标进化算法来挖掘蛋白质网络里面的功能模块,很大程度上提高了蛋白质网络中功能模块挖掘的效率和计算的效率,同时使蛋白质网络中功能模块组合具备多样性,达到了更好的划分蛋白质网络的目的。
[0079] 2、本发明使用的个体编码不仅能挖掘出非重叠的蛋白质模块,而且能挖掘出重叠的蛋白质模块。并且基于此种方法采用粒子群的粒子更新产生优秀子代粒子,很大程度上提高了蛋白质模块挖掘的效率。
[0080] 3、目前的解决方案中得到的都是一组蛋白质模块,无法提供给研究者多种选择,本发明针对这样的缺陷使用了多目标进化算法来挖掘蛋白质网络中的蛋白质模块,充分利用了多目标进化算法的优势,不仅提供给决策者提供多种选择,而且还能检测出同时属于多个功能模块的蛋白质分子,使挖掘结果呈现多样性。附图说明
[0081] 图1本发明算法流程图
[0082] 图2为本发明实施例的一个简单网络示意图。

具体实施方式

[0083] 本实施例中,一种基于多目标优化的蛋白质网络的模块挖掘方法,是将蛋白质网络描述为一个二元组,利用多目标优化算法来解决蛋白质功能模块识别;生物体内成千上万种蛋白质,在不同时间和不同空间阶段组成功能种类繁多的蛋白质模块,而当前存在的方案不能有效的解决蛋白质功能模块识别,而且这些方案最后得到的结果单一,所以提出了基于多目标优化算法的蛋白质功能模块识别方法,能有效的挖掘更好的蛋白质模块组合,并且能提供更多的蛋白质模块选择组合。
[0084] 具体实施中,一种基于多目标优化的蛋白质网络功能模块识别方法将蛋白质网络中的节点分组问题转化为多目标问题,通过多目标优化算法来解决蛋白质网络中功能模块识别问题,从而实线蛋白质网络中的功能模块有效地识别;具体地说,如图1所示,是按如下步骤进行:
[0085] 步骤一、定义蛋白质网络表征为{V,E},V={v1,v2,…,vi,…,vn}表示蛋白质网络中所有蛋白质分子节点的集合,vi表示第i个蛋白质节点;n为节点的总数;E={eij|i=1,2,…,n;j=1,2,…,n}表示任意两个节点之间的联系的集合;eij表示第i个节点vi与第j个节点vj之间的联系;若eij=1表示第i个节点vi与第j个节点vj之间有边相连;若eij=0,表示第i个节点vi与第j个节点vj之间无边相连,即不存在联系;如图2中的(a)所示为一个包含8个蛋白质节点的简单蛋白质网络结构图,其中每个蛋白质节点代表蛋白质网络中的分子,每条边代表两个蛋白质节点之间存在联系;
[0086] 步骤1、将网络蛋白质节点判定为非重叠蛋白质节点和候选重叠蛋白质节点:
[0087] 步骤1.1:定义第i个蛋白质节点vi的关键点记为Hi;关键点Hi表示第i个蛋白质节点vi的邻居节点中与vi拥有最多共同邻居的蛋白质节点;
[0088] 定义第i个蛋白质节点vi的关键点Hi以及第i个蛋白质节点vi和关键点Hi之间的共同邻居所组成的蛋白质网络称为关键邻居子图;
[0089] 步骤1.2:判断第i个蛋白质节点vi是否存在一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第一个关键邻居子图记为Gi,1,并执行步骤1.3;否则,表示第i个蛋白质节点vi为非重叠点蛋白质节点;
[0090] 步骤1.3:判断第i个蛋白质节点vi是否还存在另一个关键邻居子图,若存在,则将第i个蛋白质节点vi的第二个关键邻居子图记为Gi,2,并执行步骤1.4;否则表示第i个蛋白质节点vi为非重叠蛋白质节点;
[0091] 步骤1.4:利用式(1)计算第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接稀疏灵敏度值COCL(Gi,1,Gi,2):
[0092]
[0093] 式(1)中,L(Gi,1,Gi,2)表示第一个关键邻居子图Gi,1和第二关键邻居子图Gi,2之间的连接边数;L(Gi,1,Gi,1)表示第一个关键邻居子图Gi,1内的连接边数;L(Gi,2,Gi,2)表示第二关键邻居子图Gi,2内的连接边数;
[0094] 步骤1.5:判断COCL(Gi,1,Gi,2)是否小于灵敏度参数μ,若小于,则表示第i个蛋白质节点vi为候选重叠蛋白质节点,否则表示第i个蛋白质节点vi为非重叠蛋白质节点;
[0095] 步骤1.6、重复步骤1.2-1.5,从而完成n个蛋白质节点的判断,并由所有的候选重叠蛋白质节点构成候选重叠蛋白质节点集合O=(o1,o2,…,oa,…,ob),oa表示任意第a个候选重叠蛋白质节点;由所有的非重叠蛋白质节点构成非重叠蛋白质节点集合S=(s1,s2,…,sc,…,sd);sc表示任意第c个非重叠蛋白质节点;b+d=n;
[0096] 步骤2、个体编码及解码:
[0097] 步骤2.1:个体编码
[0098] 对候选重叠蛋白质节点集合O中的第a个候选蛋白质节点oa进行编码,令第a个候选重叠蛋白质节点oa的基因值xa随机为-1或0;对非重叠蛋白质节点集合S中的第c个非重叠蛋白质节点sc进行编码,令第c个非重叠蛋白质节点sc的基因值xc为非重叠蛋白质节点的下标;从而得到个体编码为X={x1,x2,…xi…xn};xi表示第i个蛋白质节点的基因值,如图2中的(b)所示个体编码为{3,3,3,0,5,5,5,5};
[0099] 步骤2.2:个体解码
[0100] 步骤2.3:初始化i=1;
[0101] 步骤2.4:判断第i位基因值xi是否为0;若是,则执行步骤2.5:否则,判断第i位基因值xi是否为-1,若是则执行步骤2.6;否则,执行步骤2.7;
[0102] 步骤2.5、则将第i个蛋白质节点的所有非重叠蛋白质邻居节点在个体编码X中所对应的不同基因值作为第i个蛋白质节点的基因值;
[0103] 步骤2.6、则将第i个蛋白质节点的所有非重叠邻居节点在基因编码X中所对应的基因值出现次数最多的基因值作为第i个蛋白质节点的基因值;
[0104] 步骤2.7、将i+1赋值给i,并返回步骤2.4执行,直到i=n为止,从而得到解码后的基因编码X′;
[0105] 步骤2.8、对处理后的个体编码X′中所有基因值相同的蛋白质节点归为一个蛋白质模块,从而得到m个蛋白质模块,记为C={C1,C2,…,Cr,…,Cm},Cr表示第r个蛋白质模块,如图2中的(c)所示为蛋白质网络被划分为两个蛋白质模块,C1={1,2,3,4}和C1={4,5,6,7,8},其中C1,C2都是重叠蛋白质模块;
[0106] 步骤3:初始化:
[0107] 步骤3.1:定义最大迭代次数为gene,初始迭代次数为t=0、粒子群个体的数目为pop,邻域大小为NS,粒子学习因子为c1、c2,惯性向量为ω,权重向量为λ={λ1,λ2,…,λg,…,λpop};
[0108] 步骤3.2:假设有N个粒子{X1,X2,…,Xg,…,Xpop},1≤g≤pop,Xg表示第g个粒子;定义t时刻第g个粒子 在第i维的位置为 定义t时刻第g个粒子 在第i维的速度为[0109] 步骤3.3:按照步骤2.1得到第g个粒子Xg的个体编码,并将第g个粒子Xg的个体编码内的第i维xi赋给t=0时刻粒子的第i维的位置 从而得到第g个粒子Xg在t=0时刻的位置
[0110] 步骤3 .4 :执行po p次步骤 3 .3 ,从而得到 初始粒 子群的位 置[0111] 步骤3.5:以初始粒子群的位置 作为初始历史最优粒子群的位置
[0112] 步骤3.6:将“0”赋给t=0时刻第g个粒子Xg的第i维的速度 从而得到第g个粒子Xg在t=0时刻的速度
[0113] 步骤3 .7:执行步骤3 .6进行pop次,从而得到初始粒子群的速度
[0114] 步骤3.8、参考点的计算
[0115] 步骤3.8.1:将初始粒子群的位置 中的每个粒子初始的位置按照步骤2.2进行解码,得到每个粒子初始的位置对应的若干个蛋白质模块;利用式(2)计算初始粒子群的位置P中第g个粒子Xg的两个目标函数,包括:蛋白质模块内部的连接密度KKMg和蛋白质模块外部的连接密度RCg:
[0116]
[0117] 式(2)中,L(Cr,g,Cr,g)表示第g个粒子Xg所对应的第r个蛋白质模块内的连接边数;|Cr,g|表示第g个粒子Xg所对应的第r个蛋白质模块内的蛋白质节点的数目; 表示与第g个粒子Xg所对应的第r个蛋白质模块内的节点连接的所有外部蛋白质节点; 表示第g个粒子Xg所对应的第r个蛋白质模块与所有外部蛋白质节点的连接边数;
[0118] 步骤3.8.2:执行pop次步骤3.8.1,得到pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;从pop个粒子的位置对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC中分别选取最小值记为f1*和 并构成参考点
[0119] 步骤3.9:邻域初始化
[0120] 根据第g个粒子的权重向量λg,计算第g个粒子的权重向量λg与其他粒子的权重向量之间的欧式距离,并选取欧式距离最小的前NS个粒子作为第g个粒子的邻居粒子 从而得到pop个粒子的邻居粒子
[0121] 步骤3.10:粒子群的全局最优粒子的位置初始化
[0122] 对于第g个粒子 从第g个粒子的邻居粒子 里面随机选取一个粒子的位置作为粒子 的全局最优粒子
[0123] 进行pop次得到粒子群的全局最优粒子的位置,记为
[0124] 步骤4、粒子群进化:
[0125] 步骤4.1:初始化t=1;
[0126] 步骤4.2:g=1;
[0127] 步骤4.3:t时刻第g粒子的速度产生
[0128] 步骤4.3.1:利用式(3)计算t时刻第g粒子第i维的速度:
[0129]
[0130] 式(3)中,ω是惯性权值,设为0;c1是认知能力值,c2是社交能力值;r1和r2是0到1之间的随机数; 是二进制的“与”操作;假设sig函数内运算得到的值是 则的定义如式(4)所示:
[0131]
[0132] 式(4)中rand是0到1之间的随机数; 函数定义如式(5)所示:
[0133]
[0134] 步骤4.3.2:对第g粒子的速度的每一维进行步骤4.3.1操作,从而得到第g粒子的速度
[0135] 步骤4.4:t时刻第g粒子的位置的产生
[0136] 步骤4.4.1:利用式(6)计算t时刻第g粒子的第i维位置
[0137]
[0138] 式(6)中,当 时, 为0;当 时, 为-1;NB为将第i个蛋白质节点的所有非重叠蛋白质邻居节点在t-1时刻第g粒子 中所对应的不同基因值;
[0139] 步骤4.4.2:对第g粒子的速度的每一维进行步骤4.4.1操作,从而得到t时刻第g粒子的位置
[0140] 步骤4.5:粒子群的位置更新
[0141] 步骤4.5.1:将Pt-1赋给Pt;
[0142] 步骤4.5.2:按照步骤3.8.1计算t时刻第g粒子的位置 对应的蛋白质模块内部的连接密度 和蛋白质模块外部的连接密度
[0143] 步骤4.5.3:根据t时刻第g粒子的位置 的两个目标函数以及参考点Z*,计算t时刻第g粒子的位置 在其邻居粒子 对应的权重向量上的切比雪夫值Q={Q1,...Ql,...,QNS},1≤l≤NS;
[0144] 再根据步骤3.8.1得到的所有邻居粒子 的两个目标函数以及参考点Z*,计算出所有邻居粒子 对应权重向量上的切比雪夫值QN={QN1,...QNl,...,QNNS};
[0145] 判断邻居粒子 对应权重向量上的切比雪夫值QNl是否有大于 在其邻居粒子对应的权重向量上的切比雪夫值Ql,若存在第l个邻居粒子满足条件,则在t时刻粒子群的位置Pt中用 替代第l个邻居粒子;
[0146] 步骤4.6:根据步骤3.8.1计算 对应的蛋白质模块内部的连接密度KKM和蛋白质模块外部的连接密度RC;
[0147] 判断 所对应的蛋白质模块内部的两个目标函数是否均小于 对应的蛋白质模块内部的两个目标函,若是,则将 赋给 否则将 赋给
[0148] 步骤4.7:判断 所对应的蛋白质模块内部的连接密度KKM是否小于参考点Z*内的f1*,若是,则将 所对应的蛋白质模块内部的连接密度KKM赋给f1*;否则,f1*不变;
[0149] 判断 的对应的蛋白质模块外部的连接密度RC是否小于参考点Z*内的 若是,则将 的对应的蛋白质模块外部的连接密度RC赋给 否则, 不变;
[0150] 步骤4.8:将g+1赋给g,重新执行步骤4.3,直到g等于pop为止;
[0151] 步骤4.9:根据步骤3.10,得到t时刻
[0152] 步骤4.10:将t+1赋给t,重新执行步骤4.2,直到t大于gene为止,输出最优的蛋白质网络的模块组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈