一种基因序列识别方法、系统和计算机可读存储介质与流程

文档序号:18295164发布日期:2019-07-31 09:14阅读:189来源:国知局
一种基因序列识别方法、系统和计算机可读存储介质与流程

本发明涉及机器学习和生物信息技术领域,尤其涉及一种基因序列识别方法、系统和计算机可读存储介质。



背景技术:

目前,生物信息学的研究主要针对基因和蛋白质数据,包括序列、结构等方面的分析研究。然而,由于数据巨大的规模和极高的复杂性,如果没有有效的算法,就会导致求解过程花费大量时间,甚至成为无法解决的难题。同源性是预测基因和蛋白质功能的主要线索,而序列同源性的判断则离不开两个或多个序列之间相似性的检测。一般来说,序列间的相似度越高,它们是同源序列的可能性就越高。

序列比对无疑是评估序列相似性的最简单方法。现有的序列比对检测工具主要包括blast(basiclocalalignmentsearchtool)、hmmer等。blast用于各种核苷酸序列,蛋白质序列等在数据库内与已知数据的比对检索,可以找出相似的序列,用于蛋白质和核酸等的功能结构预测分析。hmmer被用于在序列数据库中搜索同源序列,产生同源序列比对,所使用的方法是基于隐马尔科夫模型。hmmer常常与profile数据库连用,例如pfam等,与blast等序列比对和数据库搜索工具相比,hmmer更准确,并可以检测到远的同源序列。然而,上述两种检测工具主要基于cpu,计算速度较慢。另外,上述两种检测工具基于固定的算法,并不具备学习特性,难以通过其他软件数据完成自身优化。



技术实现要素:

为了解决上述至少一个技术问题,本发明提出了一种基因序列识别方法、系统和计算机可读存储介质。

为了实现上述目的,本发明第一方面提出了一种基因序列识别方法,包括:

获取训练数据集;

对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

本方案中,所述基因序列识别方法,还包括:

获取初始训练数据集;

对所述初始训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到初始数据模型;

接收待识别的基因序列数据,并将其置入所述初始数据模型,以生成基因序列识别结果信息。

本方案中,在得到初始数据模型之后,还包括:

获取第三方平台的分类数据;

通过预设的合并规则,将所述分类数据与初始训练数据集合并以形成融合训练数据集;

对所述融合训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待分类未知基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

本方案中,在生成基因序列识别结果信息之后,还包括:

判断所述基因序列识别结果信息的可信度。

进一步的,所述深度学习框架包括卷积层和池化层,所述深度学习框架采用gpu进行加速运算。

进一步的,所述输入矩阵为双层矩阵,第一层矩阵采用一对一编码模式获取,第二层矩阵采用物化性质编码模式获取。

本发明第二方面还提出一种基因序列识别系统,所述基因序列识别系统包括:存储器及处理器,所述存储器中包括一种基因序列识别方法程序,所述基因序列识别方法程序被所述处理器执行时实现如下步骤:

获取训练数据集;

对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

本方案中,所述基因序列识别方法程序被所述处理器执行时还实现如下步骤:

获取初始训练数据集;

对所述初始训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到初始数据模型;

接收待识别的基因序列数据,并将其置入所述初始数据模型,以生成基因序列识别结果信息。

本方案中,在得到初始数据模型之后,还包括:

获取第三方平台的分类数据;

通过预设的合并规则,将所述分类数据与初始训练数据集合并以形成融合训练数据集;

对所述融合训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待分类未知基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基因序列识别方法程序,所述基因序列识别方法程序被处理器执行时,实现如上述的一种基因序列识别方法的步骤。

本发明通过获取训练数据集;对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。本发明直接利用深度学习的“学习”特性,从源头开始对识别方法的优化,使识别结果随数据集的增加与完善变得更为准确,且单次分析即可获得多种算法的优势,有效提高了识别精度。同时,本发明的深度学习框架可以通过gpu进行加速运算,缩短识别时间。另外,本发明还通过学习其他不同软件的分类数据,生成融合数据模型,实现对复杂基因序列的进一步识别分类的参考。

本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1示出了本发明一种基因序列识别方法的流程图;

图2示出了本发明基于初始数据模型的基因序列识别方法的流程图;

