CN111883208B - 一种基因序列优化方法、装置、设备及介质 - Google Patents
一种基因序列优化方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111883208B CN111883208B CN202010589258.5A CN202010589258A CN111883208B CN 111883208 B CN111883208 B CN 111883208B CN 202010589258 A CN202010589258 A CN 202010589258A CN 111883208 B CN111883208 B CN 111883208B
- Authority
- CN
- China
- Prior art keywords
- population
- target
- individuals
- gene sequence
- individual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B25/00—ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Biotechnology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Genetics & Genomics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基因序列优化方法、装置、设备及介质,包括:随机生成初代种群,作为初始运算种群,进行迭代运算;对初始运算种群聚类;对初始运算种群中的个体进行适应度计算;根据聚类结果筛选个体,得到目标种群;从目标种群中选择出第一预设数量个个体组进行交叉计算;从目标种群中随机选择出第二预设数量个个体进行变异;判断目标种群是否达到预设收敛条件;若未达到预设收敛条件,将当前目标种群确定为初始运算种群,继续迭代;若达到预设收敛条件,停止迭代,从目标种群中确定出第一目标个体,实现对待优化基因序列的优化;第一目标个体包括每一聚类中适应度最高的个体。能够实现种群收敛,准确获得稳定的多极值解,有效的优化基因序列。
Description
技术领域
本申请涉及基因序列处理技术领域,特别涉及一种基因序列优化方法、装置、设备及介质。
背景技术
DNA中文名称是脱氧核糖核酸,是一种高分子化合物,由四种脱氧核糖核苷酸基本单元组成。这四种脱氧核糖核苷酸分别由腺嘌呤(Adenine)、胞嘧啶(Cytosine)、鸟嘌呤(Guanine)和胸腺嘧啶(Thymine)四种碱基组成,简记为A、T、C、G,一般用碱基序列表示DNA(Deoxyribonucleic Acid,脱氧核糖核酸)分子结构。通过生物化学手段控制DNA分子之间的杂交反应,可以实现DNA计算。一般认为,DNA计算具有先天并行的优势,在求解自然界广泛存在的诸多复杂问题上,具有经典数字计算机所无法比拟的巨大优势。DNA计算需要依靠功能强大的蛋白质作为辅助工具,完成各类计算。故根据的蛋白质-DNA相互作用,设计出合适的DNA序列就十分重要。遗传算法是一种以生物进化为启发,求解复杂全局优化问题的仿生型算法。它以自然进化论与遗传变异理论为基础,将运算对象编码,同时使用多个搜索点的概率搜索技术对复杂可行域进行全局搜索。此优化算法不需要任何梯度或高阶等辅助信息,对于求解某些特定情况下的最优解有着独有的优势。遗传算法与DNA计算有很多相似之处,遗传算法中核心的策略,包括交叉、变异和种群筛选进化都是DNA天生具备的特征。因此,通过遗传算法探究蛋白质-DNA相互作用具有天然优势。
DNA序列通常利用各种约束条件来筛选,使其最大限度地满足要求,本质上是一个多目标优化问题,蛋白质-DNA相互作用打分函数是其中一个重要的约束条件。对于快速寻找满足蛋白质-DNA相互作用最优解的DNA序列而言,目前业内还没有很好的策略。其难点主要有二:(1)多极值优化,在优化打分函数时我们得到的满足极值条件的DNA序列有多个,想找到满足条件的多组解比较困难;(2)多维度优化,一段DNA序列可能有多个区域与蛋白质有结合,这些区域之间是正交的,故需要同时优化序列上的多个区域,这种多维度优化参数空间很大,不易求解。而经典遗传算法应用于解决此问题有时会出现早熟,局部搜索能力差和计算效率低等问题。另外,正如模式定理所预计的效果,即使解决了早熟问题,遗传算法最终会收敛到单一最优解,而无法获得体系的其他极值,无法实现多极值优化。而多极值优化在DNA序列优化问题上十分重要:有时某一DNA序列模式与蛋白质作用强度最强,打分函数处于全局最优,但假如这种模式的DNA序列本身极不稳定,在真实情况下无法使用,这时候我们就需要寻找满足次优解的DNA序列。
目前,对于DNA序列的多极值优化问题,存在自适应遗传算法、人工免疫算法、小生境粒子群优化等算法,来搜寻多峰函数的极值。但目前存在的优化算法存在一些不足,主要有以下四点:(1)多维度情况下难以收敛;(2)早熟收敛于局部极值解而丢失全局最优解;(3)种群个数无法控制,获得结果不稳定;(4)算法复杂,参数过多,先验条件过多,适用场景受限。
发明内容
有鉴于此,本申请的目的在于提供一种基因序列优化方法、装置、设备及介质,能够实现种群收敛,准确的获得稳定的多极值解,从而有效的优化基因序列。其具体方案如下:
第一方面,本申请公开了一种基因序列优化方法,包括:
步骤S11:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
步骤S12:对所述初始运算种群进行聚类;
步骤S13:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
步骤S14:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
步骤S15:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
步骤S16:从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
步骤S17:判断所述目标种群是否达到预设收敛条件;
步骤S18:若所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代;
步骤S19:若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
可选的,所述对所述初始运算种群进行聚类,包括:
利用K-means算法对所述初始运算种群进行聚类。
可选的,所述对所述初始运算种群进行聚类,包括:
利用DBSCAN算法对所述初始运算种群进行聚类。
可选的,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群的进化代数是否达到预设代数阈值。
可选的,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群对应的目标差值是否小于预设差值阈值;
其中,所述目标差值为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的二进制差值计算得到的差值;所述二进制差值为利用个体对应的二进制码计算得到的差值。
可选的,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群对应的格雷码位差异数量是否小于预设位差阈值;
其中,所述格雷码位差异数量为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的格雷码位差异确定的位差数量。
可选的,所述根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群,包括:
在每一个聚类中筛选出第三预设数量个第二目标个体;所述第二目标个体的适应度高于当前聚类中其他个体;在筛选出所述第二目标个体后,利用轮盘赌方法从所述初始运算种群中的其他个体中筛选出第三目标个体,得到所述目标种群;所述目标种群包括所述第二目标个体和所述第三目标个体。
第二方面,本申请公开了一种基因序列优化装置,包括:
初代种群生成模块11,用于随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
种群聚类模块12,用于对所述初始运算种群进行聚类;
适应度计算模块13,用于利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
个体筛选模块14,用于根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
交叉计算模块15,用于从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
个体变异模块16,用于从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
收敛判断模块17,用于判断所述目标种群是否达到预设收敛条件;
迭代控制模块18,用于若所述收敛判断模块17判定所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至模块12继续迭代;
目标个体确定模块19,用于若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
第三方面,本申请公开了一种基因序列优化设备,包括处理器和存储器;
其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现前述的基因序列优化方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的基因序列优化方法。
可见,本申请先随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列,然后对所述初始运算种群进行聚类,之后利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算,并根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群,然后从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类,以及从所述目标种群中随机选择出第二预设数量个所述个体进行变异,之后判断所述目标种群是否达到预设收敛条件,若所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并继续迭代,若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。这样,通过对迭代种群进行聚类,能够实现种群收敛,准确的获得稳定的多极值解,从而有效的优化基因序列。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种基因序列优化方法流程图;
图2为本申请公开的一种蛋白质-DNA相互作用示意图;
图3为本申请公开的一种具体的基因序列优化方法流程图;
图4为本申请公开的一种具体的函数优化效果示意图;
图5为本申请公开的一种具体的基因序列优化方法流程图;
图6为本申请公开的一种具体的基因序列优化方法流程图;
图7为本申请公开的一种具体的基因序列优化方法流程图;
图8为本申请公开的一种基因序列优化装置结构示意图;
图9为本申请公开的一种基因序列优化设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,对于DNA序列的多极值优化问题,存在自适应遗传算法、人工免疫算法、小生境粒子群优化等算法,来搜寻多峰函数的极值。但目前存在的优化算法存在一些不足,主要有以下四点:(1)多维度情况下难以收敛;(2)早熟收敛于局部极值解而丢失全局最优解;(3)种群个数无法控制,获得结果不稳定;(4)算法复杂,参数过多,先验条件过多,适用场景受限。为此,本申请提供了一种基因序列优化方案,能够实现种群收敛,准确的获得稳定的多极值解,从而有效的优化基因序列。
参见图1所示,本申请实施例公开了一种基因序列优化方法,包括:
步骤S11:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列。
在具体的实施方式中,本申请实施例可以先确定编码方式,本实施例本文采用DNA编码对应四进制编码的编码方式,四进制编码一方面可直接对应DNA序列,将来可以方便地与DNA计算相结合,另一方面相比于二进制所要求的基因长度有所简化。具体的,可以采用格雷码,需要指出的是,以雷码对个体基因进行编码,在聚类时得到的个体汉明距离更接近,空间上也更有意义,从序列中也可直接比较两组基因的相似性。
需要指出的是,在现有技术中,通常最自然的方式是选取标准二进制编码。但二进制编码在数值计算时存在不连续的问题。例如,按自然数递增计数,若采用二进制码,则数(或基因)0111变到1000时四位均要变化,而在实际上两者其实很接近。这种编码的个体进行计算本身没有问题,但是对于聚类操作会引入人为的错误。因此,本实施例可采用格雷码对种群中的个体进行编码,这样编码可以按一定顺序变化。格雷码是一种具有反射特性和循环特性的单步自补码,其循环和单步特性消除了随机取数时出现重大错误的可能。而由于格雷码是一种变权码,每一位码没有固定的大小,很难直接进行比较大小和算术运算,因此可以根据具体需求,经过一次码变换,变成自然二进制码,进行相应的运算。二进制码转格雷码的公式为:其中,G为格雷码,B为二进制码,i表示第i位,通过该公式可以从对应的n位二进制码字中直接得到n位格雷码。格雷码解码转为二进制码的公式为:在转变成格雷码后,可再将普通格雷码编码成DNA码的形式,G对应二进制00,T对应01,A对应10,C对应11。具体视体系大小和具体情况是否进行三种码之间的换算。
步骤S12:对所述初始运算种群进行聚类。
在一种具体的实施方式中,本实施例可以利用K-means(即K均值聚类算法)算法对所述初始运算种群进行聚类。
在另一种具体的实施方式中,本实施例可以利用DBSCAN(即Density-BasedSpatial Clustering of Applications with Noise,对噪声鲁棒的基于密度的空间聚类算法)算法对所述初始运算种群进行聚类。
需要指出的是,这两种聚类方法各有优势,其中K-means的优势是计算快速,仅需额外引入一个参数(聚类数目K),而DBSCAN的优势在于算法基于密度,不需预先设定聚类的数目,对非凸函数仍然有效。在实际应用中,K-means的K通过平行设置多组参数测试得到;DBSCAN中的密度半径设置也通过平行设置多组参数得到(一般设置为0.5),最小类数目设置为种群的5%。
也即,本申请实施例可以通过预设聚类算法将基因相似的个体聚为一类。
步骤S13:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算。
需要指出的是,蛋白质-DNA相互作用一般可以通过分子对接、蒙特卡罗、分子动力学等方法进行计算机模拟研究。其中,相互作用的强弱可通过打分函数计算,很多情况下需要通过优化蛋白质-DNA相互作用的打分函数,来寻找合适的DNA序列。可以采用如下形式的打分函数的:
其中,E为相互作用能量,即打分函数,也就要优化的目标函数。i对应DNA中每一个基本单元(生物学上指碱基,对于计算机来说就是四进制编码),j对应蛋白质的每一个基本单元(生物学上指氨基酸,对计算机来说是一种函数形式)。A,B,C,a,b均为系数,r为DNA和蛋白质相互作用距离,q为带电量。
需要指出的是本申请实施例对打分函数的具体形式不做限定,可以根据具体应用场景应用不同的打分函数。
例如,参见图2所示,本申请实施例公开了一种蛋白质-DNA相互作用示意图。
步骤S14:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群。
在具体的实施方式中,本申请实施例可以在每一个聚类中筛选出第三预设数量个第二目标个体;所述第二目标个体的适应度高于当前聚类中其他个体;在筛选出所述第二目标个体后,利用轮盘赌方法从所述初始运算种群中的其他个体中筛选出第三目标个体,得到所述目标种群;所述目标种群包括所述第二目标个体和所述第三目标个体。
也即,本实施例可以将精英选择策略与轮盘赌策略结合根据适应度的大小筛选种群。具体的,可以将每一组聚类中适应度最高的前5%的个体筛选出并保留,其余个体使用轮盘赌的方法,以一定概率保留到下一代,其保留的概率为
本实施例为模式定理和积木块假设,模式定理如下:
需要指出的是每一个模式可以理解成一个积木块,遗传算法通过积木块,在遗传操作作用下相互结合,筛选遵循模式定理,使其在不依赖于梯度等高阶信息的情况下依然可以接近全局最优解。也即,本实施例最终可以实现收敛。
步骤S15:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类。
在具体的实施方式中,本申请实施例可以从种群中选择出第一预设数量个个体组,对个体组中的两个个体按照一定的方式相互交换部分基因。效仿生殖隔离的概念,交叉只发生在同一聚类中的两个个体间,而不会发生在不同聚类之间。比如,选择种群中20%的个体进行交叉运算。
步骤S16:从所述目标种群中随机选择出第二预设数量个所述个体进行变异。
在具体的实施方式中,本实施例可以从种群中以一定概率随机选出一些个体,对这些个体中随机选出的某一位基因进行变异。
步骤S17:判断所述目标种群是否达到预设收敛条件。
步骤S18:若所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代。
步骤S19:若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
在具体的实施方式中,本实施例可以将确定出的第一目标个体放置于待优化基因序列的对应位置上,从而实现基因序列的优化。
例如,参见图3所示,图3为本申请实施例公开的一种具体的基因序列优化方法流程图。
并且,本实施例可以对多峰函数体系进行测试,以验证本方案对各类复杂的蛋白质-DNA打分函数均可实现优化,找到合适的DNA序列。本实施例优化DNA序列的方法,可以稳定获得多个极值点,且性能较好。按照本方案,以下面三种二维函数为例,进行两个维度优化DNA序列的测试:
Peaks函数:
Roots函数:
Schaffers函数:
其中,三种函数中的x,y均为对应的基因片段。
参见图4所示,图4为本申请公开的一种具体的函数优化效果示意图,为采用本实施例提供的方案,三种函数优化20轮以后的结果。为便于分析,采用了三种测试多峰函数优化常用的示意函数作为打分函数,且将DNA序列转化成二进制精确到小数点后第二位的浮点数。若优化至收敛或终止后(将终止条件设定为迭代100轮),结果将收敛至一个(或几个)点上。为便于观察,图5仅展示优化20轮的结果。其中,每一列对应一个函数,分别为Peaks函数、Roots函数、Schaffers函数。
本实施可以实现多极值打分函数求解。经分析可知经典遗传算法ClassicalGA(Genetic Algorithm,遗传算法)对Peaks函数只能找到最优解,丢失次优的两个峰,而对Roots函数的优化则只能随机获得六个峰值中的一个,对Schaffers函数获得的解与峰面积有关,峰面积越宽,获得解的概率越高,峰面积小时会丢失解;本实施例提供的方法可以命名为Clust-DNA/GA,包括K-means/遗传算法(K-means/GA)和DBSCAN/遗传算法(DNSCAN/GA),其中,K-means/遗传算法可以正确获得前两个函数的全部极值解,但对非凸的Schaffers函数则无能为力;DBSCAN/遗传算法则可以稳定搜索到三种函数的全部极值解。
参见表一所示,表一为以DNSCAN/GA为例搜寻到的Peaks函数极值情况表。
参见表二所示,表二为Clust-DNA/GA方案测试Peaks函数对应的分析表。
参见表三所示,表三为Clust-DNA/GA方案测试Roots函数对应的分析表。
参见表四所示,表四为Clust-DNA/GA方案测试Schaffers函数对应的分析表。
表一
第一极值点 | 第二极值点 | 第三极值点 | |
极值解 | (-0.01,1.58) | (-0.46,0.63) | (1.29,0.00) |
极大值 | 8.11 | 3.78 | 3.59 |
表二
算法 | 计算时间 | 迭代次数 | 寻峰个数 | 准确率 |
GA | 506.1s | 100 | 1 | 33.3% |
K-means/GA | 523.6s | 100 | 3 | 100% |
DBSCAN/GA | 529.7s | 100 | 3 | 100% |
表三
算法 | 计算时间 | 迭代次数 | 寻峰个数 | 准确率 |
GA | 432.7s | 100 | 1 | 16.6% |
K-means/GA | 459.2s | 100 | 6 | 100% |
DBSCAN/GA | 461.8s | 100 | 6 | 100% |
表四
算法 | 计算时间 | 迭代次数 | 寻峰个数 | 准确率 |
GA | 891.5s | 100 | 1 | 59.1% |
K-means/GA | 929.3s | 100 | 3 | 54.5% |
DBSCAN/GA | 937.6s | 100 | 11 | 100% |
可见,Clust-DNA/GA方法在计算时间未明显提升的情况下,寻峰准确率远超经典遗传算法,达到100%寻峰的效果。并且,本实施例提供的方法,迭代速度较快,可以收敛且结果稳定,在多种测试体系中不会发生早熟。本实施例在结构上实现将机器学习方法与遗传算法结合,大大增加了遗传算法的应用场景,为其与降维、聚类乃至神经网络等算法的直接结合提供具体思路。
可以理解的是,本实施例首次提出了将聚类与DNA启发式遗传算法结合的方案,在结构上将两者有机结合,实现对蛋白质-DNA打分函数的多极值优化。该方案可用于DNA序列搜索,也可用于数值优化。并且,在聚类算法结合遗传算法的实现方法中,本实施例采用格雷码使聚类可以更准确地执行,随后再解码完成适应度计算,使之与遗传算法衔接。进一步的,聚类结果使用精英选择策略筛选,使聚类的信息得以在进化中被保留,其余种群通过使用轮盘赌筛选构建,使遗传算法可以发挥其优胜劣汰的优势。也即,本申请实施例以DNA酶在天然环境中对特定模式的DNA序列筛选为启发,借鉴生物进化中生殖隔离的概念,采用聚类与遗传算法结合的方法,通过聚类算法对每一代种群进行相似度计算,并将每一类中的最优个体保留至下一代,实现种群分类进化,完成蛋白质-DNA相互作用打分函数的多极值优化。对于序列优化体系,通过DNA码直接聚类;对于数值优化体系,通过格雷码使聚类可以顺利实现。通过聚类获得潜在的多极值解,通过精英选择策略将聚类得到的结果保留,并发挥遗传算法优势进行筛选进化。
可见,本申请先随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列,然后对所述初始运算种群进行聚类,之后利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算,并根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群,然后从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类,以及从所述目标种群中随机选择出第二预设数量个所述个体进行变异,之后判断所述目标种群是否达到预设收敛条件,若所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并继续迭代,若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。这样,通过对迭代种群进行聚类,能够实现种群收敛,准确的获得稳定的多极值解,从而有效的优化基因序列。
参见图5所示,本申请实施例公开了一种具体的基因序列优化方法,包括:
步骤S21:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
步骤S22:对所述初始运算种群进行聚类;
步骤S23:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
步骤S24:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
步骤S25:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
步骤S26:从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
步骤S27:判断所述目标种群的进化代数是否达到预设代数阈值;
步骤S28:若所述目标种群的进化代数未达到所述预设代数阈值,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代;
步骤S29:若所述目标种群的进化代数达到所述预设代数阈值,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
也即,本实施例可以将目标种群满足收敛的条件设置为目标种群的进化代数达到预设代数阈值,若所述目标种群的进化代数达到所述预设代数阈值,则判定所述目标种群满足预设收敛条件。
参见图6所示,本申请实施例公开了一种具体的基因序列优化方法,包括:
步骤S31:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
步骤S32:对所述初始运算种群进行聚类;
步骤S33:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
步骤S34:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
步骤S35:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
步骤S36:从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
步骤S37:判断所述目标种群对应的目标差值是否小于预设差值阈值;其中,所述目标差值为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的二进制差值计算得到的差值;所述二进制差值为利用个体对应的二进制码计算得到的差值。
在一种具体的实施方式中,本实施例可以先计算当前目标种群中所有个体与上一代目标种群中对应的个体之间的二进制差值,然后计算全部二进制差值的均值,得到所述目标差值。
在另一种具体的实施方式中,本实施例可以计算当前目标种群中所有个体与上一代目标种群中对应的个体的二进制码的MSE(即mean squared error,均方误差)。
步骤S38:若所述目标种群对应的目标差值大于或等于所述预设差值阈值,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代;
步骤S39:若所述目标种群对应的目标差值小于所述预设差值阈值,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
也即,本实施例可以将目标种群满足收敛的条件设置为目标种群对应的目标差值小于预设差值阈值,若所述目标差值小于所述预设差值阈值,则判定所述目标种群满足预设收敛条件。
参见图7所示,本申请实施例公开了一种具体的基因序列优化方法,包括:
步骤S41:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
步骤S42:对所述初始运算种群进行聚类;
步骤S43:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
步骤S44:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
步骤S45:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
步骤S46:从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
步骤S47:判断所述目标种群对应的格雷码位差异数量是否小于预设位差阈值;其中,所述格雷码位差异数量为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的格雷码位差异确定的位差数量。
在具体的实施方式中,本实施例可以先计算当前目标种群中所有个体与上一代目标种群中对应的个体之间的存在格雷码差异的差异位数,然后求所有差异位数的均值,得到所述格雷码位差异数量。
步骤S48:若所述目标种群对应的格雷码位差异数量大于或等于所述预设位差阈值,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代;
步骤S49:若所述目标种群对应的格雷码位差异数量小于所述预设位差阈值,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
也即,本实施例可以将目标种群满足收敛的条件设置为格雷码位差异数量小于预设位差阈值,若所述目标种群对应的格雷码位差异数量小于所述预设位差阈值,则判定所述目标种群满足预设收敛条件。
参见图8所示,本申请实施例公开了一种基因序列优化装置,包括:
初代种群生成模块11,用于随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
种群聚类模块12,用于对所述初始运算种群进行聚类;
适应度计算模块13,用于利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
个体筛选模块14,用于根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
交叉计算模块15,用于从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
个体变异模块16,用于从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
收敛判断模块17,用于判断所述目标种群是否达到预设收敛条件;
迭代控制模块18,用于若所述收敛判断模块17判定所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至模块12继续迭代;
目标个体确定模块19,用于若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体。
在一种具体的实施方式中,所述种群聚类模块12,具体用于利用K-means算法对所述初始运算种群进行聚类。
在另一种具体的实施方式中,所述种群聚类模块12,具体用于利用DBSCAN算法对所述初始运算种群进行聚类。
在第一种具体的实施方式中,所述收敛判断模块17,具体用于判断所述目标种群的进化代数是否达到预设代数阈值。
在第二种具体的实施方式中,所述收敛判断模块17,具体用于判断所述目标种群对应的目标差值是否小于预设差值阈值;
其中,所述目标差值为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的二进制差值计算得到的差值;所述二进制差值为利用个体对应的二进制码计算得到的差值。
在第三种具体的实施方式中,所述收敛判断模块17,具体用于判断所述目标种群对应的格雷码位差异数量是否小于预设位差阈值;
其中,所述格雷码位差异数量为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的格雷码位差异确定的位差数量。
所述个体筛选模块14,具体用于在每一个聚类中筛选出第三预设数量个第二目标个体;所述第二目标个体的适应度高于当前聚类中其他个体;在筛选出所述第二目标个体后,利用轮盘赌方法从所述初始运算种群中的其他个体中筛选出第三目标个体,得到所述目标种群;所述目标种群包括所述第二目标个体和所述第三目标个体。
参见图9所示,本申请实施例公开了一种基因序列优化设备,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例公开的基因序列优化方法。
关于上述基因序列优化方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的基因序列优化方法。
关于上述基因序列优化方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种基因序列优化方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种基因序列优化方法,其特征在于,包括:
步骤S11:随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
步骤S12:对所述初始运算种群进行聚类;
步骤S13:利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
其中,所述打分函数为:
步骤S14:根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
步骤S15:从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
步骤S16:从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
步骤S17:判断所述目标种群是否达到预设收敛条件;
步骤S18:若所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至步骤S12继续迭代;
步骤S19:若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体;
其中,所述根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群,包括:
在每一个聚类中筛选出第三预设数量个第二目标个体;所述第二目标个体的适应度高于当前聚类中其他个体;在筛选出所述第二目标个体后,利用轮盘赌方法从所述初始运算种群中的其他个体中筛选出第三目标个体,得到所述目标种群;所述目标种群包括所述第二目标个体和所述第三目标个体。
2.根据权利要求1所述的基因序列优化方法,其特征在于,所述对所述初始运算种群进行聚类,包括:
利用K-means算法对所述初始运算种群进行聚类。
3.根据权利要求1所述的基因序列优化方法,其特征在于,所述对所述初始运算种群进行聚类,包括:
利用DBSCAN算法对所述初始运算种群进行聚类。
4.根据权利要求1所述的基因序列优化方法,其特征在于,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群的进化代数是否达到预设代数阈值。
5.根据权利要求1所述的基因序列优化方法,其特征在于,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群对应的目标差值是否小于预设差值阈值;
其中,所述目标差值为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的二进制差值计算得到的差值;所述二进制差值为利用个体对应的二进制码计算得到的差值。
6.根据权利要求5所述的基因序列优化方法,其特征在于,所述判断所述目标种群是否达到预设收敛条件,包括:
判断所述目标种群对应的格雷码位差异数量是否小于预设位差阈值;
其中,所述格雷码位差异数量为基于当前目标种群中所有个体与上一代目标种群中对应的个体之间的格雷码位差异确定的位差数量。
7.一种基因序列优化装置,其特征在于,包括:
初代种群生成模块11,用于随机生成初代种群,将所述初代种群作为初始运算种群,进行迭代运算;其中,所述初代种群中的个体均为目标基因序列对应的格雷码;所述目标基因序列为待优化基因序列中多个基因片段组成的序列;
种群聚类模块12,用于对所述初始运算种群进行聚类;
适应度计算模块13,用于利用蛋白质与基因相互作用打分函数对所述初始运算种群中的每个所述个体进行适应度计算;
其中,所述打分函数为:
个体筛选模块14,用于根据聚类结果从所述初始运算种群中筛选出满足预设条件的所述个体,得到目标种群;
交叉计算模块15,用于从所述目标种群中选择出第一预设数量个个体组进行交叉计算;其中,所述个体组包括两个个体,并且,任一所述个体组中的两个个体均属于同一聚类;
个体变异模块16,用于从所述目标种群中随机选择出第二预设数量个所述个体进行变异;
收敛判断模块17,用于判断所述目标种群是否达到预设收敛条件;
迭代控制模块18,用于若所述收敛判断模块17判定所述目标种群未达到所述预设收敛条件,则将当前目标种群确定为初始运算种群,并跳转至模块12继续迭代;
目标个体确定模块19,用于若所述目标种群达到所述预设收敛条件,则停止迭代,并从所述目标种群中确定出第一目标个体,以实现对所述待优化基因序列的优化;其中,所述第一目标个体包括每一个聚类中适应度最高的个体;
其中,所述个体筛选模块14,还用于在每一个聚类中筛选出第三预设数量个第二目标个体;所述第二目标个体的适应度高于当前聚类中其他个体;在筛选出所述第二目标个体后,利用轮盘赌方法从所述初始运算种群中的其他个体中筛选出第三目标个体,得到所述目标种群;所述目标种群包括所述第二目标个体和所述第三目标个体。
8.一种基因序列优化设备,其特征在于,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的基因序列优化方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基因序列优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010589258.5A CN111883208B (zh) | 2020-06-24 | 2020-06-24 | 一种基因序列优化方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010589258.5A CN111883208B (zh) | 2020-06-24 | 2020-06-24 | 一种基因序列优化方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111883208A CN111883208A (zh) | 2020-11-03 |
CN111883208B true CN111883208B (zh) | 2022-07-05 |
Family
ID=73156914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010589258.5A Active CN111883208B (zh) | 2020-06-24 | 2020-06-24 | 一种基因序列优化方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111883208B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446603A (zh) * | 2016-09-29 | 2017-02-22 | 福州大学 | 基于改进pso算法的基因表达数据聚类方法 |
CN109765890A (zh) * | 2019-01-14 | 2019-05-17 | 哈尔滨工程大学 | 一种基于遗传算法的多usv群体协同避碰规划方法 |
CN110930182A (zh) * | 2019-11-08 | 2020-03-27 | 中国农业大学 | 基于改进粒子群优化算法的客户分类方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014152990A1 (en) * | 2013-03-14 | 2014-09-25 | University Of Rochester | System and method for detecting population variation from nucleic acid sequencing data |
-
2020
- 2020-06-24 CN CN202010589258.5A patent/CN111883208B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446603A (zh) * | 2016-09-29 | 2017-02-22 | 福州大学 | 基于改进pso算法的基因表达数据聚类方法 |
CN109765890A (zh) * | 2019-01-14 | 2019-05-17 | 哈尔滨工程大学 | 一种基于遗传算法的多usv群体协同避碰规划方法 |
CN110930182A (zh) * | 2019-11-08 | 2020-03-27 | 中国农业大学 | 基于改进粒子群优化算法的客户分类方法及装置 |
Non-Patent Citations (2)
Title |
---|
Regulatory Motif Discovery Using a Population Clustering Evolutionary Algorithm;Michael A. Lones 等;《IEEE》;20070731;第403-414页 * |
基于K-Means变异算子的混合遗传算法聚类研究;耿跃 等;《计算机工程与应用》;20111231;第151-154页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111883208A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467528B2 (en) | Accelerated TR-L-BFGS algorithm for neural network | |
CN102413029B (zh) | 基于分解的局部搜索多目标复杂动态网络社区划分方法 | |
US8700548B2 (en) | Optimization technique using evolutionary algorithms | |
CN105303450A (zh) | 基于谱聚类改进交叉的复杂网络社区发现方法 | |
CN110021340B (zh) | 一种基于卷积神经网络和规划动态算法的rna二级结构生成器及其预测方法 | |
Poladian et al. | Multi-objective evolutionary algorithms and phylogenetic inference with multiple data sets | |
CN113705793A (zh) | 决策变量确定方法及装置、电子设备和介质 | |
Lamiable et al. | An algorithmic game-theory approach for coarse-grain prediction of RNA 3D structure | |
CN112836794B (zh) | 一种图像神经架构的确定方法、装置、设备及存储介质 | |
CN108509764B (zh) | 一种基于遗传属性约简的古生物谱系演化分析方法 | |
CN111883208B (zh) | 一种基因序列优化方法、装置、设备及介质 | |
CN112053006A (zh) | 基于迁移学习的冷热电联供系统优化时间加速方法及系统 | |
CN116305939A (zh) | 陆地生态系统碳水通量高精度反演方法、系统及电子设备 | |
CN115620046A (zh) | 一种基于半监督性能预测器的多目标神经架构搜索方法 | |
CN115168326A (zh) | Hadoop大数据平台分布式能源数据清洗方法及系统 | |
Akey Sungheetha | An efficient clustering-classification method in an information gain NRGA-KNN algorithm for feature selection of micro array data | |
Bi | A genetic-based EM motif-finding algorithm for biological sequence analysis | |
Du et al. | A modified niche genetic algorithm based on evolution gradient and its simulation analysis | |
Minhaz et al. | Solution of a Classical Cryptarithmetic Problem by using parallel genetic algorithm | |
Luo et al. | A two-step penalized regression method with networked predictors | |
CN113741482B (zh) | 一种基于异步遗传算法的多智能体路径规划方法 | |
Chen et al. | Context quantization based on the modified genetic algorithm with K-means | |
Wang | Nested differential evolution for mixed-integer bi-level optimization for genome-scale metabolic networks | |
Chapman et al. | Using multiple criteria optimization and two‐stage genetic algorithms to select a population management strategy with optimized reliability | |
CN117519244B (zh) | 无人机集群协同探测多目标的路径规划方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |