基于改进pso算法的蛋白质功能模块检测方法

文档序号:10570249阅读:366来源:国知局
基于改进pso算法的蛋白质功能模块检测方法
【专利摘要】本发明涉及一种基于改进PSO算法的蛋白质功能模块检测方法,以PPIN的拓扑结构为基础,根据存在相互作用的蛋白质建立邻接矩阵,再计算蛋白质间的距离dij;对于每个粒子,随机选取0~n之间的整数k,其中n为蛋白质的个数,求出其余各蛋白质到蛋白质k之间的距离作为当前粒子的初始位置,粒子群中初始群体最优位置是以各蛋白质到中心蛋白质的距离作为粒子群体历史最优位置,粒子的种群规模取蛋白质个数的5倍;将惯性权重w和学习因子c2设为可调因子在PSO算法搜索得出最优解后,引入基于拓扑和功能信息的后处理策略。本发明有利于寻找最优解,防止陷入局部最优;模块划分更精确,模块数量更繁多。
【专利说明】
基于改进PSO算法的蛋白质功能模块检测方法
技术领域
[0001 ] 本发明是基于原始的PS0(Particle swarm optimization)算法,对其进行改进后 结合生物基因本体知识应用于生物蛋白质相互作用网络(Protein to Protein Interaction Network,PPIN)中蛋白质功能复合体的识别中来。
【背景技术】
[0002] 随着人类基因组计划的完成,蛋白质组学的研究已经成为生命科学乃至自然科学 领域中最重要的研究课题之一。因为蛋白质很少以独立个体的方式参与生命过程,而是通 过蛋白质复合体的形式完成其生物学功能。因此蛋白质相互作用及相互作用网络的研究和 分析很自然地成为理解生命活动中细胞组织、过程和功能的基础。目前,对蛋白质相互网络 的研究,主要集中在检测蛋白质复合体和功能模块上,这个问题已转变为在蛋白质相互网 络图中识别稠密子图的问题。普遍的做法是将蛋白质网络表示成一个图,其中节点表示蛋 白质,边表示蛋白质之间的相互作用。这样,就可以利用各种图聚类算法来挖掘蛋白质复合 体和功能模块。
[0003] 粒子群算法是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜 索算法,相对于其他聚类算法具有较大的优势,所以将其应用于蛋白质网络的识别问题上 来。

【发明内容】

[0004] 本发明的目的是基于原始的PS0(Particle swarm optimization)算法,对其进行 改进后结合生物基因本体知识应用于生物蛋白质相互作用网络(Protein to Protein Interaction Network,PPIN)中蛋白质功能复合体的识别中来。
[0005]本发明采用以下技术方案实现:一种基于改进PS0算法的蛋白质功能模块检测方 法,其特征在于,包括以下步骤:步骤S1:以PPIN的拓扑结构为基础,根据存在相互作用的蛋 白质建立邻接矩阵,再根据距离公式(1)计算蛋白质间的距离d 1J:
(1)
[0007]其中Int(i)和Int(j)分别代表蛋白质i和j具有邻接蛋白质的数量总和,|lnt(i) A Int( j) | = | Int(i) U Int( j) | - | Int(i) fl Int( j) |,以此得出蛋白质网络的距离矩阵;步 骤S2:对于每个粒子,随机选取0~n之间的整数k,其中n为蛋白质的个数,求出其余各蛋白 质到蛋白质k之间的距离作为当前粒子的初始位置,粒子群中初始群体最优位置是以各蛋 白质到中心蛋白质的距离作为粒子群体历史最优位置,粒子的种群规模取蛋白质个数的5 倍;步骤S3:将惯性权重w设为可调因子:w = 0.9-a*0.4b;将学习因子C2也设为可调因子:C2 =2.0*a/b,其中a为当前迭代次数,b为总迭代次数;步骤S4:在PS0算法搜索得出最优解后, 引入基于拓扑和功能信息的后处理策略;基本PS0的数学描述:假设粒子群的初始种群大小 有N,问题空间的维数为N,粒子的初始速度和位置随机产生,t时刻粒子i的速度为 W =(VK,-,VL),位置为尤=(xK,..乂,),其中i = l,2,. .,N,mGN;将粒子i在搜索过 程中达到过的最优位置记为g,整个粒子群在搜索过程中到达过的最优位置记为g,则在t +1时刻粒子i在j维空间的飞行速度ff1和位置4+1按如下公式进行更新:
[0008] = Hj+^iMrx,^+c2^Mj-^ (2) ..f+l . f . r+l
[0009] -Wi (3) ,/4-l 7+1 - !vraax,v?). >vmax
[0010] _1'Wx,vz> ⑷
[0011] (2)式中w为惯性权重函数值,C1,C2为学习因子,。,^为(0,1)之间的随机数,(4) 式表示粒子的速度限制在[-Vmax,Vmax]之间,Vmax为粒子最大速度;
[0012] 粒子群的算法流程描述如下:
[0013] Stepl:随机初始化粒子群中各个粒子的速度和位置,并且将各个粒子的初始个体 最优位置设为粒子的初始位置,将所有个体最优位置中的最优位置设为初始粒子群的群体 最优位置;
[0014] Step2:对各个粒子的评估函数值进行计算;
[0015] Step3:如果评估函数值优于其原先评估函数值,则把当前位置更新为粒子的个体 最优位置;如果评估函数值优于群体评估函数值,则把当前位置更新为群体历史最优位 置;
[0016] Step4:更新各个粒子的速度和位置,更新公式为(2)~(4);
[0017] Step5:判断是否达到最大迭代次数,如果达到,则输出最优解,结束算法,否则返 回step2〇
[0018]进一步的,步骤S4包括以下具体步骤:主要分为两个部分基于功能信息的模块规 划和基于拓扑的t吴块规划:步骤S41:基于功能的彳吴块规划:合并功能相似的初始蛋白质功 能模块,使用公式(5)衡量2个模块的相似性:
(5)
[0020] 其中Ms和Mt分别代表两个模块的规模,而S(i,j)由以下公式(6)刻画: r 1, r
[0021] s{i,j) = \ , , (6j
[0022] 其中,是基于基因拓扑结构相似性函数,由以下公式(7)刻画:
(7)
[0024]公式(7)中的g1和分别取值于蛋白质i和蛋白质j在Gene Ontology中的注释数 值,fij的值越大表示两个蛋白质愈加的相似;
[0025]给定相似性阀值s,以合并相似的模块,提高模块划分精度;
[0026]步骤S42:基于拓扑的模块规划:
[0027]通过衡量初始模块的密度,设置过滤参数,减少过于稀疏的蛋白质模块,以提高划 分精度,模块的精度根据公式(8)计算:
(8)
[0029] 其中n表示当前模块所含蛋白质的数量,e表示模块中相互作用的数量。
[0030] 与现有技术相比,本发明的技术方案具有以下优点:迭代初始时粒子扩大搜索区 域,进行全局搜索,使搜索区域收敛于某一局部区域,而随着迭代次数的增加,粒子应进行 局部范围搜索,有利于寻找最优解,防止陷入局部最优;模块划分更精确,模块数量更繁多。
【具体实施方式】
[0031] 下面结合具体实施例对本发明做进一步解释说明。
[0032] 本发明涉及一种基于改进PS0算法的蛋白质功能模块检测方法,其主要包括以下 步骤:
[0033] ① PPIN 建模
[0034]本发明中以PPIN的拓扑结构为基础,根据存在相互作用的蛋白质建立邻接矩阵, 再根据距离公式(1)计算蛋白质间的距离cUj。
(1) L0036J其中Int(i)和Int(j)分别代表蚩白质i和j具有邻接蛋白质的数量总和。以此得出 蛋白质网络的距离矩阵。
[0037]②初始化
[0038]在基本粒子群算法中,粒子群初始位置是随机选取,跟实际问题的求解没有关联。 而为了使粒子群算法跟实际问题相关联,本发明中粒子初始位置是确定的:对于每个粒子, 随机选取0~n之间的整数k (其中n为蛋白质的个数),求出其余各蛋白质到蛋白质k之间的 距离作为当前粒子的初始位置,粒子群中初始群体最优位置是以各蛋白质到中心蛋白质的 距离作为粒子群体历史最优位置。粒子的种群规模取蛋白质个数的5倍。
[0039]③参数设置
[0040]在基本粒子群算法中,一般选取惯性权重w=l和学习因子C2 = 2,但考虑到基本粒 子群算法容易陷入局部最优,而惯性权重w主要是粒子保持自身运动状态的惯性,用来平衡 算法局部和全局搜索,当w取大值时有利于探索新领域,较小时有利于详细搜索当前区域。 因此迭代初始时粒子应扩大搜索区域,进行全局搜索,使搜索区域收敛于某一局部区域,而 随着迭代次数的增加,粒子应进行局部范围搜索,有利于寻找最优解,防止陷入局部最优。 所以本发明中惯性权重w设为可调因子:w = 0.9_a*0.4b。
[0041]由于学习因子c2是粒子向群体历史最优位置学习,粒子开始搜索阶段,群体历史 最优位置在群体最优解所占据的优势还不是很明显,因此通过参数设置使粒子开始阶段向 群体历史最优位置学习的比重较低,而搜索后期,由于群体历史最优位置在搜索全局最优 解中的比重较大,因此可以使粒子多向群体历史最优位置学习,防止陷入局部最优,有利 于找到最优解。所以本发明中,(: 2也设为可调因子:C2 = 2.0*a/b。
[0042 ]其中a为当前迭代次数,b为总迭代次数。
[0043] 基本PS0的数学描述:假设粒子群的初始种群大小有N,问题空间的维数为N,粒子 的初始速度和位置随机产生,t时刻粒子i的速度为K ,心):,位置为 <=^,<2,..,〇,其中1 = 1,2,..少,!11^;将粒子1在搜索过程中达到过的最优位置记为 g:,整个粒子群在搜索过程中到达过的最优位置记为g,则在t+1时刻粒子i在j维空间的飞 行速度&H1和位置按如下公式进行更新:
[0044] 巧+1 = 办;-x;_) + c2 r2(g:; -4) Q)
[0045 ] 4-丨=4 + 4+丨 (3:). 飞,.+1 - j'max*11;;
[0046] (4)
[0047] (2)式中w为惯性权重函数值,C1,C2为学习因子,。,^为(0,1)之间的随机数,(4) 式表示粒子的速度限制在[-Vmax,Vmax]之间,Vmax为粒子最大速度;
[0048]粒子群的算法流程描述如下:
[0049] Stepl:随机初始化粒子群中各个粒子的速度和位置,并且将各个粒子的初始个体 最优位置设为粒子的初始位置,将所有个体最优位置中的最优位置设为初始粒子群的群体 最优位置;
[0050] Step2:对各个粒子的评估函数值进行计算;
[0051] Step3:如果评估函数值优于其原先评估函数值,则把当前位置更新为粒子的个体 最优位置;如果评估函数值优于群体评估函数值,则把当前位置更新为群体历史最优位置; [0052] Step4:更新各个粒子的速度和位置,更新公式为(2)~(4);
[0053] Step5:判断是否达到最大迭代次数,如果达到,则输出最优解,结束算法,否则返 回step2〇
[0054]④模块优化
[0055] 原始的蛋白质模块检测算法中,当获得最初优化路径时,仅仅根据给定阀值D对路 径进行剪枝,获得初始蛋白质模块。这样将存在模块划分不精确,模块数量繁多等不足。为 了弥补这个缺陷,本发明在PS0算法搜索得出最优解后,引入基于拓扑和功能信息的后处理 策略。主要分为两个部分:基于功能信息的模块规划和基于拓扑的模块规划。
[0056] (1):基于功能的模块规划
[0057] 本步骤的目的在于合并功能相似的初始蛋白质功能模块,使用公式(5)衡量2个模 块的相似性:
(5)
[0059]其中Ms和Mt分别代表两个模块的规模(包含蛋白质数量),而S(i,j)由以下公式(6) 刻画: f 15 if i - j
[0060] = ] . , (6)
[4 tf
[0061]其中,是基于基因拓扑结构相似性函数,由以下公式(7)刻画:
(7)
[0063]公式(7)中的g1和分别取值于蛋白质i和蛋白质j在Gene Ontology中的注释数 值。fij的值越大表示两个蛋白质愈加的相似。
[0064]本发明中将给定相似性阀值s,以合并相似的模块,提高模块划分精度。
[0065] (2):基于拓扑的模块规划
[0066]本步骤旨在通过衡量初始模块的密度,设置过滤参数,减少过于稀疏的蛋白质模 块,以提高划分精度。模块的精度根据公式(8)计算:
(8)
[0068] 其中n表示当前模块所含蛋白质的数量,e表示模块中相互作用的数量。
[0069] 综上所述,本发明提供的上列较佳实施例,对本发明的目的、技术方案和优点进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限 制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。
【主权项】
1. 一种基于改进PSO算法的蛋白质功能模块检测方法,其特征在于,包括以下步骤: 步骤S1:以PPIN的拓扑结构为基础,根据存在相互作用的蛋白质建立邻接矩阵,再根据 距离公式(1)计算蛋白质间的距离du:其中Int(i)和Int( j)分别代表蛋白质i和j具有邻接蛋白质的数量总和,I Int(i) △ Int (j) I = I Int(i) U Int( j) |-| Int(i) Π Int( j) I,以此得出蛋白质网络的距离矩阵; 步骤S2:对于每个粒子,随机选取0~η之间的整数k,其中η为蛋白质的个数,求出其余 各蛋白质到蛋白质k之间的距离作为当前粒子的初始位置,粒子群中初始群体最优位置是 以各蛋白质到中心蛋白质的距离作为粒子群体历史最优位置,粒子的种群规模取蛋白质个 数的5倍; 步骤S3:将惯性权重w设为可调因子:w = 0.9_a*0.4b;将学习因子C2也设为可调因子:C2 =2.0*a/b,其中a为当前迭代次数,b为总迭代次数; 步骤S4:在PS0算法搜索得出最优解后,引入基于拓扑和功能信息的后处理策略; 基本PS0的数学描述:假设粒子群的初始种群大小有N,问题空间的维数为N,粒子的初 始速度和位置随机产生,t时刻粒子i的速度为K 位置为 ^二〇4,?4,..,)4),其中1 = 1,2,..少,111^;将粒子1在搜索过程中达到过的最优位置记为 片,整个粒子群在搜索过程中到达过的最优位置记为g丨,则在t+Ι时刻粒子i在j维空间的飞 行速度g+1和位置4 +1按如下公式进行更新:⑵式中w为惯性权重函数值,C1,C2为学习因子,~^为(0,1)之间的随机数,(4)式表示 粒子的速度限制在[-Vmax,Vmax]之间,Vmax为粒子最大速度; 粒子群的算法流程描述如下: Stepl:随机初始化粒子群中各个粒子的速度和位置,并且将各个粒子的初始个体最优 位置设为粒子的初始位置,将所有个体最优位置中的最优位置设为初始粒子群的群体最优 位置; Step2:对各个粒子的评估函数值进行计算; Step3:如果评估函数值优于其原先评估函数值,则把当前位置更新为粒子的个体最优 位置;如果评估函数值优于群体评估函数值,则把当前位置更新为群体历史最优位置; Step4:更新各个粒子的速度和位置,更新公式为(2)~(4); Step5:判断是否达到最大迭代次数,如果达到,则输出最优解,结束算法,否则返回 step2〇2. 根据权利要求1所述的基于改进PSO算法的蛋白质功能模块检测方法,其特征在于: 步骤S4包括以下具体步骤: 主要分为两个部分基于功能信息的模块规划和基于拓扑的模块规划: 步骤S41:基于功能的_旲块规划: 合并功能相似的初始蛋白质功能模块,使用公式(5)衡量2个模块的相似性:其中Ms和Μτ分别代表两个模块的规模,而S(i,j)由以下公式(6)刻画:其中,fij是基于基因拓扑结构相似性函数,由以下公式(7)刻画:公式(7)中的g1和g·3分别取值于蛋白质i和蛋白质j在Gene Ontology中的注释数值,fij 的值越大表示两个蛋白质愈加的相似; 给定相似性阀值s,以合并相似的模块,提高模块划分精度; 步骤S42:基于拓扑的模块规划: 通过衡量初始模块的密度,设置过滤参数,减少过于稀疏的蛋白质模块,以提高划分精 度,模块的精度根据公式(8)计算:其中η表示当前模块所含蛋白质的数量,e表示模块中相互作用的数量。
【文档编号】G06F19/18GK105930688SQ201610240098
【公开日】2016年9月7日
【申请日】2016年4月18日
【发明人】郑相涵, 李坤, 于元隆, 陈日清
【申请人】福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1