图3示出了本发明基于可成长数据模型的基因序列识别方法的流程图;

图4示出了本发明一种基因序列识别系统的框图;

图5示出了本发明一种基于深度学习的基因序列识别方法的流程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明基于深度学习方法,将未知基因序列与可成长数据模型中已分类基因序列作对比,主要针对拥有大量突变的未知基因序列进行识别。

图1示出了本发明一种基因序列识别方法的流程图。

如图1所示,本发明第一方面提出一种基因序列识别方法,包括:

s102,获取训练数据集;

s104,对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;

s106,将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

s108,接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

需要说明的是,本发明的技术方案可以在pc、手机、pad等终端设备中进行操作。

需要说明的是,所述可成长数据模型中的“成长”含义主要体现在以下方面:一、引入已有分类的新数据;二、引入新的分类;三、增加特定分类数据比例,以改变识别的偏向性。

需要说明的是,本发明基于深度学习方法,将未知基因序列与可成长数据模型中已分类基因序列作对比,主要针对拥有大量突变的未知基因序列进行识别。

需要说明的是,可以采用转码器将基因序列数据转化为深度学习框架的输入矩阵,所述转码器由一对一直接转码与基因序列对应蛋白性质转码两种模式构成解码矩阵。

需要说明的是,所述深度学习框架是一种包括可变参数的多层卷积层和池化层的混合框架结构。卷积层,其主要用于特征提取,第一层卷积层可能只能提取一些低级的特征,如连续几个蛋白残基排序与组合信息等层级,更多层的网路能从低级特征中迭代提取更复杂的特征,如提取较长片段的组合信息的特征。池化层,起主要用于特征提取与合并,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性,针对特征蛋白序列在整段序列中的迁移与变形。卷积层与池化层操作主要包括两种方法的单次使用与多次复用以及形成的衍生操作组合。

优选的,所述深度学习框架可以为caffe、tensorflow、keras的任意一种,但不限于此。

需要说明的是,由于深度学习是模拟人脑神经系统而建立的数学网络模型,该模型的最大特点是,需要大数据来训练。因此,对计算机处理器的要求,则是需要大量的并行的重复计算。鉴于gpu具有如下特点:1、提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算;2、拥有更高的访存速度;3、更高的浮点运算能力。因此,所述深度学习框架可以采用gpu进行加速运算,并将运算过程分解为模型生成与基因序列识别两个部分,可以理解的是,模型生成用时较长,但基因序列识别用时很短。作大型数据服务时,可以使用预先准备好的数据库,让后续识别服务的速度得以极大提高。

图2示出了本发明基于初始数据模型的基因序列识别方法的流程图。

如图2所示,所述基因序列识别方法,还包括:

s202,获取初始训练数据集;

s204,对所述初始训练数据集的数据进行转码处理,以生成对应的输入矩阵;

s206,将所述输入矩阵置入深度学习框架中进行训练,以得到初始数据模型;

s208,接收待识别的基因序列数据,并将其置入所述初始数据模型,以生成基因序列识别结果信息。

需要说明的是,初始训练数据集完全由本系统提供,其并未融合其他软件的分类数据。

图3示出了本发明基于可成长数据模型的基因序列识别方法的流程图。

如图3所示,在得到初始数据模型之后,还包括:

s302,获取第三方平台的分类数据;

s304,通过预设的合并规则,将所述分类数据与初始训练数据集合并以形成融合训练数据集;

s306,对所述融合训练数据集的数据进行转码处理,以生成对应的输入矩阵;

s308,将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

s310,接收待分类未知基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

需要说明的是,所述第三方平台可以为blast、hmmer的一种或两种。但不限于此。

需要说明的是,计算精度同时依赖数据库中基因序列分类的准确性与深度学习框架的有效性,因此,可以结合第三方平台的分类数据制作融合训练数据集,从而使得单次分析就可以获得多种算法的优势。

需要说明的是,通过初始训练数据集直接获得初始训练模型与总分类数后,借用已有其他软件识别方法获得的分类数据,在一定合并规则下形成新训练集进行训练。在不断获取新训练集后循环该过程,使得已有的训练模型不断成长。新训练集数据分类信息来源于本深度学习方法与其他软件识别方法结果的组合,且组合方式采用基于e-value值的排序与全局或局部调整。

可以理解,在软件应用的技术方面,本发明直接利用深度学习的“学习”特性,在源头就开始对识别方法的优化,使识别结果随数据库增加与完善变得更为准确。在数据库构建的技术方面,本发明通过学习其他不同软件的分类数据,生成融合数据模型,完成更复杂的识别分类。

根据本发明的实施例,在生成基因序列识别结果信息之后,还包括:

判断所述基因序列识别结果信息的可信度。

需要说明的是,本发明使用损失值及其相关变形作为所述基因序列识别结果信息可信度的判断标准。

根据本发明的实施例,所述输入矩阵为双层矩阵,第一层矩阵采用一对一编码模式获取,第二层矩阵采用物化性质编码模式获取。

可以理解,本发明的数据转码方式灵活多变,即可以使用一对一直接转码模式,也可以使用物理化学性质转码模式。另外,本发明还可以通过合并矩阵与增加矩阵维度方式生成新的转码模式。

图4示出了本发明一种基因序列识别系统的框图。

如图4所示,本发明第二方面还提出一种基因序列识别系统4,所述基因序列识别系统4包括:存储器41及处理器42,所述存储器41中包括一种基因序列识别方法程序,所述基因序列识别方法程序被所述处理器42执行时实现如下步骤:

获取训练数据集;

对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

需要说明的是,本发明的技术方案可以在pc、手机、pad等终端设备中进行操作。

需要说明的是,所述可成长数据模型中的“成长”含义主要体现在以下方面:一、引入已有分类的新数据;二、引入新的分类;三、增加特定分类数据比例,以改变识别的偏向性。

需要说明的是,所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

需要说明的是,本发明基于深度学习方法,将未知基因序列与可成长数据模型中已分类基因序列作对比,主要针对拥有大量突变的未知基因序列进行识别。

需要说明的是,可以采用转码器将基因序列数据转化为深度学习框架的输入矩阵,所述转码器由一对一直接转码与基因序列对应蛋白性质转码两种模式构成解码矩阵。

需要说明的是,所述深度学习框架是一种包括可变参数的多层卷积层和池化层的混合框架结构。卷积层,其主要用于特征提取,第一层卷积层可能只能提取一些低级的特征,如连续几个蛋白残基排序与组合信息等层级,更多层的网路能从低级特征中迭代提取更复杂的特征,如提取较长片段的组合信息的特征。池化层,起主要用于特征提取与合并,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性,针对特征蛋白序列在整段序列中的迁移与变形。卷积层与池化层操作主要包括两种方法的单次使用与多次复用以及形成的衍生操作组合。

优选的,所述深度学习框架可以为caffe、tensorflow、keras的任意一种,但不限于此。

需要说明的是,由于深度学习是模拟人脑神经系统而建立的数学网络模型,该模型的最大特点是,需要大数据来训练。因此,对计算机处理器的要求,则是需要大量的并行的重复计算。鉴于gpu具有如下特点:1、提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算;2、拥有更高的访存速度;3、更高的浮点运算能力。因此,所述深度学习框架可以采用gpu进行加速运算,并将运算过程分解为模型生成与基因序列识别两个部分,可以理解的是,模型生成用时较长,但基因序列识别用时很短。作大型数据服务时,可以使用预先准备好的数据库,让后续识别服务的速度得以极大提高。

根据本发明的实施例,所述基因序列识别系统还包括:

转码器单元,其用于将序列信息转化为深度学习框架输入矩阵,该转码器由一对一直接转码与基因序列对应蛋白性质转码两种模式构成解码矩阵;

多层卷积构成的深度学习框架单元,其包含可变参数的多层卷积层与池化层的混合框架结构;

模型训练单元,主要包括模型训练时的各种参数(如单次读取的序列长度等)、所采用的数据输入格式与训练模型存储格式(如中间数据转换numpy的存储格式与模型h5存储格式);

未知基因序列识别单元,利用深度学习框架分类信息以对未知基因序列进行识别,还使用损失值及其相关变形作为识别结果可信度的判断。

根据本发明的实施例,所述基因序列识别方法程序被所述处理器执行时还实现如下步骤:

获取初始训练数据集;

对所述初始训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到初始数据模型;

