一种基因编码序列的优化方法及装置与流程

文档序号:11729634阅读:322来源:国知局
一种基因编码序列的优化方法及装置与流程

本发明涉及利用计算机优化基因编码序列技术领域,具体涉及一种基因编码序列的优化方法及装置。



背景技术:

基因编码序列(codingsequence,简称为cds)是编码一段蛋白产物的序列,是结构基因组学术语,dna转录成mrna,mrna经剪接等加工后翻译出蛋白质,所谓cds就是与蛋白质序列一一对应的dna序列,且该序列中间不含其它非该蛋白质对应的序列,不考虑mrna加工等过程中的序列变化,总之,就是与蛋白质的密码子完全对应。

为了能够得到更优的基因表达,往往需要对基因编码序列进行优化。然而,现有技术中的优化方式,往往是不定向的,也即是无法根据用户的需求进行定向优化,需要反复优化才能满足用户需求,导致优化效率低。



技术实现要素:

本发明要解决的技术问题在于现有技术中无法根据用户的需求进行定向优化,需要反复优化才能满足用户需求,优化效率低,从而提供一种基因编码序列的优化方法及装置。

本发明实施例的一方面,提供了一种基因编码序列的优化方法,包括:生成m个基因编码序列,作为初代群体p(0),其中,m为大于1的整数;采用如下公式计算当代群体中每个基因编码序列的适应度:

其中,n表示根据用户需求设置的用于计算每个基因编码序列的适应度的参数的数量,n大于等于2,ni表示第i个参数对应的值,wi表示第i个参数对应的权重;判断是否达到终止计算条件;当未达到所述终止计算条件时,对第t代群体p(t)中每个基因编码序列采用选择、交叉、变异运算,得到第t+1代群体p(t+1),返回执行计算当代群体中每个基因编码序列的适应度的步骤,t取0、1、2…;当达到所述终止计算条件时,选择适应度最大的基因编码序列作为优化后的基因编码序列。

可选地,所述n大于或等于5,计算基因编码序列的适应度的公式具体为:

f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5

其中,n1=∑fsc/m,m表示对应基因编码序列中密码子的数量,fsc表示对应基因编码序列中单个密码子的适应度,w1表示其权重;n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示对应基因编码序列中用户期望出现的序列的总长度,patscoreup对应基因编码序列中用户不期望出现的序列的总长度,w2表示对应的权重;n3表示对应基因编码序列中gc含量,w3表示其权重;n4表示对应基因编码序列中每个密码子第三个位置出现gc的比率,w4表示其权重;n5表示基因编码序列二级结构的最小自由能,w5表示其权重。

可选地,判断是否达到终止计算条件包括:判断群体的进化代数是否达到最大代数;当所述群体的进化代数未达到所述最大代数时,确定为未达到终止计算条件;当所述群体的进化代数达到所述最大代数时,确定为达到所述终止计算条件。

可选地,判断是否达到所述终止计算条件包括:判断连续j代群体的基因编码序列的适应度的提高值是否均小于预设阈值,其中,j为大于等于2的整数;当连续j代群体的基因编码序列的适应度的提高值均大于或等于所述预设阈值,确定为未达到所述终止计算条件;当连续j代群体的基因编码序列的适应度的提高值均小于所述预设阈值,确定为达到所述终止计算条件。

可选地,在选择适应度最大的基因编码序列作为优化后的基因编码序列之后,还包括:将所述优化后的基因编码序列中重复的序列去除。

本发明实施例的一方面,提供了一种基因编码序列的优化装置,包括:序列生成单元,用于生成m个基因编码序列,作为初代群体p(0),其中,m为大于1的整数;计算单元,用于采用如下公式计算当代群体中每个基因编码序列的适应度:

其中,n表示根据用户需求设置的用于计算每个基因编码序列的适应度的参数的数量,n大于等于2,ni表示第i个参数对应的值,wi表示第i个参数对应的权重;判断单元,用于判断是否达到终止计算条件;群体生成单元,用于当未达到所述终止计算条件时,对第t代群体p(t)中每个基因编码序列采用选择、交叉、变异运算,得到第t+1代群体p(t+1),返回执行计算当代群体中每个基因编码序列的适应度的步骤,t取0、1、2…;选择单元,用于当达到所述终止计算条件时,选择适应度最大的基因编码序列作为优化后的基因编码序列。

可选地,所述n大于或等于5,计算基因编码序列的适应度的公式具体为:

f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5

其中,n1=∑fsc/m,m表示对应基因编码序列中密码子的数量,fsc表示对应基因编码序列中单个密码子的适应度,w1表示其权重;n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示对应基因编码序列中用户期望出现的序列的总长度,patscoreup对应基因编码序列中用户不期望出现的序列的总长度,w2表示对应的权重;n3表示对应基因编码序列中gc含量,w3表示其权重;n4表示对应基因编码序列中每个密码子第三个位置出现gc的比率,w4表示其权重;n5为基因编码序列二级结构的最小自由能,w5表示其权重。

可选地,所述判断单元包括:第一判断模块,用于判断群体的进化代数是否达到最大代数;第一确定模块,用于当所述群体的进化代数未达到所述最大代数时,确定为未达到终止计算条件;第二确定模块,用于当所述群体的进化代数达到所述最大代数时,确定为达到所述终止计算条件。

可选地,所述判断单元包括:第二判断模块,判断连续j代群体的基因编码序列的适应度的提高值是否均小于预设阈值,其中,j为大于等于2的整数;第三确定模块,用于当连续j代群体的基因编码序列的适应度的提高值均大于或等于所述预设阈值,确定为未达到所述终止计算条件;第四确定模块,用于当连续j代群体的基因编码序列的适应度的提高值均小于所述预设阈值,确定为达到所述终止计算条件。

可选地,还包括:去除模块,在选择适应度最大的基因编码序列作为优化后的基因编码序列之后,将所述优化后的基因编码序列中重复的序列去除。

根据本发明实施例,通过采用遗传算法对基因编码序列进行优化,对于根据用户需求设置的参数采用加权求和的方式计算基因编码序列的适应度,从而使得优化后的基因编码序列满足用户的需求。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中基因编码序列的优化方法的一个具体示例的流程图;

图2为本发明实施例中基因编码序列的优化装置的一个具体示例的原理框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

本实施例提供一种基因编码序列的优化方法,需要说明的是,本发明实施例的优化方法是借助计算机程序来实现的优化方式,而非对实际基因编码序列进行拼接优化。本实施例中所述的基因编码序列的优化方法可以应用于计算机设备,如图1所示,包括:

步骤s101,生成m个基因编码序列,作为初代群体p(0),其中,m为大于1的整数。

先对优化过程初始化,可以随机生成至少一个基因编码序列,作为初代群体。以初代群体作为优化的基础数据,进行逐步优化。

步骤s102,采用如下公式计算当代群体中每个基因编码序列的适应度:

其中,n表示根据用户需求设置的用于计算每个基因编码序列的适应度的参数的数量,n大于等于2,ni表示第i个参数对应的值,wi表示第i个参数对应的权重。

对于当代群体包括经过选择、交叉、变异运算后得到的群体,例如,当从初代群体得到第1代群体后,该第1代群体作为当代群体,进行适应度计算,第2、3、4……代同理,不再赘述。

适应度是指在某种环境条件下,某已知基因型的个体将其基因传递到其后代基因库中的相对能力,是衡量个体存活和繁殖机会的尺度。也可以称为适合度,指生物体或生物群体对环境适应的量化特征,是分析估计生物所具有的各种特征的适应性,以及在进化过程中继续往后代传递的能力的指标。

本发明实施例中,对至少两个参数采用加权求和的方式计算得到相应个体的适应度,其中,每个计算参数均是用户根据需求所设置的,因此,计算得到的适应度最大的基因编码序列越满足用户的需求。另外,本实施例中,由于采用的是加权求和的方式进行计算,每个参数与适应度正相关,均对最终结果产生影响。当需要增加新的参数时,只需要重新确定权重参数,计算方式具有较强的扩展性,能够适应不同的用户和用户需求。

步骤s103,判断是否达到终止计算条件。

终止计算条件可以用于确定是否需要再做下一代的优化,表示优化终止的条件。

步骤s104,当未达到终止计算条件时,对第t代群体p(t)中每个基因编码序列采用选择、交叉、变异运算,得到第t+1代群体p(t+1),返回执行计算当代群体中每个基因编码序列的适应度的步骤,t取0、1、2…。

在未达到终止计算条件时,由当代群体生成下一代群体,具体地,将选择、交叉重组运算、变异运算应用于群体,生成下一代群体,也即是采用遗传算法实现基因编码序列的优化过程。其中,选择运算可以采用轮盘赌算法。生成下一代群体之后,再采用相同的公式计算出下一代群体的适应度,也即是计算每一代群体的适应度,以便于从中选出最优的基因编码序列。

步骤s105,当达到终止计算条件时,选择适应度最大的基因编码序列作为优化后的基因编码序列。

当达到终止计算条件时,由于已经对每一代群体中的每个基因编码序列计算出对应的适应度,因此,可以从中确定出适应度最大的基因编码序列,作为优化后的基因编码序列,也即是用户所需的基因编码序列。

根据本发明实施例,通过采用遗传算法对基因编码序列进行优化,对于根据用户需求设置的参数采用加权求和的方式计算基因编码序列的适应度,从而使得优化后的基因编码序列满足用户的需求。

作为一种可选的实施方式,本实施例中n大于或等于5,也即是,用于计算适应度的参数至少包括5个。其中,上述步骤s102中计算基因编码序列的适应度的公式具体为:

f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5

其中,n1=∑fsc/m,m表示对应基因编码序列中密码子的数量,fsc表示对应基因编码序列中单个密码子的适应度,w1表示其权重,也即是n1表示对应基因编码序列的密码子的平均适应度;

n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示对应基因编码序列中用户期望出现的序列的总长度,patscoreup对应基因编码序列中用户不期望出现的序列的总长度,w2表示对应的权重;

n3表示对应基因编码序列中gc含量,w3表示其权重;

n4表示对应基因编码序列中每个密码子第三个位置出现gc的比率,w4表示其权重,g表示鸟嘌呤,c表示胞嘧啶;

n5表示基因编码序列二级结构的最小自由能,w5表示其权重。其中,二级结构可以是发夹等二级结构。

根据本发明实施例,不仅考虑了单个密码子的共享,还考虑了gc含量、用户期望和不期望的序列、二级结构等重要特征,从而使计算结果符合用户的需求,具有更强的适应能力。

本发明实施例中,在计算适应度之前,将适应度函数的各指标参数进行标准化处理,从而使得各指标参数处于同一尺度上,避免由于各指标参数标准不一,导致各指标参数的贡献比例不平衡。

对于各指标参数的权重,可以通过数值模拟来实现。具体地,可以取多组权重值,对于每组值,对多条序列进行优化,然后统计优化序列的平均密码子使用频率、gc含量等,通过这种统计对比,可以得出一组合适的权重值,使得密码子的使用频率、gc含量等都达到理想的值。

作为一种可选实施方式,本发明实施例中判断是否达到终止计算条件包括:判断群体的进化代数是否达到最大代数;当群体的进化代数未达到最大代数时,确定为未达到终止计算条件;当群体的进化代数达到最大代数时,确定为达到终止计算条件。

本实施例中,设置最大进化代数,当进化的群体代数达到该最大代数时,停止进化;反之,则继续生成下一代群体。

作为另一种可替换的实施方式,本实施例中判断是否达到终止计算条件包括:判断连续j代群体的基因编码序列的适应度的提高值是否均小于预设阈值,其中,j为大于等于2的整数;当连续j代群体的基因编码序列的适应度的提高值均大于或等于预设阈值,表示基因编码序列还在进一步优化过程中,确定为未达到终止计算条件;当连续j代群体的基因编码序列的适应度的提高值均小于预设阈值,表示基因编码序列的优化程度逐渐降低,确定为达到终止计算条件。

本发明实施例可以以上述两种终止条件同时进行判断,以提高优化效率:

判断当前的进化代数是否到达了最大代数上限,并判断连续几代内最大适应度的提高是否小于某个阈值。若连续几代内最大适应度的提高大于或等于某个阈值,并且未达到最大代数上限,则确定其不满足终止计算条件;否则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。

作为一种可选的实施方式,本实施例中在选择适应度最大的基因编码序列作为优化后的基因编码序列之后,还包括:将优化后的基因编码序列中重复的序列去除。

对优化后的基因编码序列进行处理,将重复的基因编码序列删除,实现对基因编码序列的进一步精简优化。

本发明实施例提供了一种基因编码序列的优化装置,该装置可以用于执行本发明实施例的基因编码序列的优化方法,如图2所示,该优化装置包括:序列生成单元10、计算单元20、判断单元30、群体生成单元40和选择单元50。

序列生成单元10用于生成m个基因编码序列,作为初代群体p(0),其中,m为大于1的整数。

先对优化过程初始化,可以随机生成至少一个基因编码序列,作为初代群体。以初代群体作为优化的基础数据,进行逐步优化。

计算单元20用于采用如下公式计算当代群体中每个基因编码序列的适应度:

其中,n表示根据用户需求设置的用于计算每个基因编码序列的适应度的参数的数量,n大于等于2,ni表示第i个参数对应的值,wi表示第i个参数对应的权重。

对于当代群体包括经过选择、交叉、变异运算后得到的群体,例如,当从初代群体得到第1代群体后,该第1代群体作为当代群体,进行适应度计算,第2、3、4……代同理,不在赘述。

适应度是指在某种环境条件下,某已知基因型的个体将其基因传递到其后代基因库中的相对能力,是衡量个体存活和繁殖机会的尺度。也可以称为适合度,指生物体或生物群体对环境适应的量化特征,是分析估计生物所具有的各种特征的适应性,以及在进化过程中继续往后代传递的能力的指标。

本发明实施例中,对至少两个参数采用加权求和的方式计算得到相应个体的适应度,其中,每个计算参数均是用户根据需求所设置的,因此,计算得到的适应度最大的基因编码序列越满足用户的需求。另外,本实施例中,由于采用的是加权求和的方式进行计算,每个参数与适应度正相关,均对最终结果产生影响。当需要增加新的参数时,只需要重新确定权重参数,计算方式具有较强的扩展性,能够适应不同的用户和用户需求。

判断单元30用于判断是否达到终止计算条件。

终止计算条件可以用于确定是否需要再做下一代的优化,表示优化终止的条件。

群体生成单元40用于当未达到终止计算条件时,对第t代群体p(t)中每个基因编码序列的密码子采用选择、交叉、变异运算,得到第t+1代群体p(t+1),返回执行计算当代群体中每个基因编码序列的适应度的步骤,t取0、1、2…。

在未达到终止计算条件时,由当代群体生成下一代群体,具体地,将选择允许、交叉重组运算、变异运算应用于群体,生成下一代群体,也即是采用遗传算法实现基因编码序列的优化过程。其中,选择运算可以采用轮盘赌算法。生成下一代群体之后,再采用相同的公式计算出下一代群体的适应度,也即是计算每一代群体的适应度,以便于从中选出最优的基因编码序列。

选择单元50用于当达到终止计算条件时,选择适应度最大的基因编码序列作为优化后的基因编码序列。

当达到终止计算条件时,由于已经对每一代群体中的每个基因编码序列计算出对应的适应度,因此,可以从中确定出适应度最大的基因编码序列,作为优化后的基因编码序列,也即是用户所需的基因编码序列。

根据本发明实施例,通过采用遗传算法对基因编码序列进行优化,对于根据用户需求设置的参数采用加权求和的方式计算基因编码序列的适应度,从而使得优化后的基因编码序列满足用户的需求。

作为一种可选的实施方式,本实施例中n大于或等于5,也即是,用于计算适应度的参数至少包括5个。其中,计算基因编码序列的适应度的公式具体为:

f=w1·n1+w2·n2+w3·n3+w4·n4+w5·n5

其中,n1=∑fsc/m,m表示对应基因编码序列中密码子的数量,fsc表示对应基因编码序列中单个密码子的适应度,w1表示其权重,也即是n1表示对应基因编码序列的密码子的平均适应度;

n2=patscoredp/(1+patscoredp+patscoreup),其中,patscoredp表示对应基因编码序列中用户期望出现的序列的总长度,patscoreup对应基因编码序列中用户不期望出现的序列的总长度,w2表示对应的权重;

n3表示对应基因编码序列中gc含量,w3表示其权重;

n4表示对应基因编码序列中每个密码子第三个位置出现gc的比率,w4表示其权重,g表示鸟嘌呤,c表示胞嘧啶;

n5表示基因编码序列二级结构的最小自由能,w5表示其权重。

其中,二级结构可以是发夹等二级结构。

根据本发明实施例,不仅考虑了单个密码子的共享,还考虑了gc含量、用户期望和不期望的序列、二级结构等重要特征,从而使计算结果符合用户的需求,具有更强的适应能力。

本发明实施例中,在计算适应度之前,将适应度函数的各指标参数进行标准化处理,从而使得各指标参数处于同一尺度上,避免由于各指标参数标准不一,导致各指标参数的贡献比例不平衡。

对于各指标参数的权重,可以通过数值模拟来实现。具体地,可以取多组权重值,对于每组值,对多条序列进行优化,然后统计优化序列的平均密码子使用频率、gc含量等,通过这种统计对比,可以得出一组合适的权重值,使得密码子的使用频率、gc含量等都达到理想的值。

作为一种可选实施方式,本发明实施例中判断单元包括:第一判断模块,用于判断群体的进化代数是否达到最大代数;第一确定模块,用于当群体的进化代数未达到最大代数时,确定为未达到终止计算条件;第二确定模块,用于当群体的进化代数达到最大代数时,确定为达到终止计算条件。

本实施例中,设置最大进化代数,当进化的群体代数达到该最大代数时,停止进化;反之,则继续生成下一代群体。

作为另一种可替换的实施方式,本实施例中判断单元包括:第二判断模块,判断连续j代群体的基因编码序列的适应度的提高值是否均小于预设阈值,其中,j为大于等于2的整数;第三确定模块,用于当连续j代群体的基因编码序列的适应度的提高值均大于或等于预设阈值,表示基因编码序列还在进一步优化过程中,确定为未达到终止计算条件;第四确定模块,用于当连续j代群体的基因编码序列的适应度的提高值均小于预设阈值,表示基因编码序列的优化程度逐渐降低,确定为达到终止计算条件。

本发明实施例可以以上述两种终止条件同时进行判断,以提高优化效率:

判断当前的进化代数是否到达了最大代数上限,并判断连续几代内最大适应度的提高是否小于某个阈值。若连续几代内最大适应度的提高大于或等于某个阈值,并且未达到最大代数上限,则确定其不满足终止计算条件;否则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。

作为一种可选的实施方式,本实施例中优化装置还包括:去除模块,在选择适应度最大的基因编码序列作为优化后的基因编码序列之后,将优化后的基因编码序列中重复的序列去除。

对优化后的基因编码序列进行处理,将重复的基因编码序列删除,实现对基因编码序列的进一步精简优化。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本申请的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1