一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基因序列比对方法及系统

2022-06-01 00:21:38 来源:中国专利 TAG:


1.本发明属于序列比对技术领域,尤其涉及一种基因序列比对方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.近年来,生物科学技术迅速发展,如何分析处理生物数据库中数据的隐含意义,是人类所面临的一个严峻挑战。序列比对可以反映出生物序列所具有的信息,已被广泛用来识别相关的dna序列和蛋白质序列。序列比对发展至今已有几十年的历史,已经提出了大量的序列比对方法,例如,基于动态规划的序列比对算法,但该算法在时间和空间上的消耗巨大,不能解决实际问题;渐进比对算法,但该算法易于陷入局部最优并且无法改正。
4.为克服以上两类算法的缺陷,出现了基于产生多序列比对算法的迭代比对算法。迭代比对算法主要是指基于生物的群体行为构建的群智能算法,如粒子群算法、遗传算法、人工蜂群算法等等。人工蜂群算法(artificial bee colony,abc)是一种基于蜜蜂群体采蜜行为的群智能算法。由于其具有控制参数少、易于实现等优点,近年来已被越来越多的学者所关注、改进,并且已经被成功应用到很多领域的优化问题中。然而,随着人们对abc算法的深入研究,发现其在跟随蜂阶段的概率选择机制在种群的迭代后期失效,从而导致算法在迭代后期收敛缓慢、求解精度不高的问题。


技术实现要素:

5.为了解决上述背景技术中存在的技术问题,本发明提供一种基因序列比对方法及系统,增强了隐马尔可夫模型的参数搜索的随机性,避免求解陷入局部最优,提高了多序列比对时解的精度。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种基因序列比对方法,其包括:
8.获取多条基因序列;
9.将隐马尔可夫模型的参数编码为蜜源,对于每条基因序列,采用所有蜜源对应的隐马尔可夫模型,得到每条基因序列对应的多种隐状态序列;判断是否满足终止条件,若满足,对适应度值最大的蜜源对应的隐马尔可夫模型得到的所有基因序列的隐状态序列进行两两比对,得到与每条基因序列最相似的基因序列;否则,基于每个蜜源的适应度值,将所有蜜源分为多个种群,在不同种群之间进行差异性学习,来优化隐马尔可夫模型的参数,直到满足终止条件。
10.进一步的,所述在不同种群之间进行差异性学习包括:
11.对于某个蜜源,获取所有蜜源的全局最优解,并分别在不同种群中随机选取出一个解;
12.基于全局最优解和随机选取出解,计算不同的差值;
13.将不同的差值进行加权求和后与该蜜源进行加和,得到引领蜂;
14.若所述引领蜂的适应度值大于该蜜源的适应度值,则用引领蜂代替该蜜源。
15.进一步的,所述在不同种群之间进行差异性学习包括:
16.对于某个蜜源,获取所有蜜源的全局最优解,并分别在不同种群中随机选取出一个解;
17.基于全局最优解和随机选取出解,计算不同的差值;
18.将不同的差值与该蜜源进行加权求和后,得到跟随蜂;
19.若所述跟随蜂的适应度值大于该蜜源的适应度值,则用跟随蜂代替该蜜源。
20.进一步的,所述在不同种群之间进行差异性学习包括:
21.对于某个蜜源,若该蜜源的迭代失败次数达到设定的次数,采用若干种新解生成方式,生成若干个新解,根据贪婪选择策略在若干个新解选取最优的解,来代替该蜜源。
22.进一步的,所述新解生成方式为:随机生成一个新解。
23.进一步的,所述新解生成方式为:
24.选择多个种群中的适应度值最大的种群作为基种群,其余种群作为辅助种群;
25.在基种群中随机选择一个蜜源,作为基蜜源;
26.在每个辅助种群中随机选择一个蜜源,作为辅助蜜源;
27.计算辅助蜜源之间的差值,并乘以随机数后,与基蜜源求和,得到一个新解。
28.进一步的,所述新解生成方式为:
29.在所有蜜源中选择出最小值、最大值和全局最优解;
30.计算最小值加上最大值后与全局最优解的差值,得到一个新解。
31.本发明的第二个方面提供一种基因序列比对系统,其包括:
32.基因序列获取模块,其被配置为:获取多条基因序列;
33.基因序列比对模块,其被配置为:将隐马尔可夫模型的参数编码为蜜源,对于每条基因序列,采用所有蜜源对应的隐马尔可夫模型,得到每条基因序列对应的多种隐状态序列;判断是否满足终止条件,若满足,对适应度值最大的蜜源对应的隐马尔可夫模型得到的所有基因序列的隐状态序列进行两两比对,得到与每条基因序列最相似的基因序列;否则,基于每个蜜源的适应度值,将所有蜜源分为多个种群,在不同种群之间进行差异性学习,来优化隐马尔可夫模型的参数,直到满足终止条件。
34.本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基因序列比对方法中的步骤。
35.本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基因序列比对方法中的步骤。
36.与现有技术相比,本发明的有益效果是:
37.本发明提供了一种基因序列比对方法,其基于分层学习的人工蜂群算法优化隐马尔可夫模型的参数,能够避免算法陷入局部最优的危险,加快了收敛速度,提高了多序列比对时解的精度。
38.本发明提供了一种基因序列比对方法,其基于分层学习的人工蜂群算法构建了一种新的分层环形拓扑结构,不同层次间的种群可以进行差异性学习;据此对两个阶段的搜
索策略进行改进,增强了算法全局寻优能力和搜索能力;避免了abc算法由于概率选择机制而容易在迭代后期收敛停滞的缺点,加快了收敛速度,提高了所求解的精确性;对于侦查蜂阶段产生三种不同方向的解,增强了搜索的随机性,避免求解陷入局部最优。
附图说明
39.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
40.图1是本发明实施例一的方法流程图;
41.图2(a)是本发明实施例一的1ad2_ref1基因序列收敛曲线图;
42.图2(b)是本发明实施例一的1ivy_ref5基因序列收敛曲线图;
43.图2(c)是本发明实施例一的451c_ref1基因序列收敛曲线图;
44.图2(d)是本发明实施例一的kinase_ref1基因序列收敛曲线图。
具体实施方式
45.下面结合附图与实施例对本发明作进一步说明。
46.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
47.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
48.实施例一
49.本实施例提供了一种基因序列比对方法,如图1所示,具体包括以下步骤:
50.步骤1、获取多条基因序列;
51.步骤2、初始化:包括参数的初始化和初始蜜源的生成。其中,初始化的参数包括种群大小sn、蜜源的个数sn、个体维数d、阈值limit、最大迭代次数mcn、最大评估次数mfe、最大值ubj和最小值lbj;初始蜜源的生成是通过式(1)随机产生sn个初始蜜源:
52.x
i,j
=lbj rand(0,1)
·
(ub
j-lbj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
53.其中,x
i,j
表示第i个蜜源(个体)的第j维向量,i=1,2,3,...sn,j=1,2,3,...,d,{lbj,ubj}表示第j维变量的取值范围,rand(0,1)表示0到1之间的随机数。每个蜜源xi代表一种隐马尔可夫模型的参数,d为隐马尔可夫模型的参数的个数。
54.步骤3、将隐马尔可夫模型的参数编码为蜜源,对于每条基因序列,采用所有蜜源对应的隐马尔可夫模型,得到每条基因序列对应的多种隐状态序列;判断是否满足终止条件(其中,终止条件为迭代次数达到最大迭代次数mcn),若满足,对适应度值最大的蜜源对应的隐马尔可夫模型得到的所有基因序列的隐状态序列进行两两比对,得到与每条基因序列最相似的基因序列(即与其相似性最大的隐状态序列对应的基因序列);否则,基于每个蜜源的适应度值,将所有蜜源分为多个种群,在不同种群之间进行差异性学习,来优化隐马尔可夫模型的参数,直到满足终止条件,即执行步骤301-304:
55.步骤301、基于每个蜜源(一种隐马尔可夫模型的参数),得到所有基因序列的隐状态序列,根据公式(2)分别计算每个个体的适应度值fit(xi),fit(xi)的值为蜜源xi下隐马尔可夫模型得到隐状态序列的sps:
[0056][0057]
其中,li表示第i条已对比的隐状态序列,lj表示第j条待对比的隐状态序列,d是表示两条序列相似性大小的函数,实际操作中,运用相似性计分矩阵计算d,故d(li,lj)一般表示li和lj对应残值的替换分值。sps得分越高,代表基因序列比对的精度越好。
[0058]
根据所构建的分层环形拓扑结构,利用分层学习的方式将种群按照适应度值大小分成第一种群s1、第二种群s2和第三种群s3,其中,第一种群s1、第二种群s2和第三种群s3的数量综合为sn,第一种群s1、第二种群s2和第三种群s3的数量之比为1∶7∶2;第一种群s1中每个个体的适应度值均大于第二种群s2中每个个体的适应度值,第二种群s2中每个个体的适应度值均大于第三种群s3中每个个体的适应度值。
[0059]
分层学习的思想为:在整个种群中,外层种群向内层种群进行差异性学习,整个种群不断向更优秀的解靠近。同时最内层种群又向全局最优解习,被提升以找到更好的解决方案。
[0060]
步骤302、引领蜂阶段:对于某个蜜源,获取所有蜜源的全局最优解,并分别在不同种群中随机选取出一个解;基于全局最优解和随机选取出解,计算不同的差值;将不同的差值进行加权求和后与该蜜源进行加和,得到引领蜂;若所述引领蜂的适应度值大于该蜜源的适应度值,则用引领蜂代替该蜜源。具体的,基于分层学习的思想,对引领蜂阶段的搜索方程进行了改进,引领蜂不再只针对单个蜜源进行邻域搜索,而是根据式(3)来对不同种群层次之间进行差异性学习,来获取到高质量的解。
[0061][0062]
其中,v
i,j
为新产生的解,x
i,j
为第i个蜜源的第j维向量,φ
i,j
是[-1,1]之间的随机数,是[0,1.5]之间的随机数,x
gbest,j
是第j维的全局最优解,x
s1,j
、x
s2,j
、x
s3,j
分别是在三个分层s1、s2、s3中随机选出的三个解。
[0063]
按照公式(2)计算新产生解的适应度值(sps值)fit(vi)(或new_fit),如果其大于当前个体的sps值,即fit(xi)<fit(vi),则用新个体代替当前引领蜂个体,并且triali=0;否则,保留xi,traili=traili 1。
[0064]
步骤303、跟随蜂阶段:对于某个蜜源,获取所有蜜源的全局最优解,并分别在不同种群中随机选取出一个解;基于全局最优解和随机选取出解,计算不同的差值;将不同的差值与该蜜源进行加权求和后,得到跟随蜂;若所述跟随蜂的适应度值大于该蜜源的适应度值,则用跟随蜂代替该蜜源。具体的,在跟随阶段,在三个不同分层之间引入了三个精英改进算子r1、r2、r3,使用分层学习代替了原有的概率选择机制。
[0065]vi,j
=r1·
x
i,jr
r2·
(xs
2,j-xs
3,j
) r3·
(x
gbest,j-x
s1,r
)
ꢀꢀꢀ
(4)
[0066]
其中,r1、r2、r3是三个[0,1]之间的随机数,并且r1 r2 r3=1,x
gbest,j
是第j维的全局最优解,x
s1,j
、x
s2,j
、x
s3,j
分别是在三个分层s1、s2、s3中随机选出的三个解。
[0067]
按照公式(2)计算新产生解的sps值,如果其大于当前个体的sps值,则用新个体代
替当前引领蜂个体,并且triali=0;否则,保留xi,traili=traili 1。
[0068]
步骤304、侦查蜂:对于某个蜜源,若该蜜源的迭代失败次数达到设定的次数,采用若干种新解生成方式,生成若干个新解,根据贪婪选择策略在若干个新解选取最优的解,来代替该蜜源。具体的,在侦查蜂阶段,引入了分层学习和基于对立学习的方法,当迭代失败次数traili达到设定的次数limiti不再使用原先单一的新解生成方式,而是产生了三个不同解。
[0069]
随机生成一个新解:第一个解m1依旧是根据(1)来产生。
[0070]
选择多个种群中的适应度值最大的种群作为基种群,其余种群作为辅助种群;在基种群中随机选择一个蜜源,作为基蜜源;在每个辅助种群中随机选择一个蜜源,作为辅助蜜源;计算辅助蜜源之间的差值,并乘以随机数后,与基蜜源求和,得到一个新解。即,第二个解m2通过分层学习的思想根据以下公式产生:
[0071]
m2=x
s1
φ
i,j
·
(x
s2-x
s3
)
ꢀꢀꢀ
(5)
[0072]
其中,x
s1,j
、x
s2,j
、x
s3,j
分别是在三个分层s1、s2、s3中随机选出的三个解,φ
i,j
是[-1,1]之间的随机数。
[0073]
在所有蜜源中选择出最小值、最大值和全局最优解;计算最小值加上最大值后与全局最优解的差值,得到一个新解。即,第三个解m3是根据对立学习的思想,在全局最优解的对立面搜索到一个解,以避免搜索陷入局部最优,其产生公式为:
[0074]
m3=lb ub-x
gbest
ꢀꢀꢀ
(6)
[0075]
其中,lb、ub分别为解的最小值、最大值,x
gbest
是全局最优解。
[0076]
通过公式(2)计算三个新生成解的适应度值,根据贪婪选择策略选取最优的解作为新产生的解。
[0077]
本实施例进行了4组测试实验,基因序列分别为1ad2_ref1、1ivy_ref5、451c_ref1、kinase_ref1,分别同abc和本发明求解同一组序列的比对。本实验中,abc算法与本发明算法在相同的实验条件下运行,且每个测试函数独立运行10次,迭代进行1000代,记录最大值、最小值和平均值。
[0078]
表1、多序列比对实验结果精度
[0079][0080]
不论从平均值还是最优值或者最差值来看,本发明算法都要明显高于abc算法的结果。因此可以充分看出本发明算法的优越性。为了更加充分表现本发明算法的性能,出了给出表1所示的精度结果外,还以图的形式展示了本发明(hlabc)与abc算法运行时的收敛曲线图。如图2(a)、图2(b)、图2(c)和图2(d),其中,横轴代表迭代次数(iteration),纵轴代
表最优比对sps的平均值(score)。从中可以得出结论:本发明能够避免算法陷入局部最优的危险,加快了收敛速度,提高多序列比对时解的精度。
[0081]
本发明基于分层学习的思想提出了一种新型环形拓扑结构,改进了原有的搜索策略从而提高了搜索的随机性,并用分层学习的方法来代替原先的概率选择机制,提高了算法的寻优能力和收敛速度,从而克服了原始abc算法的缺点,达到了对其的优化效果,提高了多序列比对时解的精度。
[0082]
实施例二
[0083]
本实施例提供了一种基因序列比对系统,其具体包括如下模块:
[0084]
基因序列获取模块,其被配置为:获取多条基因序列;
[0085]
基因序列比对模块,其被配置为:将隐马尔可夫模型的参数编码为蜜源,对于每条基因序列,采用所有蜜源对应的隐马尔可夫模型,得到每条基因序列对应的多种隐状态序列;判断是否满足终止条件,若满足,对适应度值最大的蜜源对应的隐马尔可夫模型得到的所有基因序列的隐状态序列进行两两比对,得到与每条基因序列最相似的基因序列;否则,基于每个蜜源的适应度值,将所有蜜源分为多个种群,在不同种群之间进行差异性学习,来优化隐马尔可夫模型的参数,直到满足终止条件。
[0086]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0087]
实施例三
[0088]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种基因序列比对方法中的步骤。
[0089]
实施例四
[0090]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种基因序列比对方法中的步骤。
[0091]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0092]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0093]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0094]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0095]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0096]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献