CN101430741A - 一种短序列映射方法及系统 - Google Patents
一种短序列映射方法及系统 Download PDFInfo
- Publication number
- CN101430741A CN101430741A CNA2008102183374A CN200810218337A CN101430741A CN 101430741 A CN101430741 A CN 101430741A CN A2008102183374 A CNA2008102183374 A CN A2008102183374A CN 200810218337 A CN200810218337 A CN 200810218337A CN 101430741 A CN101430741 A CN 101430741A
- Authority
- CN
- China
- Prior art keywords
- sequence
- short
- contig
- sequencing
- sequencing sequence
- 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.)
- Pending
Links
Images
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明适用于基因工程技术领域,提供了一种短序列映射方法及系统,所述方法包括下述步骤:将测序序列按预设长度前缀短串的碱基值排序;将序列片段重叠群逐个碱基切割成所述预设长度的短串;依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。在本发明中,通过将测序序列按预设长度前缀短串的碱基值排序,并将序列片段重叠群逐个碱基切割成预设长度的短串,依次根据序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系,实现了用于短序组装中的一种短序列映射方法,处理时间短、效率高。
Description
技术领域
本发明属于基因工程技术领域,尤其涉及一种短序列映射方法及系统。
背景技术
对大基因组的短序列进行组装面临内存的挑战,为了降低构建de Bruijn图的内存使用,组装软件可以不在内存中记录测序序列和序列片段重叠群(contig)之间的对应关系,而只在contig组装完毕后,将正确的测序序列映射到contig上。现有的短序列比对软件分两类,一类使用了固定短串的组合索引结构,另一类使用的是后缀树类样的索引结构。现有短序列对比软件可以在两个错配之内将短序列映射到contig上,但是由于这些比对软件的出发点不是contig和参与拼接的序列之间的比对,特别是没有考虑使用de Bruijn图组装出的contig的特点,在这种情况下,其处理时间长、效率低。
综上所述,现有短序列对比软件在处理contig和短序列之间的比对时,处理时间长、效率低,不能很好地满足短序列组装中的需求。
发明内容
本发明实施例的目的在于提供一种短序列映射方法,旨在解决现有短序列对比软件在处理contig和短序列之间的比对时,处理时间长、效率低,不能很好地满足短序列组装中需求的问题。
本发明实施例是这样实现的,一种短序列映射方法,所述方法包括下述步骤:
将测序序列按预设长度前缀短串的碱基值排序;
将序列片段重叠群逐个碱基切割成所述预设长度的短串;
依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
本发明实施例的另一目的在于提供短序列映射系统,所述系统包括:
排序单元,用于将测序序列按预设长度前缀短串的碱基值排序;
切割单元,用于将序列片段重叠群逐个碱基切割成所述预设长度的短串;以及
映射单元,用于依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
在本发明实施例中,通过将测序序列按预设长度前缀短串的碱基值排序,并将contig逐个碱基切割成预设长度的短串,依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系,实现了用于短序列组装中的一种短序列映射方法,处理时间短、效率高。
附图说明
图1是本发明实施例提供的短序列映射方法的实现流程图;
图2是本发明实施例提供的短序列映射系统的结构图;
图3是本发明另一实施例提供的短序列映射系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过将测序序列按预设长度前缀短串的碱基值排序,并将contig逐个碱基切割成预设长度的短串,依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
图1示出了本发明实施例提供的短序列映射方法的实现流程,详述如下:
在步骤S101中,将测序序列按预设长度前缀短串的碱基值排序;
在步骤S102中,将contig逐个碱基切割成预设长度的短串;
在步骤S103中,依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
在本发明实施例中,短串长度的选取严格等于在构建de Bruijn图时短串的长度,即上述预设长度为构建de Bruijn图时短串的长度。将测序序列按前缀短串的碱基值排序,可以降低排序的复杂性。按预设长度切割各测序序列的前缀短串,并从小到大按短串的碱基值排序,生成一个短串数组,这个短串数组和各测序序列是一一对应的。建立一个索引数组用于记录短串数组中短串与测序序列的对应关系。在对短串进行排序时,可以使用桶排序对短串的碱基值进行排序。其中,每个桶子存放短串上的4个碱基,这样按4个碱基逐步完成排序。另外,在排序中使用另一个前缀数组记录相邻短串间共同的前缀碱基个数,对前缀碱基个数的记录可以在桶排序内部完成。当然,也可以采用其他方法对短串的碱基值进行排序。
然后,由于构建de Bruijn图时短串是唯一的,所以按照构建de Bruijn图时短串的长度将contig逐个碱基切割成的各个短串是唯一的。
接着,依次根据contig中切割成的短串的碱基值建立contig与测序序列的映射关系,上述步骤S103具体为:
步骤1.依次取contig切割得到的短串;
步骤2.在排序后的测序序列中查找前缀短串的碱基值与contig中所取短串的碱基值相等的所有测序序列;
步骤3.在查找到的测序序列与contig间建立映射关系。
在本发明实施例中,步骤2中采用二分法在短串数组中查找与contig中所取短串的碱基值相等的短串,实现短串间的比较,算法详述如下:
初始化:将起始位置L置为0、结束位置R设为N-1,最小共有前缀数1、最大共有前缀数r都置为0;
步骤1.判断contig中所取短串W是否小于短串数组的前缀短串A[0],如果是返回不匹配;
步骤2.判断contig中所取短串W是否大于短串数组的第N个短串A[N-1],如果是则返回不匹配;
步骤3.判断起始位置L+1是否小于结束位置R,如果是则进入,否则进入步骤8;
步骤5.判断短串W的第m个碱基值Wm是否小于或等于查找中间位置短序的第m个碱基值A[M]m,如果是则进入步骤6,否则进入步骤7;
步骤6.结束位置R向前移动到查找中间位置M,用短串W与短序A[M]的共有前缀数更新最大共有前缀数r,进入步骤3;
步骤7.起始位置L向后移动到查找中间位置M,用短串W与短序A[M]的共有前缀数更新最大共有前缀数r,进入步骤3;
步骤8.将起始位置L赋值为结束位置R。
A[R]即为查找到的短串,结合已经建立的前缀数组,找出A[R]前后碱基值均与其相等的短串。再根据索引数组即可以得到这些短串对应的测序序列,进一步建立得到的这些测序序列与contig的映射。当然,也可以根据其他查询方法在短串数组中查找与contig中所取短串的碱基值相等的短串。
由于在生物学上,互补序列上的映射关系也是构成该contig的序列的正确关系,为了同时得到contig的互补序列与测序序列的映射,作为本发明的一个优选实施例,在步骤S101前,根据测序序列得到其互补测序序列。
此时,步骤S101为将测序序列和得到的互补测序序列按预设长度前缀短串的碱基值排序,步骤S103为依次根据contig中所切割成的短串的碱基值在排序后的测序序列及其互补测序序列中查找相应的测序序列和/或互补测序序列,建立映射关系。将测序序列及其互补测序序列按前缀短串的碱基值排序,实现contig与测序序列间的正、反相映射,减少了比较搜索的次数,处理速度加快。
为了同时得到互补contig与测序序列的映射,作为本发明的另一个优选实施例,在上述步骤S102之前,根据contig得到其互补contig。此时,步骤S102为将contig和得到的互补contig逐个碱基切割成预设长度的短串,步骤S103为依次根据contig和得到的互补contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
对比上述通过对contig逐个碱基在排序后的测序序列及其互补测序序列中查找,实现contig与测序序列的正、反相映射的方式,这里通过对contig及其互补contig逐个碱基执行两次切割、查找操作实现,所需占用内存相对较小,但处理速度慢。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等,该程序用来执行如下步骤:
1.将测序序列按预设长度前缀短串的碱基值排序;
2.将contig逐个碱基切割成预设长度的短串;
3.依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
图2示出了本发明实施例提供的短序列映射系统的结构,为了便于说明仅示出了与本发明实施例相关的部分,该系统可以用于短序列组装中,其中:
排序单元201,将测序序列按预设长度前缀短串的碱基值排序,其实现方式如上所述,不再赘述。
切割单元202,将contig逐个碱基切割成预设长度的短串,其实现方式如上所述,不再赘述。
映射单元203,依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
其中,映射单元203包括:
短串获取模块2031,依次取contig切割得到的短串。
查找模块2032,在排序后的测序序列中查找前缀短串的碱基值与短串获取模块2031所取短串的碱基值相等的所有测序序列,其实现方式如上所述,不再赘述。
关联模块2033,在查找到的测序序列与contig间建立映射关系,其实现方式如上所述,不再赘述。
为了同时得到contig与测序序列的反相映射,作为本发明的一个优选实施例,短序列映射系统还包括:
第一互补计算单元204,根据测序序列得到其互补测序序列。
此时,排序单元201将测序序列和得到的互补测序序列按预设长度前缀短串的碱基值排序,映射单元203依次根据contig中所切割成的短串的碱基值在排序后的测序序列及其互补测序序列中查找相应的测序序列和/或互补测序序列,建立映射关系。
为了同时得到互补contig与测序序列的映射,作为本发明的另一个优选实施例,如图3所示,短序列映射系统还包括:
第二互补计算单元205,根据contig得到其互补contig。
此时,切割单元202将contig和得到的互补contig逐个碱基切割成预设长度的短串,映射单元203依次根据contig和得到的互补contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
在本发明实施例中,通过将测序序列按预设长度前缀短串的碱基值排序,并将contig逐个碱基切割成预设长度的短串,依次根据contig中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系,实现了用于短序组装中的一种短序列映射方法,处理时间短、效率高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种短序列映射方法,其特征在于,所述方法包括下述步骤:
将测序序列按预设长度前缀短串的碱基值排序;
将序列片段重叠群逐个碱基切割成所述预设长度的短串;
依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
2、如权利要求1所述的方法,其特征在于,所述预设长度为构建de Bruijn图时短串的长度。
3、如权利要求2所述的方法,其特征在于,所述依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系的步骤具体为:
依次取所述序列片段重叠群切割得到的短串;
在排序后的测序序列中查找前缀短串的碱基值与序列片段重叠群中所取短串的碱基值相等的所有测序序列;
在查找到的测序序列与所述序列片段重叠群间建立映射关系。
4、如权利要求3所述的方法,其特征在于,采用二分法在所述排序后的测序序列中查找前缀短串的碱基值与所述序列片段重叠群中所取短串的碱基值相等的测序序列。
5、如权利要求1所述的方法,其特征在于,在所述将测序序列按预设长度前缀短串的碱基值排序的步骤前,所述方法还包括:
根据所述测序序列得到其互补测序序列;
所述将测序序列按预设长度前缀短串的碱基值排序的步骤为:
将测序序列和得到的互补测序序列按所述预设长度前缀短串的碱基值排序;
所述依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系的步骤为:
依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列及其互补测序序列中查找相应的测序序列和/或互补测序序列,建立映射关系。
6、如权利要求1所述的方法,其特征在于,在所述将序列片段重叠群逐个碱基切割成所述预设长度的短串的步骤前,所述方法还包括:
根据所述序列片段重叠群得到其互补序列片段重叠群;
所述将序列片段重叠群逐个碱基切割成所述预设长度的短串的步骤为:
将序列片段重叠群和得到的互补序列片段重叠群逐个碱基切割成所述预设长度的短串;
所述依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系的步骤为:
依次根据所述序列片段重叠群和得到的互补序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
7、一种短序列映射系统,其特征在于,所述系统包括:
排序单元,用于将测序序列按预设长度前缀短串的碱基值排序;
切割单元,用于将序列片段重叠群逐个碱基切割成所述预设长度的短串;以及
映射单元,用于依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
8、如权利要求7所述的系统,其特征在于,所述映射单元包括:
短串获取模块,用于依次取所述序列片段重叠群切割得到的短串;
查找模块,用于在排序后的测序序列中查找前缀短串的碱基值与所述短串获取模块所取短串的碱基值相等的所有测序序列;以及
关联模块,用于在查找到的测序序列与所述序列片段重叠群间建立映射关系。
9、如权利要求7所述的系统,其特征在于,所述短序列映射系统还包括:
第一互补计算单元,用于根据所述测序序列得到其互补测序序列;
所述排序单元具体是用于将测序序列和得到的互补测序序列按所述预设长度前缀短串的碱基值排序,所述映射单元具体是用于依次根据所述序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列及其互补测序序列中查找相应的测序序列和/或互补测序序列,建立映射关系。
10、如权利要求7所述的系统,其特征在于,所述短序列映射系统还包括:
第二互补计算单元,用于根据所述序列片段重叠群得到其互补序列片段重叠群;
所述切割单元具体是用于将序列片段重叠群和得到的互补序列片段重叠群逐个碱基切割成所述预设长度的短串,所述映射单元具体是用于依次根据所述序列片段重叠群和得到的互补序列片段重叠群中所切割成的短串的碱基值在排序后的测序序列中查找相应的测序序列,建立映射关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102183374A CN101430741A (zh) | 2008-12-12 | 2008-12-12 | 一种短序列映射方法及系统 |
CN200910252466.XA CN101751517B (zh) | 2008-12-12 | 2009-12-11 | 一种基因组短序列映射的快速处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102183374A CN101430741A (zh) | 2008-12-12 | 2008-12-12 | 一种短序列映射方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101430741A true CN101430741A (zh) | 2009-05-13 |
Family
ID=40646134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102183374A Pending CN101430741A (zh) | 2008-12-12 | 2008-12-12 | 一种短序列映射方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101430741A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102959552A (zh) * | 2010-05-17 | 2013-03-06 | 施里纳斯儿童医院 | 用于遗传成像的系统和方法 |
WO2013041021A1 (zh) * | 2011-09-22 | 2013-03-28 | 深圳华大基因科技有限公司 | 一种分析基因表达定量的方法 |
CN103093121A (zh) * | 2012-12-28 | 2013-05-08 | 深圳先进技术研究院 | 双向多步deBruijn图的压缩存储和构造方法 |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN103793626A (zh) * | 2012-10-29 | 2014-05-14 | 三星Sds株式会社 | 碱基序列比对系统及方法 |
CN107886003A (zh) * | 2017-10-12 | 2018-04-06 | 东北大学 | 一种基于非线性系统的密码学置乱方法 |
CN110875084A (zh) * | 2018-08-13 | 2020-03-10 | 深圳华大基因科技服务有限公司 | 一种核酸序列比对的方法 |
-
2008
- 2008-12-12 CN CNA2008102183374A patent/CN101430741A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102959552A (zh) * | 2010-05-17 | 2013-03-06 | 施里纳斯儿童医院 | 用于遗传成像的系统和方法 |
WO2013041021A1 (zh) * | 2011-09-22 | 2013-03-28 | 深圳华大基因科技有限公司 | 一种分析基因表达定量的方法 |
CN103793626A (zh) * | 2012-10-29 | 2014-05-14 | 三星Sds株式会社 | 碱基序列比对系统及方法 |
CN103093121A (zh) * | 2012-12-28 | 2013-05-08 | 深圳先进技术研究院 | 双向多步deBruijn图的压缩存储和构造方法 |
CN103093121B (zh) * | 2012-12-28 | 2016-01-27 | 深圳先进技术研究院 | 双向多步deBruijn图的压缩存储和构造方法 |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
WO2015000284A1 (zh) * | 2013-07-05 | 2015-01-08 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN103336916B (zh) * | 2013-07-05 | 2016-04-06 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN107886003A (zh) * | 2017-10-12 | 2018-04-06 | 东北大学 | 一种基于非线性系统的密码学置乱方法 |
CN110875084A (zh) * | 2018-08-13 | 2020-03-10 | 深圳华大基因科技服务有限公司 | 一种核酸序列比对的方法 |
CN110875084B (zh) * | 2018-08-13 | 2022-06-21 | 深圳华大基因科技服务有限公司 | 一种核酸序列比对的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101430741A (zh) | 一种短序列映射方法及系统 | |
Chikhi et al. | Data structures to represent a set of k-long DNA sequences | |
CN101751517B (zh) | 一种基因组短序列映射的快速处理方法及系统 | |
Bille et al. | String matching with variable length gaps | |
Clerry | Compact hash tables using bidirectional linear probing | |
CN104281652B (zh) | 度量空间中逐个支撑点数据划分方法 | |
Larsson et al. | Faster suffix sorting | |
CN106295250A (zh) | 二代测序短序列快速比对分析方法及装置 | |
CN1838124A (zh) | 海量数据内存数据库中快速定位的网格+t树索引的方法 | |
CN108509505B (zh) | 一种基于分区双数组Trie的字符串检索方法及装置 | |
CN102456055B (zh) | 兴趣点检索的方法及装置 | |
EP2069979A1 (en) | Dynamic fragment mapping | |
CN102207935A (zh) | 用于创建索引的方法和系统 | |
CN104268280A (zh) | 一种基于键值数据库的层次化存储与查询方法 | |
CN102045412B (zh) | IPv6地址前缀压缩存储方法及设备 | |
CN104636349A (zh) | 一种索引数据压缩以及索引数据搜索的方法和设备 | |
CN106484815B (zh) | 一种基于海量数据类sql检索场景的自动识别优化方法 | |
CN100476824C (zh) | 存储元素的方法与系统及查找元素的方法与系统 | |
CN110222074A (zh) | 索引查找方法、查找装置、电子设备及存储介质 | |
Guidi et al. | BELLA: Berkeley efficient long-read to long-read aligner and overlapper | |
CN101256579A (zh) | 一种数据库范围查询数据组织的方法 | |
CN102955812A (zh) | 一种构建索引库的方法、装置及查询方法和装置 | |
CN1776688A (zh) | 一种字符数据的检索方法 | |
CN111339381A (zh) | 一种字典序分区双数组的字符串批量查询方法及装置 | |
KR100999408B1 (ko) | 해시트리를 이용한 url 검색방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |