專利名稱:一種短序列映射方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于基因工程技術領域,尤其涉及一種短序列映射方法及系統(tǒng)。
背景技術:
對大基因組的短序列進行組裝面臨內存的挑戰(zhàn),為了降低構建de Bmijn圖 的內存使用,組裝軟件可以不在內存中記錄測序序列和序列片段重疊群(contig ) 之間的對應關系,而只在contig組裝完畢后,將正確的測序序列映射到contig 上。現(xiàn)有的短序列比對軟件分兩類, 一類使用了固定短串的組合索引結構,另 一類使用的是后綴樹類樣的索引結構?,F(xiàn)有短序列對比軟件可以在兩個錯配之 內將短序列映射到contig上,但是由于這些比對軟件的出發(fā)點不是contig和參 與拼接的序列之間的比對,特別是沒有考慮使用deBruijn圖組裝出的contig的 特點,在這種情況下,其處理時間長、效率低。
綜上所述,現(xiàn)有短序列對比軟件在處理contig和短序列之間的比對時,處 理時間長、效率4氐,不能4艮好地滿足短序列組裝中的需求。
發(fā)明內容
本發(fā)明實施例的目的在于提供一種短序列映射方法,旨在解決現(xiàn)有短序列 對比軟件在處理contig和短序列之間的比對時,處理時間長、效率低,不能很 好地滿足短序列組裝中需求的問題。
本發(fā)明實施例是這樣實現(xiàn)的, 一種短序列映射方法,所述方法包括下述步
驟
將測序序列按預設長度前綴短串的堿基值排序;
將序列片段重疊群逐個堿基切割成所述預設長度的短串;依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的測序 序列中查找相應的測序序列,建立映射關系。
本發(fā)明實施例的另一目的在于提供短序列映射系統(tǒng),所述系統(tǒng)包括
排序單元,用于將測序序列按預設長度前綴短串的堿基值排序;
切割單元,用于將序列片段重疊群逐個堿基切割成所述預設長度的短串;
以及
映射單元,用于依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值 在排序后的測序序列中查找相應的測序序列,建立映射關系。
在本發(fā)明實施例中,通過將測序序列按預設長度前綴短串的堿基值排序, 并將contig逐個堿基切割成預設長度的短串,依次根據(jù)contig中所切割成的短 串的石威基值在排序后的測序序列中查找相應的測序序列,建立映射關系,實現(xiàn) 了用于短序列組裝中的一種短序列映射方法,處理時間短、效率高。
圖1是本發(fā)明實施例提供的短序列映射方法的實現(xiàn)流程圖2是本發(fā)明實施例提供的短序列映射系統(tǒng)的結構圖3是本發(fā)明另一實施例提供的短序列映射系統(tǒng)的結構圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實 施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實施例中,通過將測序序列按預設長度前綴短串的堿基值排序, 并將contig逐個堿基切割成預設長度的短串,依次根據(jù)contig中所切割成的短 串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系。
圖1示出了本發(fā)明實施例提供的短序列映射方法的實現(xiàn)流程,詳述如下在步驟S101中,將測序序列按預設長度前綴短串的堿基值排序; 在步驟S102中,將contig逐個堿基切割成預設長度的短串; 在步驟S103中,依次根據(jù)contig中所切割成的短串的堿基值在排序后的測 序序列中查找相應的測序序列,建立映射關系。
在本發(fā)明實施例中,短串長度的選取嚴格等于在構建de Bruijn圖時短串的 長度,即上述預設長度為構建de Bruijn圖時短串的長度。將測序序列按前綴短 串的堿基值排序,可以降低排序的復雜性。按預設長度切割各測序序列的前綴 短串,并從小到大按短串的堿基值排序,生成一個短串數(shù)組,這個短串數(shù)組和 各測序序列是——對應的。建立一個索引數(shù)組用于記錄短串數(shù)組中短串與測序 序列的對應關系。在對短串進^f排序時,可以4吏用桶排序對短串的石成基值進行 排序。其中,每個桶子存放短串上的4個堿基,這樣按4個堿基逐步完成排序。 另外,在排序中使用另一個前綴數(shù)組記錄相鄰短串間共同的前綴堿基個數(shù),對 前綴堿基個數(shù)的記錄可以在桶排序內部完成。當然,也可以采用其他方法對短
串的堿基值進行排序。
然后,由于構建de Bmijn圖時短串是唯一的,所以4姿照構建de Bruijn圖時 短串的長度將contig逐個堿基切割成的各個短串是唯一的。
接著,依次根據(jù)contig中切割成的短串的堿基值建立contig與測序序列的 映射關系,上述步驟S103具體為
步驟l.依次取contig切割得到的短串;
步驟2.在排序后的測序序列中查找前綴短串的堿基值與contig中所取短串 的堿基值相等的所有測序序列;
步驟3,在查找到的測序序列與contig間建立映射關系。
在本發(fā)明實施例中,步驟2中采用二分法在短串數(shù)組中查找與contig中所 取短串的堿基值相等的短串,實現(xiàn)短串間的比較,算法詳述如下
初始化將起始位置L置為O、結束位置R設為N-1,最小共有前綴數(shù)l、 最大共有前綴數(shù)r都置為0;步驟l.判斷contig中所取短串W是否小于短串數(shù)組的前綴短串A[O],如 果是返回不匹配;
步驟2.判斷contig中所取短串W是否大于短串數(shù)組的第N個短串A[N-l], 如果是則返回不匹配;
步驟3.判斷起始位置L+1是否小于結束位置R,如果是則進入,否則進入 步驟8;
步驟4.查找中間位置M取為,堿基判斷位置m取最小共有前綴數(shù)1
和最大共有前綴數(shù)r的最小值;
步驟5.判斷短串W的第m個堿基值Wm是否小于或等于查找中間位置短序 的第m個i威基值A[M]m,如果是則進入步驟6,否則進入步驟7;
步驟6.結束位置R向前移動到查找中間位置M,用短串W與短序A[M] 的共有前綴數(shù)更新最大共有前綴數(shù)r,進入步驟3;
步驟7.起始位置L向后移動到查找中間位置M,用短串W與短序A[M]的 共有前綴數(shù)更新最大共有前綴數(shù)r,進入步驟3;
步驟8.將起始位置L賦值為結束位置R。
A[R]即為查找到的短串,結合已經(jīng)建立的前綴數(shù)組,找出A[R]前后堿基值 均與其相等的短串。再根據(jù)索引數(shù)組即可以得到這些短串對應的測序序列,進 一步建立得到的這些測序序列與contig的映射。當然,也可以根據(jù)其他查詢方 法在短串數(shù)組中查找與contig中所取短串的堿基值相等的短串。
由于在生物學上,互補序列上的映射關系也是構成該contig的序列的正確 關系,為了同時得到contig的互補序列與測序序列的映射,作為本發(fā)明的 一個 優(yōu)選實施例,在步驟S101前,根據(jù)測序序列得到其互補測序序列。
此時,步驟S101為將測序序列和得到的互補測序序列按預設長度前綴短串 的堿基值排序,步驟S103為依次根據(jù)contig中所切割成的短串的堿基值在排序 后的測序序列及其互補測序序列中查找相應的測序序列和/或互補測序序列,建 立映射關系。將測序序列及其互補測序序列按前綴短串的堿基值排序,實現(xiàn)contig與測序序列間的正、反相映射,減少了比較搜索的次數(shù),處理速度加快。 為了同時得到互補contig與測序序列的映射,作為本發(fā)明的另 一個優(yōu)選實 施例,在上述步驟S102之前,根據(jù)contig得到其互補contig。此時,步驟S102 為將contig和得到的互補contig逐個堿基切割成預設長度的短串,步驟S103 為依次根據(jù)contig和得到的互補contig中所切割成的短串的堿基值在排序后的 測序序列中查找相應的測序序列,建立映射關系。
對比上述通過對contig逐個堿基在排序后的測序序列及其互補測序序列中 查找,實現(xiàn)contig與測序序列的正、反相映射的方式,這里通過對contig及其 互補contig逐個堿基執(zhí)行兩次切割、查找操作實現(xiàn),所需占用內存相對較小, 但處理速度慢。
本領域普通技術人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟 是可以通過程序來指令相關的硬件來完成,所述的程序可以在存儲于一計算機 可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁盤、光盤等,該程序 用來執(zhí)行如下步驟
1潛測序序列按預設長度前綴短串的堿基值排序;
2. 將contig逐個堿基切割成預設長度的短串;
3. 依次根據(jù)contig中所切割成的短串的堿基值在排序后的測序序列中查找 相應的測序序列,建立映射關系。
圖2示出了本發(fā)明實施例提供的短序列映射系統(tǒng)的結構,為了便于說明僅 示出了與本發(fā)明實施例相關的部分,該系統(tǒng)可以用于短序列組裝中,其中
排序單元201,將測序序列按預設長度前綴短串的堿基值排序,其實現(xiàn)方 式如上所述,不再贅述。
切割單元202,將contig逐個堿基切割成預設長度的短串,其實現(xiàn)方式如 上所述,不再贅述。
映射單元203,依次根據(jù)contig中所切割成的短串的堿基值在排序后的測 序序列中查找相應的測序序列,建立映射關系。其中,映射單元203包括
短串獲取^^莫塊2031,依次取contig切割得到的短串。
查找模塊2032,在排序后的測序序列中查找前綴短串的堿基值與短串獲取 模塊2031所取短串的義威基值相等的所有測序序列,其實現(xiàn)方式如上所述,不再 贅述。
關聯(lián)模塊2033,在查找到的測序序列與contig間建立映射關系,其實現(xiàn)方 式如上所述,不再贅述。
為了同時得到contig與測序序列的反相映射,作為本發(fā)明的一個優(yōu)選實施 例,短序列映射系統(tǒng)還包括
第一互補計算單元204,根據(jù)測序序列得到其互補測序序列。
此時,排序單元201將測序序列和得到的互補測序序列按預設長度前綴短 串的堿基值排序,映射單元203依次根據(jù)contig中所切割成的短串的堿基值在 排序后的測序序列及其互補測序序列中查找相應的測序序列和/或互補測序序 列,建立映射關系。
為了同時得到互補contig與測序序列的映射,作為本發(fā)明的另 一個優(yōu)選實 施例,如圖3所示,短序列映射系統(tǒng)還包括
第二互補計算單元205,根據(jù)contig得到其互補contig。
此時,切割單元202將contig和得到的互補contig逐個堿基切割成預設長 度的短串,映射單元203依次根據(jù)contig和得到的互補contig中所切割成的短 串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系。
在本發(fā)明實施例中,通過將測序序列按預設長度前綴短串的堿基值排序, 并將contig逐個堿基切割成預設長度的短串,依次根據(jù)contig中所切割成的短 串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系,實現(xiàn) 了用于短序組裝中的一種短序列映射方法,處理時間短、效率高。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1、一種短序列映射方法,其特征在于,所述方法包括下述步驟將測序序列按預設長度前綴短串的堿基值排序;將序列片段重疊群逐個堿基切割成所述預設長度的短串;依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系。
2、 如權利要求l所述的方法,其特征在于,所述預設長度為構建deBruijn 圖時短串的長度。
3、 如權利要求2所述的方法,其特征在于,所述依次根據(jù)所述序列片段重 疊群中所切割成的短串的堿基值在排序后的測序序列中查找相應的測序序列, 建立映射關系的步驟具體為依次取所述序列片段重疊群切割得到的短串;在排序后的測序序列中查找前綴短串的堿基值與序列片段重疊群中所取短 串的堿基值相等的所有測序序列;在查找到的測序序列與所述序列片段重疊群間建立映射關系。
4、 如權利要求3所述的方法,其特征在于,采用二分法在所述排序后的測 序序列中查找前綴短串的堿基值與所述序列片段重疊群中所取短串的堿基值相 等的測序序列。
5、 如權利要求l所述的方法,其特征在于,在所述將測序序列按預設長度 前綴短串的-威基值排序的步驟前,所述方法還包括才艮據(jù)所述測序序列得到其互補測序序列;所述將測序序列按預設長度前綴短串的堿基值排序的步驟為將測序序列和得到的互補測序序列按所述預設長度前綴短串的堿基值排序;所述依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的 測序序列中查找相應的測序序列,建立映射關系的步驟為依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的測序 序列及其互補測序序列中查找相應的測序序列和/或互補測序序列,建立映射關 系。
6、 如權利要求l所述的方法,其特征在于,在所述將序列片段重疊群逐個 堿基切割成所述預設長度的短串的步驟前,所述方法還包括根據(jù)所述序列片段重疊群得到其互補序列片段重疊群; 所述將序列片段重疊群逐個堿基切割成所述預設長度的短串的步驟為 將序列片段重疊群和得到的互補序列片段重疊群逐個堿基切割成所述預設 長度的短串;所述依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的 測序序列中查找相應的測序序列,建立映射關系的步驟為依次根據(jù)所述序列片段重疊群和得到的互補序列片段重疊群中所切割成的 短串的石咸基值在排序后的測序序列中查找相應的測序序列,建立映射關系。
7、 一種短序列映射系統(tǒng),其特征在于,所述系統(tǒng)包括 排序單元,用于將測序序列按預設長度前綴短串的石威基值排序;切割單元,用于將序列片段重疊群逐個堿基切割成所述預設長度的短串;以及映射單元,用于依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值 在排序后的測序序列中查找相應的測序序列,建立映射關系。
8、 如權利要求7所述的系統(tǒng),其特征在于,所述映射單元包括 短串獲取模塊,用于依次取所述序列片段重疊群切割得到的短串; 查找才莫塊,用于在排序后的測序序列中查找前綴短串的石威基值與所述短串獲^Mt塊所取短串的堿基值相等的所有測序序列;以及關聯(lián)模塊,用于在查找到的測序序列與所述序列片段重疊群間建立映射關系。
9、 如權利要求7所述的系統(tǒng),其特征在于,所述短序列映射系統(tǒng)還包括第一互補計算單元,用于根據(jù)所述測序序列得到其互補測序序列;所述排序單元具體是用于將測序序列和得到的互補測序序列按所述預設長 度前綴短串的堿基值排序,所述映射單元具體是用于依次根據(jù)所述序列片段重相應的測序序列和/或互補測序序列,建立映射關系。
10、如權利要求7所述的系統(tǒng),其特征在于,所述短序列映射系統(tǒng)還包括 第二互補計算單元,用于根據(jù)所述序列片段重疊群得到其互補序列片段重 疊群;所述切割單元具體是用于將序列片段重疊群和得到的互補序列片段重疊群 逐個堿基切割成所述預設長度的短串,所述映射單元具體是用于依次根據(jù)所述 序列片段重疊群和得到的互補序列片段重疊群中所切割成的短串的堿基值在排 序后的測序序列中查找相應的測序序列,建立映射關系。
全文摘要
本發(fā)明適用于基因工程技術領域,提供了一種短序列映射方法及系統(tǒng),所述方法包括下述步驟將測序序列按預設長度前綴短串的堿基值排序;將序列片段重疊群逐個堿基切割成所述預設長度的短串;依次根據(jù)所述序列片段重疊群中所切割成的短串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系。在本發(fā)明中,通過將測序序列按預設長度前綴短串的堿基值排序,并將序列片段重疊群逐個堿基切割成預設長度的短串,依次根據(jù)序列片段重疊群中所切割成的短串的堿基值在排序后的測序序列中查找相應的測序序列,建立映射關系,實現(xiàn)了用于短序組裝中的一種短序列映射方法,處理時間短、效率高。
文檔編號G06F19/00GK101430741SQ20081021833
公開日2009年5月13日 申請日期2008年12月12日 優(yōu)先權日2008年12月12日
發(fā)明者朱紅梅, 李瑞強, 楊煥明, 建 汪, 俊 王, 玨 阮 申請人:深圳華大基因研究院