CN102841988B - 一种对核酸序列信息进行匹配的系统和方法 - Google Patents
一种对核酸序列信息进行匹配的系统和方法 Download PDFInfo
- Publication number
- CN102841988B CN102841988B CN201210263634.7A CN201210263634A CN102841988B CN 102841988 B CN102841988 B CN 102841988B CN 201210263634 A CN201210263634 A CN 201210263634A CN 102841988 B CN102841988 B CN 102841988B
- Authority
- CN
- China
- Prior art keywords
- nucleic acid
- acid sequence
- reference sequences
- database
- coupling
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及信息处理领域,提供了一种对核酸序列信息进行匹配的系统。所述系统包括数据库、参考序列变化单元、标记单元和匹配单元。所述数据库,用于存储参考序列;所述参考序列变换单元,用于对数据库中的参考序列进行BWT变换,得匹配参考序列;所述标记单元,用于对数据库中的匹配参考序列进行间隔标记;所述匹配单元,用于将核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。本发明还提供了一种对核酸序列信息进行匹配的方法。本发明的对核酸序列信息进行匹配的系统和方法能实现核酸序列信息与参考序列的快速匹配。
Description
技术领域
本发明涉及信息处理领域,更具体地说,涉及一种对核酸序列信息进行匹配的系统和方法。
背景技术
美国科学家于1985年提出人类基因组计划,经过美国、英国、法兰西共和国、德意志联邦共和国、日本和中国科学家的共同努力,于2000年完成了人类基因组“工作框架图”。并于2001年公布了人类基因组图谱及初步分析结果。其研究内容还包括创建计算机分析管理系统(也即通过计算机分析系统对测序的结果进行处理,得到核酸序列信息),检验相关的伦理、法律及社会问题。在人类基因组图谱公布后,国内外开始积极投入到各个生物种族的基因图谱绘制的工作中。利用核酸序列信息与已有的基因组图谱(参考序列)进行比较,通过转录物组学和蛋白质组学等相关技术对基因表达谱、基因突变等进行匹配分析,可获得与疾病相关基因的信息。通过核酸序列信息与基因组图谱进行匹配、分析,并揭秘患病的根源,已成为生化医疗领域高度关注的问题,全球的基因测序技术也因此发展的如火如荼,但要准确快速的从浩瀚的测序结果数据中得到基因信息,却成了当前基因测序技术发展的瓶颈。
对核酸序列信息进行匹配的系统是利用计算机对测序所得的核酸序列片段在已知的参考序列上进行匹配,也即一一比对,根据匹配的结果进行后续的分析。对核酸序列信息进行匹配的方法是基于对核酸序列信息进行匹配的系统对核酸序列信息进行匹配的过程。
现有技术中,一种对核酸序列信息进行匹配的方法,所述方法包括步骤:A、根据允许错配的个数n,将每条核酸序列片段分成至少n+1条参与匹配的短片段,得短片段的数据库;B、根据参与匹配的短片段的长度建立并存储参考序列索引,得数据库;C、把每条核酸序列片段分段建立的短片段分别单独在数据库中进行匹配,得匹配结果。因为参考序列索引是等长的,根据概率的原理,存在完全相同的多个参考序列索引。该技术方案中,每条参与匹配的短片段依次与参考序列索引进行匹配,短片段需要与所有的参考序列索引分别进行匹配(短片段需要分别与多个相同的参考序列索引进行匹配),这将大大降低信息处理的速度。并且参考序列和核酸序列均需要进行分段处理,这将进一步增加了信息处理的工作量,从而进一步降低了信息处理的速度。另外,参考序列建立的参考序列索引和核酸序列分段建立的短片段,将产生大量的信息,这将增加信息处理装置的存储空间。
因此需要一种新的对核酸序列信息进行匹配的系统和方法,能够实现核酸序列与参考序列快速匹配。
发明内容
本发明的目的在于提供一种对核酸序列信息进行匹配的系统和方法,旨在解决现有技术核酸序列信息与参考序列进行匹配时,速度慢的问题。
为了实现发明目的,一种对核酸序列信息进行匹配的系统包括数据库、参考序列变化单元、标记单元和匹配单元。所述数据库,用于存储参考序列;所述参考序列变换单元,用于对数据库中的参考序列进行BWT变换,得匹配参考序列;所述标记单元,用于对数据库中的匹配参考序列进行间隔标记;所述匹配单元,用于将核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
一致性匹配包括允许错配和不允许错配的情况。在允许N个错配的情况下,核酸序列片段至多有N个碱基与数据库中的匹配参考序列不一致称为一致性匹配;在不允许错配的情况下,核酸序列片段与数据库中的匹配参考序列完全一致称为一致性匹配。N为正整数。
其中,所述参考序列变换单元包括参考序列矩阵模块和BWT矩阵模块。所述参考序列矩阵模块,用于对在数据库中的参考序列末端或前端加上标识符,并将该参考序列循环移动,得参考序列矩阵;所述BWT矩阵模块,用于将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵。所述参考序列变换单元还可包括匹配参考序列模块,所述匹配参考序列模块,用于获取BWT参考序列矩阵第一列与最后一列,得匹配参考序列,并储存在数据库中。
其中,所述标记单元,用于对数据库中的匹配参考序列按照等差数列进行间隔标记。
进一步的,所述标记单元,还用于在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记。
上述任一技术方案中,所述匹配单元,用于将核酸序列片段反向互补形成反向互补核酸序列片段,并将反向互补核酸序列片段与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
其中,所述匹配单元,利用回溯法依次在反向互补核酸序列片段不能匹配的位置之前的位置上进行碱基替换,并从替换位置开始继续在数据库中进行匹配。
上述任一技术方案中,所述对核酸序列信息进行匹配的系统还包括信息接收单元;所述信息接收单元,用于通过USB接口或光盘驱动接口或INTERNET获取核酸序列片段和参考序列。
为了更好的实现本发明,本发明还包括一种对核酸序列信息进行匹配的方法。
所述方法包括步骤:A、对数据库中的参考序列进行BWT变换,得匹配参考序列,并将匹配参考序列存储在数据库中;B、对将数据库中的匹配参考序列进行间隔标记;C、将核酸序列片段依次分别与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。其中,数据库中存储有参考序列,步骤A和步骤B分别数据库中的参考序列进行变换。
一致性匹配包括允许错配和不允许错配的情况。在允许N个错配的情况下,核酸序列片段至多有N个碱基与数据库中的匹配参考序列不一致称为一致性匹配;在不允许错配的情况下,核酸序列片段与数据库中的匹配参考序列完全一致称为一致性匹配。N为正整数。
其中,所述步骤A包括:A1、对数据库中的参考序列末端或前端加上标识符,并将该参考序列经过循环移动,得参考序列矩阵;A2、将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵,并存储在数据库中。在步骤A2之后还可包括步骤A3、获取BWT参考序列矩阵第一列与最后一列,得匹配参考序列,并存储在数据库中。
其中,所述步骤B中,对数据库中的匹配参考序列按照等差数列进行间隔标记。
其中,所述步骤B中,在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记。
上述任一技术方案中,所述步骤C为,将核酸序列片段反向互补形成反向互补核酸序列片段,然后将反向互补核酸序列片段与数据库中的匹配参考序列中进行一致性匹配,得匹配核酸序列。
其中,所述步骤C中,在允许错配的情况下,利用回溯法依次在反向互补核酸序列片段不能匹配的位置之前的位置上进行碱基替换,并从替换位置继续在数据库上进行匹配。
由上可知,本发明通过核酸序列片段无需分段,直接与在数据库中进行匹配,同时,核酸序列片段无需与所有相同的匹配参考序列一一匹配,只需与所有相同的序列进行一次匹配即可,从而从整体上提高了信息处理的速度;另外,数据库中的参考序列无需建立参考序列索引,且数据库中的匹配参考序列无需一一标记,从而大大降低了对系统的存储空间的要求。
附图说明
图1是本发明一个实施例中对核酸序列信息进行匹配的系统的结构示意图。
图2是本发明另一个实施例中对核酸序列信息进行匹配的系统的结构示意图。
图3是本发明一个实施例中参考序列变换单元的结构示意图。
图4是本发明另一个实施例中参考序列变换单元的结构示意图。
图5是本发明一个实施例中核酸序列片段进行匹配的方法流程图。
图6是本发明另一个实施例中对核酸序列信息进行匹配的系统的结构示意图。
图7是本发明一个实施例中对参考序列进行变换的方法流程图。
图8是本发明一个实施例中对核酸序列片段进行匹配的方法流程图。
图9是本发明一个实施例中对核酸序列片段进行匹配的示意图。
图10是本发明一个实施例中对核酸序列片段进行匹配的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
为了说明本发明的技术方案的方便,以下实施例中的核酸序列片段和参考序列都只给出了较短碱基序列,其并不代表真正意义上的核酸序列片段和参考序列片段。一般核酸序列片段长度在20bp或以上,参考序列长度在2000bp或以上,当然这只是一般的情况,也存在核酸序列片段长度在20bp以下,参考序列长度在2000bp以下的情况。
本发明所述核酸序列片段一般可通过对某物种测序得到,也可通过人工合成得到,也即人工序列。所述参考序列为已知的核酸序列,其用于作为匹配的模板,核酸序列片段与参考序列进行匹配,根据匹配的情况可得到测序是否准确等信息。需要说明的是,本发明中的核酸序列片段无特殊限制,可包括由A、G、C、T或A、G、C、U等碱基组成的序列片段,如:ATTACGTTA、UUCCUCAAGGU等。
本发明提出第一实施例,如图1所示,对核酸序列信息进行匹配的系统包括数据库、参考序列变换单元、标记单元和匹配单元。以下将详细说明。
(1)数据库1,用于存储参考序列。
所述数据库中存储的参考序列可为存储在系统内部或者是存储在系统以外的参考序列。所述参考序列为碱基序列,也即核酸序列信息。该参考序列与核酸序列片段为同一物种的核酸序列信息,比如,核酸序列片段是对草履虫的核酸进行测序得到的,则对应的参考序列就为草履虫的核酸序列信息,也可以是人工序列所得的参考序列和核酸序列片段。对参考序列和核酸序列片段无特别限制,其中,参考序列为已知碱基序列。
(2)参考序列变换单元2,用于对数据库中的参考序列进行BWT变换,得匹配参考序列。
所述的BWT变换是Mike Burrows依据David Wheeler提出的变换思想,完善并成功应用于实际数据压缩的变换方法,该变换是目前无损压缩领域的研究热点。BWT是一种以数据块为操作对象的可逆的数据变换方法。
所述的参考序列变化单元,对数据库中的参考序列进行BWT变换后,得到的匹配参考序列,数据库中自动存储匹配参考序列。
(3)标记单元3,用于对数据库中的匹配参考序列进行间隔标记。
所述对数据库中的匹配参考序列进行间隔标记的方式不限,可以采用等差数列,或者其他数列进行有规律的间隔标记。该标记采用的数据类型可以根据需要来选择,比如Int、Byte等数据类型。
(4)匹配单元4,用于将核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
一致性匹配包括允许错配和不允许错配的情况。在允许N个错配的情况下,核酸序列片段至多有N个碱基与数据库中的匹配参考序列不一致称为一致性匹配;在不允许错配的情况下,核酸序列片段与数据库中的匹配参考序列完全一致称为一致性匹配。N为正整数。
所述核酸序列片段为存储在系统内部的核酸序列片段,或者存储在该系统以外的存储器上。将整条核酸序列片段直接与数据库中的匹配参考序列进行一致性匹配或者将整条核酸序列片段首尾同时与数据库中的匹配参考序列进行一致性匹配。所述的一致性匹配是指在允许有N个错配的情况下,整条核酸序列片段有至多N个不能与匹配参考序列匹配上,则认为该整条核酸序列片段匹配上,得到一条匹配核酸序列片段,否则,认为该核酸序列片段不能匹配上,舍弃该核酸序列片段。其他所有的核酸序列片段均按照此种方式在数据库中进行一致性匹配,然后得到匹配核酸序列。该匹配核酸序列可以以可读形式输出,也可以存储在系统中。当匹配核酸序列输出时,其输出的信息可包括每条核酸序列片段与参考序列对应的起始位置和终止位置,每条核酸序列片段错配的位置和错配的个数等信息。
本实施例中,本实施例中所述的对核酸序列信息进行匹配的系统可包括计算机和计算机上的对核酸序列信息进行匹配的程序。在对核酸序列信息进行匹配时,首先参考序列变换单元对数据库中的参考序列进行BWT变换,然后标记单元对数据库中经过BWT变换的参考序列进行间隔标记,最后匹配单元将核酸序列片段依次在数据库中进行一致性匹配。本实施例的技术方案中,通过整体核酸序列片段直接在数据库中进行一致性匹配,并且对于相同的匹配参考序列只匹配一次,从而提高了匹配的效率。同时,存储在数据库中的参考序列无需进行分段建立参考序列索引(假设参考序列索引长为K,则相邻两个参考序列索引中,前一个参考序列索引的后K-1个碱基和后一个参考序列索引前K-1个碱基完全相同),并且进行间隔标记,相对与现有技术,大大减少了存储空间。
基于第一实施例,本发明提出第二实施例,本发明的一种对核酸序列信息进行匹配的系统包括计算机和其上的对核酸序列信息进行匹配的程序,所述的计算机上还可包括对测序仪进行控制的程序。以下给出具体的说明,如图2所示。计算机与多台测序仪连接,该计算机接收测序仪所测得的测序数据,并对测序数据进行处理,得到核酸序列片段。其中,所述核酸序列片段可以市场上销售的任意的测序仪测序所得到的测序数据经过处理得到的核酸序列片段。优选的,所述核酸序列片段可以是通过对Pstar系列测序仪、MiSeq系列测序仪、GS Junior/Senior测序仪和SOLID测序仪测序产生的测序数据进行处理得到的核酸序列片段。更优选的,所述核酸序列片段可以通过对Pstar系列测序仪测序产生的测序数据进行处理得到的核酸序列片段。所述计算机为任意市场上销售的具有信息处理功能和数据存储功能的信息处理装置。
需要说明的是,本发明的计算机中的核酸序列片段可以为接收测序仪的测序数据,然后经过处理得到的核酸序列片段,也可以是计算机中直接存储或者计算机直接从外界接收的核酸序列片段,对核酸序列片段的来源无特殊限制。
下面将对上述实施例中的参考序列变换单元做进一步的详细说明,如图3所示,所述参考序列变换单元包括参考序列矩阵模块、BWT矩阵模块,以下将对各模块做详细说明。
(1)参考序列矩阵模块21,用于对数据库中的参考序列末端或前端添加标识符,并将该参考序列经过循环移动,得参考序列矩阵。
为了使参考序列矩阵模块的工作原理更容易理解,以下给出一示例。参考序列一般都较长,长度一般在几千到几亿之间,甚至更长。以下给出的示例仅仅是为了帮助理解,并不是真正意义上的参考序列。假设该参考序列为ACCACCTG,首先在参考序列的前端或末端添加标记符,标记符的符号无特殊限制,只是为了区分参考序列的首尾端,本示例中在末端加上$标记符,可得到ACCACCTG$;然后再将参考序列循环移动,得到参考序列矩阵,具体结果如下表所示。
表 1
表1中即为参考序列ACCACCTG经过参考序列矩阵模块的处理得到的参考序列矩阵。其中,上述的A、G、C、T为生化领域中对应的核酸。
(2)BWT矩阵模块22,用于将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵。
为了使说明更容易理解,以下将以表1中的参考序列矩阵为例,假设$标记符比A、G、C、T都小,将参考序列矩阵按照字典顺序排序,得到的BWT参考序列矩阵如表2所示。
表 2
其中,BWT参考序列矩阵存储在数据库中。所述的字典顺序是指按照汉语字典的查找顺序A、B、C、……、Z来进行排序。
上述技术方案中,核酸序列片段可以在相同的参考序列中进行一次匹配即可,原因在于参考序列经过BWT变换后,使得数据库中BWT参考序列矩阵的相邻的每行序列有最大公共前缀,在匹配时,如果核酸序列片段与第r行匹配上,核酸序列片段的长度为m,则与BWT参考序列矩阵的第r行的最大公共前缀至少为m的,均是可比对上的,只需确定最大公共前缀即可,无需在将核酸序列片段在进行一致性匹配,也即就只需要匹配一次。比如核酸序列片段长度为3,其为ACC,BWT参考序列矩阵的第二行和第三行的最大公共前缀为3,都是ACC,此时只要进行与公共前缀比较即可,就实现了核酸序列片段在数据库中的匹配。该技术方案,大大提高了核酸序列片段匹配的效率。
如图4所示,所述参考序列变换单元还可包括匹配参考序列模块,以下将对该模块进行详细说明。匹配参考序列模块23,用于获取BWT参考序列矩阵第一列与最后一列,得匹配参考序列,并储存在数据库中。
为了节约存储空间,采用辅助矩阵,以下以表2中的矩阵为例,得到的匹配参考序列如表3所示。
表 3
表3中对应的数据库更简洁,从而大大降低了数据库对存储空间的要求。
为了更快捷的查找,可进一步的采用辅助矩阵,以下继续以表2中的矩阵为例,得到的存储在数据库中的匹配参考序列信息如表4所示。
表 4
表中第3列为第一列在参考序列中所处的位置,第4列为参考序列矩阵的第一列,在后续核酸序列片段进行匹配时,可以直接得到该核酸序列片段在参考序列中的位置,使得数据库更易用,提高了后续核酸序列片段匹配的效率。
第二实施例中的参考序列变换单元对数据库进行处理,从而使得数据库更易用,且进行核酸序列片段匹配时的效率更高,相对与现有技术中的数据库,大大节约了存储空间。本技术方案从整体上克服了传统技术中存在在序列匹配速度慢,同时存储空间大的问题。
以下将对第二实施例中的标记单元进行详细说明。所述标记单元3,用于对数据库中的匹配参考序列按照等差数列进行间隔标记。基于上述的方案,对参考序列或匹配参考序列进行标记,从而使得核酸序列片段在进行匹配时,能够确定核酸序列片段所在的位置。以下将对标记单元的标记方式给予具体的说明。
表 5
表5中的标记是按照等差数列来进行标记的,其等差数列的公差不限,本实施例中的公差仅选用了256。该技术方案采用间隔标记,大大降低了数据库占用的存储空间。另外,当参考序列或匹配参考序列较长时,优选采用Int类型进行标记(可标记的参考序列长度为231),当参考序列或匹配参考序列较短时,优选采用Byte类型进行标记,相对与采用Long Int类型进行标记来说,本技术方案进一步减小了数据库占用的存储空间。
以下将对上述标记单元进行进一步的详细说明。标记单元,还用于在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记。为了使说明更清晰易懂,以下在表4的基础上,给出标记单元的进一步的功能。见表6。
表 6
本实施例中的技术方案,能够实现核酸序列片段在参考序列或匹配参考序列上匹配之后,能够更快获得匹配上的核酸序列片段在参考序列上的具体位置。比如:核酸序列片段匹配上的起始位置为参考序列的274,当参考序列仅进行一次标记时,需要从256向后推18位才能获知该具体位置,而当对参考序列或匹配序列做了进一步的标记后,可以知道256+16=272,只需在向后推进两位即可得到该匹配位置的起始位置,从而大大提高了匹配单元匹配的效率。其中,本方案标记的数据类型不做特殊限制,优选为Byte类型,相对其他数据类型,本优选方案大大降低了数据库占用的存储空间。
需要说明的是,上述示例中仅对参考序列或匹配参考序列的标记进行了两层标记,若需进行多层标记,其多层标记的方式可参考上述示例,在此不再赘述,本发明的标记方式不限于上述给出的示例。
以下将对第二实施例中的匹配单元4做进一步的说明。所述匹配单元4,用于将核酸序列片段进行反向形成反向核酸序列片段或将核酸序列片段反向互补形成反向互补核酸序列片段,并将核酸序列片段反向核酸序列或反向互补核酸序列片段与数据库中的匹配参考序列进行一致性匹配。
以下将分别对核酸序列片段、反向互补核酸序列片段和反向互补核酸序列片段与数据库中的参考序列或匹配参考序列进行一致性匹配的技术方案给出相应的具体实施方案。
其中,我们将做如下的假设:核酸序列片段为ACC;数据库中的参考序列G$CCAACTC,数据库中对应的匹配参考序列信息见表7。
表 7
(1)正向核酸序列片段进行一致性匹配。其具体过程如下所示。
为了方便说明,分别在每列下方标记了①②③④⑤⑥。其中,第①到第⑤列是数据库中匹配参考序列信息,第⑥列是核酸序列片段。第①列和第②列分别为BWT参考序列矩阵的第①列和最后一列,第③列标记了第①列的碱基在参考序列中的位置,第④列标记参考序列的位置(参考序列位置的标记方式可采用间隔式的标记方式),第⑤列为参考序列。本方案中,ACC匹配上的最后一个位置为3,从第③列中,找到3所在的位置,从该位置开始,在第①列中找到碱基C的位置,再在BWT参考序列矩阵中获得最大公共前缀,如果最大前缀大于等于3,则根据第③列即可获得核酸序列片段在参考序列上的所有位置。该技术方案,核酸序列片段只需与参考序列中相同的参考序列匹配一次,就可得到核酸序列片段对应的所有参考序列的起始位置,从而大大提高了核酸序列片段进行一致性匹配的效率。
(2)反向核酸序列片段进行一致性匹配。
为了更清楚的帮助理解本技术方案,以下从BWT参考序列矩阵开始描述本技术方案。
以下对上述技术方案进行详细解释,其中,第一行C、CC、ACC是反向核酸序列片段的第一位、前两位和前三位,依次从第一位进行一致性匹配,箭头所指的上、下两个位置分别表示匹配上的位置的起始位置和结束位置,反向核酸序列片段每一位的匹配均按照表中的方式进行匹配,表中共给出了前三位的匹配。从上表中的匹配结果可以看到匹配上的位置有两个。从数据库中对应的匹配参考序列信息,我们可以知道匹配上的起始位置在参考序列的第一位和第四位。本技术方案中,核酸序列片段只需与参考序列中相同的参考序列匹配一次,就可得到核酸序列片段对应的所有参考序列的起始位置,从而大大提高了核酸序列片段进行一致性匹配的效率。
(3)反向互补核酸序列片段进行一致性匹配。
以下给出一示例,如图9中A所示,由核酸序列片段经过变换得到的反向互补核酸序列片段,继续(2)进行步骤(3),其具体方案为,ACC的反向互补核酸序列片段为GGT,其匹配过程如图9中B所示。本技术方案中,反向互补核酸序列片段从后往下进行匹配,在第③列中找到对应的参考序列所在的位置,该具体实施例中,GGT匹配上的最后一个位置为6,从第③列中,找到6所在的位置,从该位置开始,在第①列中找到碱基G的互补碱基C的最后一次出现的位置,再在BWT参考序列矩阵中获得最大公共前缀,如果最大前缀大于等于3,则根据第③列即可获得核酸序列片段在参考序列上的所有位置。该技术方案,核酸序列片段只需与参考序列中相同的参考序列匹配一次,就可得到核酸序列片段对应的所有参考序列的起始位置,从而大大提高了核酸序列片段进行一致性匹配的效率。
本方案实施例中所述的一致性匹配包括完全匹配上或在允许每个核酸序列片段有N个错配的情况下,至多N个不能匹配上,以下将对有错配的情况给出一具体方案,见图5所示。图中,当匹配到某一位碱基C时,不能够匹配上,则将碱基C中的前一位碱基“C”进行碱基替换,然后再匹配,碱基“C”依次换成碱基“T、G、A”之后,仍然无法匹配,再对更前一位进行碱基替换,当更前一位上的碱基“C”换成碱基“T”后,则能够匹配上后,继续进行其他匹配。本技术方案中给出了允许错配的情况,当允许一个错配时,核酸序列片段至多有一个碱基不能在数据库中匹配上;当允许有N个错配时,核酸序列片段中核酸序列片段至多有N个碱基不能在数据库中匹配上,也即核酸序列片段上任意N个位置修改后可以在数据库中匹配上。本技术方案在满足快速匹配的同时可实现基因突变的检测,同时,利用碱基替换(也即校正碱基识别错误)的方法解决了由于碱基识别错误造成的核酸序列不能匹配的问题,从而为核酸测序的准确度提高提供了保证。
针对上述任一技术方案,本发明提出第三实施例,所述对核酸序列信息进行匹配的系统包括信息接收单元、数据库、参考序列变换单元、标记单元和匹配单元。如图6所示。本实施例中将不再对数据库、参考序列变换单元、标记单元和匹配单元进行赘述,具体技术方案参照上述任一技术方案,以下仅对信息接收单元进行说明进一步的说明。所述信息接收单元,用于接收核酸序列片段信息和参考序列信息。所述系统可包括计算机,所述计算机可包括USB接口或光盘驱动接口或INTERNET网络接口。优选的,信息接收单元,通过USB接口或光盘驱动接口或INTERNET获取核酸序列片段和参考序列。其中,信息接收单元将接收到的信息进行存储,其中核酸序列片段和参考序列分别进行存储,匹配单元可从存储核酸序列片段的数据库中获取核酸序列片段,与存储参考序列的数据库中的匹配参考序列进行一致性匹配,获得匹配结果。其匹配结果可以以可读新型输出,比如包括:每条核酸序列片段的长度、每条核酸序列片段匹配不能匹配上的个数、核酸序列片段匹配上的位置等信息,其输出仅是形式而已,在此不再具体详细阐述。
基于第一实施例,本发明提出第四实施例。所述对核酸序列信息进行匹配的方法包括以下步骤。
步骤S1、对数据库中的参考序列进行BWT变换,得匹配参考序列,并将匹配参考序列存储在数据库中。
所述数据库中存储的参考序列为存储在计算机内部或者是存储在该计算机外的存储器中的参考序列。所述参考序列为碱基序列,也即核酸序列信息。该参考序列与核酸序列片段为同一物种的核酸序列信息,比如,核酸序列片段是对草履虫的核酸进行测序得到的,则对应的参考序列就为草履虫的核酸序列信息,也可以是人工序列所得的参考序列和核酸序列片段。对参考序列和核酸序列片段无特别限制,其中,参考序列为已知碱基序列。
所述的BWT变换是Mike Burrows 依据David Wheeler提出的变换思想,完善并成功应用于实际数据压缩的变换方法,该变换是目前无损压缩领域的研究热点。BWT是一种以数据块为操作对象的可逆的数据变换方法,其核心思想是对字符串轮转后得到的字符矩阵进行排序和变换。对数据库中的参考序列进行BWT变换后,得到的匹配参考序列存储在数据库中。
步骤S2、对将数据库中的匹配参考序列进行间隔标记。
所述对数据库中的匹配参考序列进行间隔标记的方式不限,可以采用等差数列,或者其他数列进行有规律的间隔标记。该标记采用的数据类型可以根据需要来选择,比如Int、Byte等数据类型。
步骤S3、将核酸序列片段反向互补形成反向互补核酸序列片段,然后将反向互补核酸序列片段与数据库中的匹配参考序列中进行一致性匹配,得匹配核酸序列。
一致性匹配包括允许错配和不允许错配的情况。在允许N个错配的情况下,核酸序列片段至多有N个碱基与数据库中的匹配参考序列不一致称为一致性匹配;在不允许错配的情况下,核酸序列片段与数据库中的匹配参考序列完全一致称为一致性匹配。N为正整数。
所述核酸序列片段为存储在系统内的核酸序列片段,或者存储在该系统以外的存储器上。将整条核酸序列片段直接与数据库中的匹配参考序列进行一致性匹配或者将整条核酸序列片段首尾同时与数据库中的匹配参考序列进行一致性匹配。所述的一致性匹配是指在允许有N个错配的情况下,整条核酸序列片段有至多有N个碱基不能与匹配参考序列匹配上,则认为该整条核酸序列片段匹配上,得到一条匹配核酸序列片段,否则,认为该核酸序列片段不能匹配上,舍弃该核酸序列片段。其他所有的核酸序列片段均按照此种方式在数据库中进行一致性匹配,然后得到匹配核酸序列。该匹配核酸序列可以以可读形式输出,也可以存储在数据库中。当匹配核酸序列输出时,其输出的信息可包括每条核酸序列片段与参考序列对应的起始位置和终止位置,每条核酸序列片段错配的位置和错配的个数等信息。
本实施例的技术方案中,通过整体核酸序列片段直接在数据库中进行一致性匹配,并且对于相同的匹配参考序列只匹配一次,从而提高了匹配的效率。同时,存储在数据库中的参考序列无需进行分段建立参考序列索引(假设参考序列索引长为K,则相邻两个参考序列索引中,前一个参考序列索引的后K-1个碱基和后一个参考序列索引前K-1个碱基完全相同),并且进行间隔标记,相对与现有技术,大大减少了存储空间。
上述步骤S1包括:S11、将数据库中的参考序列末端或前端加上标识符,并将该参考序列经过循环移动,得参考序列矩阵。S12、将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵。
针对该技术方案,给出一示例,如果需要匹配的核酸序列片段为CCACC,BWT参考序列矩阵为如下所示的矩阵。
第一行 $ACCACCTG
第二行 ACCACCTG$
第三行 ACCTG$ACC
第四行 CACCTG$AC
第五行 CCACCTG$A
第六行 CCTG$ACCA
第七行 CTG$ACCAC
第八行 G$ACCACCT
第九行 TG$ACCACC
则在进行比对时,核酸序列片段的第一位碱基为C,则只需要在从BWT矩阵的四行起开始比对,核酸序列片段的第二位和BWT矩阵的第四行的第二位进行比对,如果第二位比对上,再比对核酸序列片段与BWT矩阵的第四行的第三位上的碱基,……,如果第二位没有比对上,则移至第五行,循环上述的比对方式,直到比对到第七行。需要注意的是,如果核酸序列片段只有M个碱基,则只需要将核酸序列片段的第n位于BWT矩阵的比对所在的行的第n位比较即可,只比较到第M位。本技术方案中,按字典顺序进行排序的BWT参考序列矩阵为匹配参考序列,核酸序列片段在与匹配参考序列比对时,当核酸序列片段的第一个碱基为A时,只需要在BWT参考序列矩阵第一列为A的所在的行进行比对即可,当核酸序列片段的第一个碱基为G、C、T时,只需要在BWT参考序列矩阵第一列为G、C、T的所在的行进行比对即可。从而大大提高了比对的速度。
所述步骤S12之后还可包括:S13、获取BWT参考序列矩阵第一列与最后一列,得匹配参考序列,并存储在数据库中。步骤S1的具体方法流程图如图7所示。首先,在参考序列的参考序列的末端或前端加上的标识符,该标识符可为除了A、G、C、T的任意字符,该字符的添加是为了区分参考序列的首尾;长度为X的参考序列在添加一个字符后长度变为X+1;然后,将该添加标识符的参考序列进行循环移动,可得(X+1)*(X+1)的参考序列矩阵;接着,对所述参考序列矩阵进行字典顺序排序,的BWT参考序列矩阵,所述字典顺序排序是按照汉语拼音的A、B、C、D……依次排序。最后,提取第一列与最后一列,存储。优选的,所添加的标识符被认为最大或最小的。
上述技术方案中,核酸序列片段可以在相同的参考序列中进行一次匹配即可,原因在于参考序列经过BWT变换后,使得数据库中BWT参考序列矩阵的相邻的每行序列有最大公共前缀,在匹配时,如果核酸序列片段与第r行匹配上,核酸序列片段的长度为m,则与BWT参考序列矩阵的第r行的最大公共前缀至少为m的,均是可比对上的,只需确定最大公共前缀即可,无需在将核酸序列片段在进行一致性匹配,也即就只需要匹配一次。比如核酸序列片段长度为3,其为ACC,BWT参考序列矩阵的第二行和第三行的最大公共前缀为3,都是ACC,此时只要进行与公共前缀比较即可,就实现了核酸序列片段在数据库中的匹配。该技术方案,不仅解决的传统技术上核酸序列片段匹配速度慢的问题,也解决了存储空间大的问题,实现了核酸序列片段匹配速度快,且匹配参考序列占用空间小。
本实施例中,上述步骤S2中,对数据库中的匹配参考序列进行间隔标记,该技术方案使得核酸序列片段进行匹配时,能够快速获得匹配的起始位置。优选的,上述步骤S2中,对数据库中的匹配参考序列按照等差数列进行间隔标记,该技术方案中采用等差数列进行标记,从而大大减少了数据库的存储空间。更优选的,在步骤S2中,在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记,该技术方案不但能快速获得核酸序列片段匹配的位置,并且可以进一步减少数据库的储存空间。本技术方案中,在进一步标记时,可进行重新编号,相对优选方案中的标记而言,可采用占用空间更小的数据类型进行储存,比如优选方案中采用Int类型进行标记,更优选的技术方案可采用Byte类型进行进一步的标记。
本实施例中,上述步骤S3中,用于将核酸序列片段反向互补形成反向互补核酸序列片段,并将反向互补核酸序列片段与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。进一步的,上述步骤S3中,利用回溯法依次在反向互补核酸序列片段不能匹配的位置之前的位置上进行碱基替换,并从替换位置继续在数据库上进行匹配。
基于第四实施例,本发明提出第五实施例,对核酸序列片段进行匹配的方法的流程图如图8所示。首先,将一条核酸序列片段与数据库中的匹配参考序列进行匹配,如果匹配成功,则结束该次匹配;如果匹配不成功,则判断是否允许错配;如果不允许错配,则结束该次匹配;如果允许错配,则在不能匹配上的位置之前的一位开始,进行碱基替换,然后再进行匹配。
以下给出一示例,如图10所示。本示例中,当核酸序列片段中的碱基进行替换后,继续与数据库中的匹配参考序列进行一致性匹配,本示例中,当核酸序列第三个位置的碱基A替换成T后,与数据库中的匹配参考序列完全匹配上,此时,完成该条核酸序列片段的匹配。
本实施例中,对允许错配的个数无特殊限制,允许错配的个数根据核酸序列片段的长短来确定,当核酸序列片段较长时,允许错配的个数可以多,当核酸序列片段较短时,允许错配的个数较少,比如:核酸序列片段长为50bp允许错配4个,核酸序列片段长为30bp允许错配2个;核酸序列片段长为10bp允许错配0个。本实施例中,核酸序列片段在参考序列中进行匹配,当不允许错配时,一条核酸序列不能完全匹配上,则认为该核酸序列片段不能匹配;当允许有M个错配时,一条核酸序列片段允许有至多M个位置的碱基进行碱基替换,当进行了M个位置进行了碱基替换后,仍然无法匹配上,则认为该核酸序列片段不能够匹配上,否则认为该核酸序列片段匹配上。
应当说明的是,本发明典型的应用但不限于生化测序领域中对核酸序列片段的匹配,在其他类似的信息处理领域中也可以应用本发明所阐述的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种对核酸序列信息进行匹配的系统,其特征在于,所述系统包括数据库、参考序列变换单元、标记单元和匹配单元;
所述数据库,用于存储参考序列;
所述参考序列变换单元,用于对数据库中的参考序列进行BWT变换,得匹配参考序列;
所述标记单元,用于对数据库中的匹配参考序列按照等差数列进行间隔标记,并在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记;
所述匹配单元,用于将核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
2.根据权利要求1所述的对核酸序列信息进行匹配的系统,其特征在于,所述参考序列变换单元包括参考序列矩阵模块和BWT矩阵模块;
所述参考序列矩阵模块,用于对数据库中的参考序列末端或前端添加标识符,并将该参考序列循环移动,得参考序列矩阵;
所述BWT矩阵模块,用于将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵。
3.根据权利要求2所述的对核酸序列信息进行匹配的系统,其特征在于,所述参考序列变换单元还可包括匹配参考序列模块,用于获取BWT参考序列矩阵第一列与最后一列,得匹配参考序列,并储存在数据库中。
4.根据权利要求1所述的对核酸序列信息进行匹配的系统,其特征在于,所述标记单元,用于对数据库中的匹配参考序列按照等差数列进行多层间隔标记,所述多层大于两层。
5.根据权利要求1所述的对核酸序列信息进行匹配的系统,其特征在于,所述匹配单元,用于将核酸序列片段反向形成反向核酸序列片段,或将核酸序列片段反向互补形成反向互补核酸序列片段,并将反向核酸序列片段或反向互补核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
6.根据权利要求1至5中任一项所述的对核酸序列信息进行匹配的系统,其特征在于,所述匹配单元,用于将核酸序列片段反向互补形成反向互补核酸序列片段,并将反向互补核酸序列片段与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
7.根据权利要求6所述的对核酸序列信息进行匹配的系统,其特征在于,所述匹配单元,利用回溯法依次在反向互补核酸序列片段不能匹配的位置之前的位置上进行碱基替换,并从替换位置开始继续在数据库中进行匹配。
8.根据权利要求1至5中任一项所述的对核酸序列信息进行匹配的系统,其特征在于,所述系统还包括信息接收单元;所述信息接收单元,用于通过USB接口或光盘驱动接口或INTERNET获取核酸序列片段和参考序列。
9.一种基于权利要求1所述的对核酸序列信息进行匹配的系统的对核酸序列信息进行匹配的方法,其特征在于,所述方法包括以下步骤:
A、对数据库中的参考序列进行BWT变换,得匹配参考序列,并将匹配参考序列存储在数据库中;
B、对数据库中的匹配参考序列按照等差数列进行间隔标记;在每个等差数列间隔中再利用等差数列对数据库中的匹配参考序列进行进一步标记;
C、将核酸序列片段依次分别与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
10.根据权利要求9所述的对核酸序列信息进行匹配的方法,其特征在于,所述步骤A包括:
A1、将数据库中的参考序列末端或前端加上标识符,并将该参考序列循环移动,得参考序列矩阵;
A2、将参考序列矩阵按照字典顺序排序,得BWT参考序列矩阵并存储在数据库中。
11.根据权利要求10所述的对核酸序列信息进行匹配的方法,所述步骤A2之后还包括:
A3、获取BWT参考序列矩阵第一列与最后一列,并存储在数据库中。
12.根据权利要求9所述的对核酸序列信息进行匹配的方法,其特征在于,所述步骤B为,对数据库中的匹配参考序列按照等差数列进行多层间隔标记,所述多层大于两层。
13.根据权利要求9所述的对核酸序列信息进行匹配的方法,其特征在于,所述步骤C为,将核酸序列片段反向形成反向核酸序列片段,或将核酸序列片段反向互补形成反向互补核酸序列片段,然后将反向核酸序列片段或反向互补核酸序列片段依次与数据库中的匹配参考序列进行一致性匹配,得匹配核酸序列。
14.根据权利要求9至13中任一项所述的对核酸序列信息进行匹配的方法,其特征在于,所述步骤C为,将核酸序列片段反向互补形成反向互补核酸序列片段,然后将反向互补核酸序列片段与数据库中的匹配参考序列中进行一致性匹配,得匹配核酸序列。
15.根据权利要求14所述的对核酸序列信息进行匹配的方法,其特征在于,所述步骤C中,在允许错配的情况下,利用回溯法依次在反向互补核酸序列片段不能匹配的位置之前的位置上进行碱基替换,并从替换位置继续在数据库上进行一致性匹配。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210263634.7A CN102841988B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的系统和方法 |
CN201510482636.9A CN105069325B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210263634.7A CN102841988B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的系统和方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510482636.9A Division CN105069325B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841988A CN102841988A (zh) | 2012-12-26 |
CN102841988B true CN102841988B (zh) | 2015-10-21 |
Family
ID=47369343
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510482636.9A Active CN105069325B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的方法 |
CN201210263634.7A Active CN102841988B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510482636.9A Active CN105069325B (zh) | 2012-07-28 | 2012-07-28 | 一种对核酸序列信息进行匹配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN105069325B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090585A1 (zh) * | 2014-12-10 | 2016-06-16 | 深圳华大基因研究院 | 测序数据处理装置和方法 |
CN104899476A (zh) * | 2015-06-15 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种对多序列bwt索引构建进行并行加速的方法 |
CN110875084B (zh) * | 2018-08-13 | 2022-06-21 | 深圳华大基因科技服务有限公司 | 一种核酸序列比对的方法 |
CN111063394B (zh) * | 2019-12-13 | 2023-07-11 | 人和未来生物科技(长沙)有限公司 | 基于基因序列的物种快速查找及建库方法、系统和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272551A (zh) * | 2000-04-13 | 2000-11-08 | 上海交通大学 | 测定dna序列的方法 |
CN1882703A (zh) * | 2003-10-29 | 2006-12-20 | 佰尔瑞溶液有限公司 | 通过断裂双链脱氧核糖核酸进行多元核酸分析 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004015085A2 (en) * | 2002-08-09 | 2004-02-19 | California Institute Of Technology | Method and compositions relating to 5’-chimeric ribonucleic acids |
CA2744821A1 (en) * | 2008-11-26 | 2010-06-03 | Illumina, Inc. | Methods and systems for analysis of sequencing data |
US8578058B2 (en) * | 2010-03-10 | 2013-11-05 | International Business Machines Corporation | Real-time multi-block lossless recompression |
CN102453751A (zh) * | 2010-10-19 | 2012-05-16 | 鼎生科技(北京)有限公司 | Dna测序仪短序列回贴基因组方法 |
JP6420543B2 (ja) * | 2011-01-19 | 2018-11-07 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | ゲノムデータ処理方法 |
-
2012
- 2012-07-28 CN CN201510482636.9A patent/CN105069325B/zh active Active
- 2012-07-28 CN CN201210263634.7A patent/CN102841988B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272551A (zh) * | 2000-04-13 | 2000-11-08 | 上海交通大学 | 测定dna序列的方法 |
CN1882703A (zh) * | 2003-10-29 | 2006-12-20 | 佰尔瑞溶液有限公司 | 通过断裂双链脱氧核糖核酸进行多元核酸分析 |
Non-Patent Citations (1)
Title |
---|
面向基因组重测序的BWT索引压缩算法;熊文林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120515;第2012年卷(第5期);第I138-841页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102841988A (zh) | 2012-12-26 |
CN105069325A (zh) | 2015-11-18 |
CN105069325B (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798216B (zh) | 采用分治法进行高相似性序列的比对方法 | |
Sakakibara | Pair hidden Markov models on tree structures | |
CN102841988B (zh) | 一种对核酸序列信息进行匹配的系统和方法 | |
CN114420212B (zh) | 一种大肠杆菌菌株鉴定方法和系统 | |
US8762073B2 (en) | Transcript mapping method | |
CN105483244A (zh) | 一种基于超长基因组的变异检测算法及检测系统 | |
CN108388772B (zh) | 一种利用文本比对分析高通量测序基因表达水平的方法 | |
Schrinner et al. | The longest run subsequence problem | |
CN106021998A (zh) | 单通多变体识别计算流水线 | |
Bautista et al. | Bit-vector-based hardware accelerator for dna alignment tools | |
CN102453751A (zh) | Dna测序仪短序列回贴基因组方法 | |
US20220199200A1 (en) | Biological sequencing | |
Vezzi | Next generation sequencing revolution challenges: Search, assemble, and validate genomes | |
CN104951673A (zh) | 一种基因组酶切图谱拼接方法及系统 | |
Muggli et al. | Succinct de Bruijn graph construction for massive populations through space-efficient merging | |
CN103699818A (zh) | 基于多步双向De Bruijn图的变长kmer查询的双向边扩展方法 | |
CN103699813A (zh) | 双向多步De Bruijn图的重复双向边识别与去除方法 | |
CN107526942B (zh) | 生命组学序列数据的反向检索方法 | |
TWI785847B (zh) | 用於處理基因定序資料的資料處理系統 | |
CN118335203B (zh) | 面向大规模基因组数据的冠状病毒重组检测方法、系统、设备及介质 | |
CN112825267B (zh) | 确定小核酸序列集合的方法及其应用 | |
CN110875084B (zh) | 一种核酸序列比对的方法 | |
Gibrat | On the use of algebraic topology concepts to check the consistency of genome assembly | |
CN102663287A (zh) | 利用编码转化实现基于序列比对的攻击特征提取的方法 | |
CN102467616A (zh) | 一种用后缀数组加速大规模蛋白质鉴定的方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |