本发明涉及dna计算及生物工程的技术领域,尤其是涉及一种基于模糊优先性的dna编码序列设计方法及装置。
背景技术:
正常的dna(deoxyribonucleicacid,脱氧核糖核酸)生化反应要求严苛的a-t碱基配对、g-c碱基配对,如果出现不完全互补的dna序列形成双链分子(假阳性)或者完全互补的dna序列在反应过程中由于种种原因而没有链接(假阴性),就会发生dna计算的失败以及dna生化反应的失控等严重后果。为了满足dna计算、医学和生物工程领域对非特异性dna编码序列的需求,需要事先对参与dna生化反应的dna序列进行特定的编码设计。这些经过精心设计的dna编码序列能够尽可能的保障形成完整的a-t碱基配对、g-c碱基配对,以避免假阳性和假阴性的发生。
针对dna编码序列设计的问题,通常采用基于pareto优先性的多目标优化方法采用某种多目标优化算法(比如非支配排序遗传算法、多目标差分进化算法等),获取一组pareto最优解。该方法原理上能够实现dna编码序列问题的多目标优化,但是生成的最终结果是一组pareto最优解,而实际工程往往只需要一个最终解,因此该方法往往还需要针对所有的pareto最优解,采用某种辅助决策程序(比如权重法),根据决策偏好或决策准则从pareto最优解集中提取出一个最终解来应用于工程实践中。此外,工程实践中,对各优化目标重要性的“模糊”判断是一种常见的表现形式,比如“重要”、“一般”、“不太重要”等,在这种情况下,采用需要确定的权重关系的决策方法将不能准确反映决策者的真实意图。
综上所述,现有的dna编码序列多目标设计方法存在不能直接得出最优解,并且得到的最优解准确性差的技术问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于模糊优先性的dna编码序列设计方法及装置,以缓解现有的dna编码序列多目标设计方法存在不能直接得出最优解,并且得到的最优解准确性差的技术问题。
第一方面,本发明实施例提供了一种基于模糊优先性的dna编码序列设计方法,包括:获取当前dna编码序列总集合,其中,所述当前dna编码序列总集合包括n个dna编码序列集合,每一个所述dna编码序列集合包括d个dna编码序列;对所述当前dna编码序列总集合进行多目标模糊优先性计算,进而得到所述n个dna编码序列集合在当前进化过程中的模糊优先值;如果当前进化代数等于预设进化代数,则将所述模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。
第二方面,本发明实施例还提供一种基于模糊优先性的dna编码序列设计装置,包括:获取模块,用于获取当前dna编码序列总集合,其中,所述当前dna编码序列总集合包括n个dna编码序列集合,每一个所述dna编码序列集合包括d个dna编码序列;计算模块,用于对所述当前dna编码序列总集合进行多目标模糊优先性计算,进而得到所述n个dna编码序列集合在当前进化过程中的模糊优先值;确定模块,如果当前进化代数等于预设进化代数,则将所述模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。
在本发明实施例中,首先获取当前dna编码序列总集合,其中,当前dna编码序列总集合包括n个dna编码序列集合,每一个dna编码序列集合包括d个dna编码序列;然后对当前dna编码序列总集合进行多目标模糊优先性计算,进而得到n个dna编码序列集合在当前进化过程中的模糊优先值;如果当前进化代数等于预设进化代数,则将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。通过上述描述可知,在本实施例中,能够对当前dna编码序列总集合进行多目标模糊优先性计算,得到多个模糊优先值,将达到预设进化代数时最小的模糊优先值所对应的dna编码序列作为目标dna编码序列集合,不仅可以直接得到目标dna编码序列集合,并且得到的目标dna编码序列集合更加准确,缓解了现有的dna编码序列多目标设计方法不能直接得出最优解,并且得到的最优解准确性差的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于模糊优先性的dna编码序列设计方法的流程图;
图2为本发明实施例提供的一种可选地基于模糊优先性的dna编码序列设计方法的流程图;
图3为本发明实施例提供的dna编码序列存在一定长度的反向互补序列时的结构示意图;
图4为本发明实施例提供的利用轮盘赌的选择机制选择母系dna编码序列集合y的示意图;
图5为本发明实施例提供的本发明与现有技术中汉明距离单目标优化方法、随机法进行性能对比的示意图;
图6为本发明实施例提供的一种基于模糊优先性的dna编码序列设计装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1是根据本发明实施例的一种基于模糊优先性的dna编码序列设计方法的流程图,如图1所示,该方法包括如下步骤:
步骤s12,获取当前dna编码序列总集合,其中,当前dna编码序列总集合包括n个dna编码序列集合,每一个dna编码序列集合包括d个dna编码序列;
具体的,首先获取当前dna编码序列总集合,当前dna编码序列总集合由n个dna编码序列集合组成,并且每一个dna编码序列集合由d个dna编码序列组成。
步骤s14,对当前dna编码序列总集合进行多目标模糊优先性计算,进而得到n个dna编码序列集合在当前进化过程中的模糊优先值;
获取到当前dna编码序列总集合后,要对当前dna编码序列总集合进行多目标模糊优先性计算,得到当前dna编码序列总集合中每一个dna编码序列集合在当前进化过程中的模糊优先值,下文中再对当前dna编码序列总集合进行多目标模糊优先性计算的过程进行详细介绍。
步骤s16,如果当前进化代数等于预设进化代数,则将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。
具体的,得到当前dna编码序列总集合中每一个dna编码序列集合在当前进化过程中的模糊优先值后,如果当前进化代数等于预设进化代数,就将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。
在本发明实施例中,首先获取当前dna编码序列总集合,其中,当前dna编码序列总集合包括n个dna编码序列集合,每一个dna编码序列集合包括d个dna编码序列;然后对当前dna编码序列总集合进行多目标模糊优先性计算,进而得到n个dna编码序列集合在当前进化过程中的模糊优先值;如果当前进化代数等于预设进化代数,则将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。通过上述描述可知,在本实施例中,能够对当前dna编码序列总集合进行多目标模糊优先性计算,得到多个模糊优先值,将达到预设进化代数时最小的模糊优先值所对应的dna编码序列作为目标dna编码序列集合,不仅可以直接得到目标dna编码序列集合,并且得到的目标dna编码序列集合更加准确,缓解了现有的dna编码序列多目标设计方法不能直接得出最优解,并且得到的最优解准确性差的技术问题。
上述内容对本发明的基于模糊优先性的dna编码序列设计方法进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。
在本实施例中,如图2所示,方法还包括如下步骤:
步骤s18,如果当前进化代数小于预设进化代数,则将当前dna编码序列总集合进行迭代更新,直至达到预设进化代数。
具体的,得到当前dna编码序列总集合中每一个dna编码序列集合在当前进化过程中的模糊优先值后,如果当前进化代数小于预设进化代数,则需要将当前dna编码序列总集合进行迭代更新,直至达到预设进化代数。下文中将对当前dna编码序列总集合进行迭代更新的过程进行详细描述。
进一步的,当当前dna编码序列总集合为空集合时,获取当前dna编码序列总集合包括如下步骤:
步骤s21,随机生成n个dna编码序列集合x,其中,dna编码序列集合x中的每一个dna编码序列xi的长度为|xi|,i=[1,2,…d];
具体的,随机生成n个dna编码序列集合x,并且每一个dna编码序列集合x包含d个dna编码序列,每一个dna编码序列xi的长度为|xi|,i=[1,2,…d]。
步骤s22,将n个dna编码序列集合x作为当前dna编码序列总集合。
将n个dna编码序列集合x作为当前dna编码序列总集合,dxt表示当前dna编码序列总集合,此时,当前进化代数t=0。
上述内容对当当前dna编码序列总集合为空集合时进行了详细介绍,下面对当前dna编码序列总集合进行多目标模糊优先性计算的过程进行详细描述。
在本发明的一个可选实施方式中,对当前dna编码序列总集合进行多目标模糊优先性计算包括如下步骤:
步骤s31,对当前dna编码序列总集合dxt中的每一个dna编码序列集合
首先求解当前dna编码序列总集合dxt中的每一个dna编码序列集合
为了便于理解,下面举例说明,将当前dna编码序列总集合dxt中第1个dna编码序列集合
步骤s32,将精确目标值矩阵转化为三角模糊数形式的目标值矩阵
具体的,将精确目标值矩阵f转化为三角模糊数形式的目标值矩阵
步骤s33,对三角模糊数形式的目标值矩阵进行归一化操作,得到归一化的三角模糊数形式的目标值矩阵
在得到三角模糊数形式的目标值矩阵
为了便于理解,下面举例说明,如果精确目标值矩阵第1列的值分别为f11=10,f21=20,f31=30,则
步骤s34,将hp二级结构性能,连续性性能和汉明距离性能的偏好信息按照预设映射规则映射为对应的三角模糊数集合
具体的,将采用自然语言描述的对hp二级结构性能,连续性性能和汉明距离性能的偏好信息映射为相应的三角模糊数集合
为了便于理解,下面举例说明三角模糊数集合的取值,如果对hp二级结构性能,连续性性能和汉明距离性能的偏好信息分别为重要,一般,一般,那么
步骤s35,基于算式
基于算式
为了便于理解,下面举例说明模糊效用矩阵
步骤s36,计算模糊效用矩阵
具体的,得到模糊效用矩阵后,基于算式
为了便于理解,下面举例说明计算模糊效用矩阵
步骤s37,基于算式
得到当前dna编码序列总集合dxt的模糊理想解
步骤s38,将n个欧式距离作为n个dna编码序列集合在当前进化过程中的模糊优先值。
上述内容对当前dna编码序列总集合进行多目标模糊优先性计算的过程进行了详细介绍,下面对当前dna编码序列总集合dxt中的每一个dna编码序列集合
在本发明的一个可选实施方式中,对当前dna编码序列总集合dxt中的每一个dna编码序列集合
基于算式
具体的,当dna编码序列存在有一定长度的反向互补序列时,就会形成如图3所示的结构,所以针对含有d条dna序列的dna编码序列集合
显然,fs1越小,dna编码序列集合
上述内容对当前dna编码序列总集合dxt中的每一个dna编码序列集合
在本发明的一个可选实施方式中,对当前dna编码序列总集合dxt中的每一个dna编码序列集合
基于算式
具体的,当dna编码序列中某一碱基连续出现的次数过多时(比如“aaaaaa”)会导致dna分子结构的不稳定,容易造成配对错位,使杂交反应不能得到良好的控制,所以必须对dna编码序列中连续碱基出现的次数加以控制,以尽量减小连续碱基出现的次数。
基于算式
显然,fs2越小表示dna编码序列集合
上述内容对当前dna编码序列总集合dxt中的每一个dna编码序列集合
在本发明的一个可选实施方式中,对当前dna编码序列总集合dxt中的每一个dna编码序列集合
基于算式
具体的,汉明距离性能指的是任意两个dna编码序列中相对应位置上的碱基应尽可能的不同,以确保dna编码序列之间相似度尽可能的小。基于算式
其中,第一相似参量遵循如下计算规则
显然,fs3越小表示dna编码序列集合中任意两条dna编码序列之间的相似度越小。
上述内容对当前dna编码序列总集合dxt中的每一个dna编码序列集合
在本发明的一个可选实施方式中,将当前dna编码序列总集合进行迭代更新包括如下步骤:
步骤s41,基于算式
具体的,在得到当前dna编码序列总集合dxt中每一个dna编码序列集合的欧式距离后,基于算式
步骤s42,利用轮盘赌的选择机制从当前dna编码序列总集合中确定母系dna编码序列集合y,其中,轮盘赌的选择机制中,dna编码序列集合在轮盘中所占角度大小与dna编码序列集合被选中的概率相关;
具体的,在进化过程中,所有的dna编码序列集合
步骤s43,采用交叉操作算式
具体的,确认母系dna编码序列集合y后,采用交叉操作算式
为了便于对交叉操作过程的理解,下面进行举例说明:
对当前dna编码序列总集合中第1个dna编码序列集合的第1个dna编码序列
步骤s44,基于交叉操作后的dna编码序列总集合确定更新后的dna编码序列总集合,并将更新后的dna编码序列总集合作为当前dna编码序列总集合进行迭代更新。
下文中将对基于交叉操作后的dna编码序列总集合确定更新后的dna编码序列总集合的过程进行详细描述,确定了更新后的dna编码序列总集合后,将其作为当前dna编码序列总集合以供下一代进化过程使用。
上述内容对当前dna编码序列总集合进行迭代更新的过程进行了详细介绍,下面对基于交叉操作后的dna编码序列总集合确定更新后的dna编码序列总集合的过程进行详细描述。
在本发明的一个可选实施方式中,基于交叉操作后的dna编码序列总集合确定更新后的dna编码序列总集合包括:
采用变异操作的算式
具体的,在得到交叉操作后的dna编码序列总集合后,采用变异操作的算式
为了便于对变异操作过程的理解,下面进行举例说明:
对交叉操作后的dna编码序列总集合中第1个dna编码序列集合
发明人对本发明的方法进行了验证:设定dna编码序列总集合中共有50个dna编码序列集合,每一个dna编码序列集合包含10条长度为20的dna编码序列,预设进化代数为200,设定hp二级结构性能,连续性性能和汉明距离性能同等重要,最终得到的目标dna编码序列集合的hp二级结构性能、连续性性能、汉明距离性能如图5所示。
为了进一步验证本发明的性能,将本发明与现有技术中汉明距离单目标优化方法、随机法进行了对比。得到的目标dna编码序列集合的性能如图5所示。由图5可知,汉明距离单目标优化方法取得了最优的汉明距离,但是连续性和hp二级结构性能却很差。随机方法的hp二级结构性能、连续性性能和汉明距离性能都比较差。本发明仅仅在汉明距离性能方面比汉明距离单目标优化方法差,在其余两个性能指标方面均得到了最优结果,表明了本发明能够生产优异的dna编码序列集合。此外,本发明能够处理模糊权重信息,这也是本发明较其他多目标优化方法的优势之一。
综上所述,本发明具有以下优点:
1.能够直接得出一个最优的dna编码序列集合,不需要再使用额外的辅助决策程序进行最优dna编码序列集合的挑选;
2.能够直接处理模糊权重关系,不需要确定的权重关系;
3.不需要非支配排序等耗时的计算过程,算法效率较高。
实施例二:
本发明实施例还提供了一种基于模糊优先性的dna编码序列设计装置,该基于模糊优先性的dna编码序列设计装置主要用于执行本发明实施例上述内容所提供的基于模糊优先性的dna编码序列设计方法,以下对本发明实施例提供的基于模糊优先性的dna编码序列设计装置做具体介绍。
图6是根据本发明实施例的一种基于模糊优先性的dna编码序列设计装置的示意图,如图6所示,该基于模糊优先性的dna编码序列设计装置主要包括获取模块10,计算模块20,确定模块30,其中:
获取模块,用于获取当前dna编码序列总集合,其中,当前dna编码序列总集合包括n个dna编码序列集合,每一个dna编码序列集合包括d个dna编码序列;
计算模块,用于对当前dna编码序列总集合进行多目标模糊优先性计算,进而得到n个dna编码序列集合在当前进化过程中的模糊优先值;
确定模块,如果当前进化代数等于预设进化代数,则将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。
在本发明实施例中,首先获取当前dna编码序列总集合,其中,当前dna编码序列总集合包括n个dna编码序列集合,每一个dna编码序列集合包括d个dna编码序列;然后对当前dna编码序列总集合进行多目标模糊优先性计算,进而得到n个dna编码序列集合在当前进化过程中的模糊优先值;如果当前进化代数等于预设进化代数,则将模糊优先值中最小的模糊优先值所对应的dna编码序列集合作为目标dna编码序列集合。通过上述描述可知,在本实施例中,能够对当前dna编码序列总集合进行多目标模糊优先性计算,得到多个模糊优先值,将达到预设进化代数时最小的模糊优先值所对应的dna编码序列作为目标dna编码序列集合,不仅可以直接得到目标dna编码序列集合,并且得到的目标dna编码序列集合更加准确,缓解了现有的dna编码序列多目标设计方法不能直接得出最优解,并且得到的最优解准确性差的技术问题。
可选地,该装置还包括:
更新模块,如果当前进化代数小于预设进化代数,则将当前dna编码序列总集合进行迭代更新,直至达到预设进化代数。
可选地,当当前dna编码序列总集合为空集合时,获取模块还用于:
随机生成n个dna编码序列集合x,其中,dna编码序列集合x中的每一个dna编码序列xi的长度为|xi|,i=[1,2,…d];
将n个dna编码序列集合x作为当前dna编码序列总集合。
可选地,计算模块包括:
第一矩阵单元,用于对当前dna编码序列总集合dxt中的每一个dna编码序列集合
第二矩阵单元,用于将精确目标值矩阵转化为三角模糊数形式的目标值矩阵
第三矩阵单元,用于对三角模糊数形式的目标值矩阵进行归一化操作,得到归一化的三角模糊数形式的目标值矩阵
映射单元,用于将hp二级结构性能,连续性性能和汉明距离性能的偏好信息按照预设映射规则映射为对应的三角模糊数集合
第四矩阵单元,用于基于算式
第一计算单元,用于计算模糊效用矩阵
第二计算单元,用于基于算式
第一确定单元,用于将n个欧式距离作为n个dna编码序列集合在当前进化过程中的模糊优先值。
可选地,第一矩阵单元还用于:
基于算式
可选地,第一矩阵单元还用于:
基于算式
可选地,第一矩阵单元还用于:
基于算式
可选地,更新模块包括:
第三计算单元,用于基于算式
第二确定单元,用于利用轮盘赌的选择机制从当前dna编码序列总集合中确定母系dna编码序列集合y,其中,轮盘赌的选择机制中,dna编码序列集合在轮盘中所占角度大小与dna编码序列集合被选中的概率相关;
交叉单元,用于采用交叉操作算式
第三确定单元,用于基于交叉操作后的dna编码序列总集合确定更新后的dna编码序列总集合,并将更新后的dna编码序列总集合作为当前dna编码序列总集合进行迭代更新。
可选地,第三确定单元,还用于:
采用变异操作的算式
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的基于模糊优先性的dna编码序列设计装置,与上述实施例提供的基于模糊优先性的dna编码序列设计方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的进行基于模糊优先性的dna编码序列设计方法及装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,通信连接可以是通过一些通信接口,装置或单元的通信连接,可以是电性,机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。