背景技術:
1、核酸測序儀是被配置為使核酸測序過程自動化的儀器。核酸測序是確定核酸序列中核苷酸的順序的過程。核酸可包括脫氧核糖核酸(dna)或核糖核酸(rna)。
2、核酸測序儀被配置為接收核酸樣品并生成表示核酸樣品中的核苷酸的順序的輸出數據,該輸出數據被稱為一個或多個“讀段”(read)。dna樣品中的核苷酸可包括一種或多種核苷酸堿基,這些核苷酸堿基包括形成任何組合的鳥嘌呤(g)、胞嘧啶(c)、腺嘌呤(a)和胸腺嘧啶(t)。rna樣品中的核苷酸可包括一種或多種堿基,這些堿基包括形成任何組合的g、c、a和尿嘧啶(u)。
3、可使用映射和比對引擎來將由dna測序儀生成的讀段映射到參考基因組的已知核苷酸序列。將讀段映射到參考基因組的核苷酸序列可由使用散列表索引的映射和比對引擎來實現。
技術實現思路
1、本公開描述了散列表索引的構建和使用,該散列表索引有利于靈活的種子延伸以改進基因組映射和比對系統的性能。具體地講,本公開可用于以如下方式執行靈活的種子延伸:(i)減少計算資源和功率的消耗,以及(ii)解決本文所述的常規種子延伸方法的問題。為了實現這些優點,本公開特別提供了可存儲在散列表位置中的“區間記錄”。
2、本公開的各方面使得映射和比對單元能夠單獨使用區間記錄,或結合一個或多個延伸記錄使用區間記錄,以減少要由所述映射和比對單元通過種子延伸處理的匹配位置的數量,同時還在確定使用動態種子延伸識別的匹配參考位置是否準確時,或者在一些情況下,確定是否應發生使用一個或多個延伸記錄的種子延伸時,提供所述映射和比對單元的靈活性。這產生了一種映射和比對單元,它比利用常規種子延伸技術的其他映射和比對單元使用更少的功率和更少的計算資源,同時還更加準確。
3、在一個方面,本公開提供了生成用于將樣品讀段映射到參考的散列表的方法。在一個方面,所述方法可包括以下動作:由計算機系統從參考序列獲得第一核苷酸種子,其中所述第一種子具有k個核苷酸的長度;由所述計算機系統確定所述第一種子與超過預先確定數量的參考序列位置匹配;基于確定所述第一種子與超過預先確定數量的參考序列位置匹配,由所述計算機系統生成具有多個節點的種子延伸樹,其中所述多個節點中的每個節點對應于(i)延伸種子,所述延伸種子是所述第一種子的延伸并且具有k*的核苷酸長度,其中k*為大于k的一個或多個核苷酸,和(ii)種子延伸表中的一個或多個位置,所述一個或多個位置包括描述與所述延伸種子匹配的參考序列位置的數據,并且對于所述多個節點中的每個節點:由所述計算機系統在所述散列表的對應于所述延伸種子的索引鍵的位置存儲區間信息,其中所述區間信息引用所述種子延伸表中的一個或多個位置,所述一個或多個位置包括描述與和所述節點相關聯的所述延伸種子匹配的參考序列位置的數據。
4、其他方面包括執行如本文所公開的方法的動作的對應系統、裝置和計算機程序,如由在計算機可讀存儲設備上編碼的指令所定義的。
5、這些和其他方面可任選地包括以下特征中的一個或多個特征。例如,在一些具體實施中,每個所述匹配的參考序列位置包括所述第一種子的k個核苷酸。
6、在一些具體實施中,所述方法還可包括:由所述計算機系統從所述參考序列獲得與所述第一種子不同的第二核苷酸種子;由所述計算機系統確定所述第二種子不與超過所述預先確定數量的參考序列位置匹配;以及基于由所述計算機系統確定所述第二種子不與超過所述預先確定數量的參考序列位置匹配:由所述計算機系統獲得描述與所述第二種子匹配的每個所述參考序列位置的數據,以及由所述計算機系統在所述散列表的對應于所述第二種子的索引鍵的第二位置存儲描述與所述第二種子匹配的所述參考序列位置的所述數據。
7、在一些具體實施中,所述種子延伸表中的包括描述與所述延伸種子匹配的參考序列位置的數據的所述一個或多個位置可包括所述種子延伸表中的包括描述與所述延伸種子匹配的參考序列位置的數據的位置的連續區間。
8、在一些具體實施中,所述種子延伸表中的包括描述與和所述節點相關聯的所述延伸種子匹配的參考序列位置的數據的所述一個或多個位置可包括與和所述節點相關聯的所述延伸種子匹配的參考序列位置的延伸表中的連續區間。
9、在一些具體實施中,由計算機系統從參考序列獲得第一核苷酸種子,所述第一種子表示具有k個核苷酸的核苷酸長度的核苷酸序列,所述獲得可包括:由所述計算機系統確定參考序列內的種子存取窗口的位置;以及由所述計算機系統獲得所述參考序列的由所述種子存取窗口識別的子集。
10、在一些具體實施中,所述方法還可包括:由所述計算機系統將所述種子延伸窗口沿著所述參考序列向前調節k個核苷酸,以從所述參考序列識別具有k個核苷酸的核苷酸長度的第二核苷酸種子;由所述計算機系統從所述參考序列獲得所述第二種子;由所述計算機系統確定所述第二種子與超過預先確定數量的參考序列位置匹配;基于確定所述第二種子與超過預先確定數量的參考序列位置匹配,由所述計算機系統生成具有多個第二節點的第二種子延伸樹,其中所述多個第二節點中的每個第二節點對應于(i)第二延伸種子,所述第二延伸種子是所述第二種子的延伸并且具有k*的核苷酸長度,其中k*是大于k的一個或多個核苷酸,和(ii)第二種子延伸表中的第二一個或多個位置,所述第二一個或多個位置包括描述與所述第二延伸種子匹配的參考序列位置的數據,并且對于所述多個第二節點中的每個第二節點:由所述計算機系統在所述散列表的對應于所述第二延伸種子的索引鍵的位置存儲第二區間信息,其中所述第二區間信息引用所述第二種子延伸表中的一個或多個位置,所述一個或多個位置包括描述與和所述第二節點相關聯的所述第二延伸種子匹配的參考序列位置的數據。
11、在一些具體實施中,所述方法還可包括:對于所述多個節點中的每個節點:由所述計算機系統確定所述種子延伸樹的所述節點是否為葉節點,并且基于由所述計算機系統確定所述延伸樹的所述節點不是葉節點,由所述計算機系統在所述散列表的對應于所述延伸種子的所述索引鍵的所述位置存儲延伸記錄。
12、在一些具體實施中,所述延伸記錄包括一個或多個指令,所述一個或多個指令在由所述計算機系統執行時,使得所述計算機系統將一個或多個附加的核苷酸添加到與所述延伸記錄相關聯的種子。
13、在一些具體實施中,所述方法還可包括:基于由所述計算機系統確定所述延伸樹的所述節點是葉節點,由所述計算機系統確定不在所述散列表的對應于所述延伸種子的所述索引鍵的所述位置存儲延伸記錄。
14、在一些具體實施中,所述方法還可包括由所述計算機系統生成所述種子延伸表。在此類具體實施中,生成所述種子延伸表可包括:由所述計算機系統識別與所述第一種子匹配的所述參考序列的每個種子,以及由所述計算機系統將識別所識別的種子的數據存儲在所述種子延伸表中。
15、在一些具體實施中,所述方法還可包括由所述計算機系統對所述種子延伸表中的所識別的種子進行排序。
16、在一些具體實施中,所述方法還可包括:由所述計算機系統生成散列表安裝包,所述散列表安裝包包括指令,所述指令在由接收所述散列表安裝包的一個或多個計算機處理時,使得所述一個或多個計算機在能夠由可編程邏輯電路訪問的存儲器中安裝所述散列表。
17、在一些具體實施中,所述散列表安裝包可包括所述種子延伸表,并且所述散列表安裝包可包括用于指示(i)所述可編程邏輯電路或(ii)另一個計算機將所述種子延伸表存儲在能夠由所述可編程邏輯電路訪問的存儲器設備中的指令。
18、在一些具體實施中,由所述計算機系統向另一個計算機提供所述散列表安裝包。
19、在一些具體實施中,所述另一個計算機可包括(i)被配置為與所述可編程邏輯電路通信的計算機或(ii)所述可編程邏輯電路本身。
20、在一些具體實施中,所述計算機系統可包括多個計算機。
21、在另一方面,本公開提供了使用散列表來改進樣品讀段到參考序列的映射的方法。在一個方面,所述方法可包括:由映射和比對單元執行對散列表的查詢,所述查詢包括第一種子,其中所述第一種子包括從所述樣品讀段中的特定讀段獲得的核苷酸的子集;由所述映射和比對單元獲得對所執行的查詢的響應,所述響應包括由所述散列表的被確定為響應于所述查詢的位置所存儲的信息;由所述映射和比對單元確定對所執行的查詢的所述響應是否包括(i)延伸記錄,(ii)區間記錄,或(iii)一個或多個匹配的參考序列位置;基于由所述映射和比對單元確定對所執行的查詢的所述響應包括(i)延伸記錄和(ii)區間記錄:由所述映射和比對單元確定是否要存取延伸表以獲得所述延伸表中的由所述區間記錄引用的一個或多個匹配的參考序列位置;基于確定不存取所述延伸表:由所述映射和比對單元確定是否要將描述所述區間記錄的所述第一信息作為描述候選最佳區間的信息存儲在存儲器設備中;由所述映射和比對單元使用所述延伸記錄生成第一延伸種子,所述第一延伸種子是所述第一種子的延伸;由所述映射和比對單元生成包括所述第一延伸種子的后續散列查詢;以及由所述映射和比對單元執行對所述散列表的所述后續散列查詢。
22、其他型式包括執行由在計算機可讀存儲設備上編碼的指令所定義的方法的動作的對應系統、裝置和計算機程序。
23、本公開的這些和其他方面可任選地包括以下特征中的一個或多個特征。例如,在一些具體實施中,所述方法還可包括:基于確定要存取所述延伸表:由所述映射和比對單元存取所述延伸表以獲得所述延伸表中的由所述區間記錄引用的所述一個或多個匹配的參考序列位置;以及由所述映射和比對單元將所述一個或多個匹配的參考序列位置添加到種子匹配集合。
24、在一些具體實施中,所述方法還可包括:由所述映射和比對單元確定對所執行的查詢的所述響應包括一個或多個匹配的參考序列位置;以及基于由所述映射和比對單元確定對所執行的查詢的所述響應包括一個或多個匹配的參考序列位置:由所述映射和比對單元將所述一個或多個匹配的參考序列位置添加到種子匹配集合。
25、在一些具體實施中,由所述映射和比對單元確定是否要將描述所述區間記錄的所述第一信息作為描述候選最佳區間的信息存儲在存儲器設備中可包括:由所述映射和比對單元確定不存在將區間記錄描述為用于所述特定讀段的候選最佳區間的先前信息;以及由所述映射和比對單元將描述所述區間記錄的所述第一信息作為描述候選最佳區間的信息存儲在所述存儲器設備中。
26、在一些具體實施中,所述方法還可包括:由所述映射和比對單元獲得對所述后續執行的查詢的響應,所述響應包括由所述散列表的被確定為響應于所述查詢的位置存儲的信息;由所述映射和比對單元確定對所述后續執行的查詢的所述響應是否包括(i)第二延伸記錄,(ii)第二區間記錄,或(iii)一個或多個匹配的參考序列位置;基于由所述映射和比對單元確定對所述后續執行的查詢的所述響應包括(i)所述第二延伸記錄或(ii)所述第二區間記錄:由所述映射和比對單元確定是否要存取延伸表以獲得所述延伸表中的由所述第二區間記錄引用的一個或多個匹配的參考序列位置;基于確定不存取所述延伸表:使用一個或多個啟發式規則并且由所述映射和比對單元確定描述所述第二區間記錄的所述第二信息或描述所述候選最佳區間的所述第一信息是否將用作所述候選最佳區間;由所述映射和比對單元使用所述第二延伸記錄生成第二延伸種子,所述第二延伸種子是所述第一延伸種子的延伸;由所述映射和比對單元生成包括所述第二延伸種子的第三散列查詢;以及由所述映射和比對單元執行對所述散列表的包括所述第二延伸種子的所述第三查詢。
27、在一些具體實施中,使用一個或多個啟發式規則并且由所述映射和比對單元確定描述所述第二區間記錄的所述第二信息或描述所述候選最佳區間的所述第一信息是否將用作所述最佳區間可包括:基于多個因素來選擇描述所述第二區間記錄的所述第二信息或描述所述候選最佳區間記錄的所述第一信息,所述多個因素包括(i)由所述區間記錄和所述第二區間記錄中的每一者返回的匹配的參考序列位置的數量,(ii)參考序列位置的預先確定的閾值級別,或(iii)到達存儲所述區間記錄和所述第二區間記錄的所述散列位置的相應種子的每個種子長度。
28、在一些具體實施中,所述區間記錄引用所述種子延伸表中的多個位置,所述多個位置包括描述與所述查詢的所述第一種子匹配的參考序列位置的數據。
29、在一些具體實施中,所述種子延伸表中的包括描述與所述查詢的所述第一種子匹配的參考序列位置的數據的所述多個位置可包括延伸表中的與所述查詢的所述第一種子匹配的參考序列位置的連續區間。
30、除非另有定義,否則本文所用的所有技術和科學術語的含義與本發明所屬領域的普通技術人員通常理解的含義相同。雖然與本文所述的方法和材料類似或等同的方法和材料也可用于本發明的實踐或測試,但合適的方法和材料如下所述。本文提及的所有出版物、專利申請、專利和其他參考文獻均全文以引用方式并入本文。如發生矛盾,以本說明書及其所包括的定義為準。此外,所述材料、方法和示例僅為例示性的,并非旨在進行限制。
31、下面參考附圖和權利要求書在詳細描述中更詳細地討論本公開的這些和其他方面。