接收待识别的基因序列数据,并将其置入所述初始数据模型,以生成基因序列识别结果信息。

需要说明的是,初始训练数据集完全由本系统提供,其并未融合其他软件的分类数据。

根据本发明的实施例,在得到初始数据模型之后,还包括:

获取第三方平台的分类数据;

通过预设的合并规则,将所述分类数据与初始训练数据集合并以形成融合训练数据集;

对所述融合训练数据集的数据进行转码处理,以生成对应的输入矩阵;

将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;

接收待分类未知基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。

需要说明的是,所述第三方平台可以为blast、hmmer的一种或两种。但不限于此。

需要说明的是,计算精度同时依赖数据库中基因序列分类的准确性与深度学习框架的有效性,因此,可以结合第三方平台的分类数据制作融合训练数据集,从而使得单次分析就可以获得多种算法的优势。

需要说明的是,通过初始训练数据集直接获得初始训练模型与总分类数后,借用已有其他软件识别方法获得的分类数据,在一定合并规则下形成新训练集进行训练。在不断获取新训练集后循环该过程,使得已有的训练模型不断成长。新训练集数据分类信息来源于本深度学习方法与其他软件识别方法结果的组合,且组合方式采用基于e-value值的排序与全局或局部调整。

可以理解,在软件应用的技术方面,本发明直接利用深度学习的“学习”特性,在源头就开始对识别方法的优化,使识别结果随数据库增加与完善变得更为准确。在数据库构建的技术方面,本发明通过学习其他不同软件的分类数据,生成融合数据模型,完成更复杂的识别分类。

根据本发明的实施例,在生成基因序列识别结果信息之后,还包括:

判断所述基因序列识别结果信息的可信度。

需要说明的是,本发明使用损失值及其相关变形作为所述基因序列识别结果信息可信度的判断标准。

根据本发明的实施例,所述输入矩阵为双层矩阵,第一层矩阵采用一对一编码模式获取,第二层矩阵采用物化性质编码模式获取。

可以理解,本发明的数据转码方式灵活多变,即可以使用一对一直接转码模式,也可以使用物理化学性质转码模式。另外,本发明还可以通过合并矩阵与增加矩阵维度方式生成新的转码模式。

本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基因序列识别方法程序,所述基因序列识别方法程序被处理器执行时,实现如上述的一种基因序列识别方法的步骤。

为了更好的解释本发明的技术方案,下面将通过一个实施例进行详细说明。

如图5所示,首先,准备一份最初分类数据集a。

第一步,对数据集a中的数据进行打标签处理,并将原始序列剪切成固定长度片段,优选的,固定长度片段可以为500氨基酸长度序列。

第二步,对剪切成固定长度序列进行转码处理,可以采用一对一编码和物化性质编码两种转码方式,并将两种转码方式分别写入一个双层矩阵。

第三步,基于深度学习方法进行模型训练,将上述双层矩阵转换为待学习矩阵,将待学习矩阵输入深度学习框架以进行模型训练,得到初步训练的模型,所述深度学习框架包括卷积层、池化层、dropout层、flatten层、dense层。

第四步,优化模型并基于模型对待分类未知数据进行预测/识别,将最初分类数据集a与其他软件的学习数据1、学习数据2等进行融合,以得到融合数据集,将所述融合数据集作为输入,重复第一步至第三步的流程,以优化初步训练的模型,并形成最终模型,然后,将待分类未知数据置入最终模型,所述最终模型给出预测/识别标签值;可以理解,初步训练的模型也可以直接作为预测/识别的最终模型。

本发明通过获取训练数据集;对所述训练数据集的数据进行转码处理,以生成对应的输入矩阵;将所述输入矩阵置入深度学习框架中进行训练,以得到可成长数据模型;接收待识别的基因序列数据,并将其置入所述可成长数据模型,以生成基因序列识别结果信息。本发明直接利用深度学习的“学习”特性,从源头开始对识别方法的优化,使识别结果随数据集的增加与完善变得更为准确,且单次分析即可获得多种算法的优势,有效提高了识别精度。同时,本发明的深度学习框架可以通过gpu进行加速运算,缩短识别时间。另外,本发明还通过学习其他不同软件的分类数据,生成融合数据模型,实现对复杂基因序列的进一步识别分类的参考。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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