并行局部序列對齊的制作方法
【專利說明】并行局部序列對齊
[0001] 背景
[0002] 蛋白質(zhì)和核酸是活的有機(jī)體中的豐度中找到的生物大分子,其中它們作用于編 碼、發(fā)射和表達(dá)基因信息。核酸包括DNA(脫氧核糖核酸)和RNA(核糖核酸)。例如,DNA 編碼信息用于構(gòu)建蛋白質(zhì)。
[0003] 通常,期望執(zhí)行局部序列對齊,其中標(biāo)識兩個(gè)核苷酸序列或蛋白質(zhì)序列之間的類 似區(qū)域。核苷酸或蛋白質(zhì)序列對齊可以涉及為給定的成本矩陣解決近似的串對齊問題。已 知數(shù)據(jù)庫序列、查詢序列和對這兩個(gè)序列間的生物相似性建模的成本函數(shù),可以執(zhí)行序列 對齊以查找與查詢序列匹配的數(shù)據(jù)庫序列的子串。
[0004] Smith-Waterman算法是基于用于執(zhí)行序列對齊的動態(tài)編程的按序算法。 Smith-Waterman算法可以生成匹配,而同時(shí)是內(nèi)在有序的。Smith-Waterman算法的運(yùn)行時(shí) 成本可以與數(shù)據(jù)庫序列長度和查詢序列長度的乘積成比例。由此,隨著數(shù)據(jù)庫序列長度的 增加(例如,對于大基因組),運(yùn)行時(shí)成本可以使Smith-Waterman算法的實(shí)現(xiàn)通常是不現(xiàn)實(shí) 的。相應(yīng)地,已經(jīng)開發(fā)了嘗試找到近似匹配的各種基于試探法的方法。然而,這些常規(guī)的基 于試探法的方法通常較不準(zhǔn)確(例如,誤匹配)。
[0005] 概述
[0006] 此處描述了與將查詢序列與數(shù)據(jù)庫序列對齊的并行局部序列對齊有關(guān)的各種 技術(shù)。數(shù)據(jù)庫序列被分段成多個(gè)帶。第一處理單元可以基于一成本函數(shù)來為數(shù)據(jù)庫序 列的第一帶跨查詢序列計(jì)算Smith-Waterman值,該成本函數(shù)對序列間的生物相似性建 模。此外,第二處理單元可以基于該成本函數(shù)來為數(shù)據(jù)庫序列的第二帶跨查詢序列計(jì)算 Smith-Waterman值。而且,可以基于該成本函數(shù)(例如,由第一處理單元或第二處理單元) 來跨查詢序列重新計(jì)算數(shù)據(jù)庫序列的第二帶的Smith-Waterman值的子集。該要被重新計(jì) 算的Smith-Waterman值的子集可以基于查詢序列長度和該成本函數(shù)來確定。
[0007] 此處提供的并行局部序列對齊可以沿?cái)?shù)據(jù)庫序列長度而并行化Smith-Waterman 算法,而同時(shí)保持有序的Smith-Waterman算法的對齊。數(shù)據(jù)庫序列被分割成多個(gè)帶(例如, 至少第一帶和第二帶)。各處理單元可以為所述帶的每一個(gè)獨(dú)立地計(jì)算Smith-Waterman值 (例如,并行地計(jì)算)。此后,可由所述處理單元(例如,并行地)重新計(jì)算基于查詢序列長 度和成本函數(shù)所確定的Smith-Waterman值的子集。根據(jù)各個(gè)實(shí)施例,多個(gè)處理單元可以是 不同的處理器、一多核處理器的不同內(nèi)核、一多核圖形處理單元(GPU)的不同內(nèi)核、被包括 于不同的計(jì)算設(shè)備中、它們的組合、等等。
[0008] 以上概述呈現(xiàn)了簡化概述以便提供此處討論的系統(tǒng)和/或方法的一些方面的基 本理解。該概述不是此處討論的系統(tǒng)和/或方法的擴(kuò)展概覽。它不意圖標(biāo)識關(guān)鍵的/重要 的特征或者劃定這種系統(tǒng)和/或方法的范圍。其唯一目的是以簡化形式呈現(xiàn)一些概念,作 為對稍候呈現(xiàn)的更詳細(xì)描述的序言。
[0009] 附圖簡述
[0010] 圖1圖示執(zhí)行并行局部序列對齊的示例性系統(tǒng)的功能性框圖。
[0011] 圖2圖示由圖1的系統(tǒng)所生成的示例性成本表。
[0012] 圖3 - 4圖示圖2的成本表的各個(gè)示例性重疊區(qū)域,所述重疊區(qū)域包括重新計(jì)算 的Smith-Waterman值的子集。
[0013] 圖5是圖示被配置成供第一處理單元執(zhí)行的示例性方法的流程圖。
[0014] 圖6是圖示被配置成供計(jì)算設(shè)備的多個(gè)處理單元執(zhí)行的示例性方法的流程圖。
[0015] 圖7圖示示例性的計(jì)算設(shè)備。
[0016] 詳細(xì)描述
[0017] 現(xiàn)在將參照附圖描述與由多個(gè)處理單元并行執(zhí)行的局部序列對齊有關(guān)的各種技 術(shù),其中相同的參考標(biāo)號通篇用于指代相同的元件。在以下描述中,為說明目的,提出許多 具體細(xì)節(jié)以便提供一個(gè)或多個(gè)方面的透徹理解。然而,顯而易見的是,可以實(shí)現(xiàn)這種(諸) 方面而無須這些具體細(xì)節(jié)。在其他實(shí)例中,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備以便促進(jìn)描 述一個(gè)或多個(gè)方面。而且應(yīng)當(dāng)理解,被描述為由特定系統(tǒng)組件實(shí)現(xiàn)的功能性可由多個(gè)組件 執(zhí)行。類似地,例如,一個(gè)組件可以被配置成執(zhí)行被描述為由多個(gè)組件實(shí)現(xiàn)的功能性。
[0018] 此外,術(shù)語"或"意圖意指包括性的"或"而不是排除性的"或"。也就是說,除非另 外指明、或從上下文清楚可見,短語"X采用A或B"意圖意指自然包括性排列的任一種。也 就是說,以下實(shí)例的任一個(gè)均滿足短語"X采用A或B" :X采用A ;X采用B ;X采用A和B兩 者。此外,除非另外指明或者從上下文清楚可見是指單數(shù)形式,否則本申請和所附權(quán)利要求 書中使用的冠詞"一(a)"和"一(an)"應(yīng)當(dāng)一般被視為意指"一個(gè)或多個(gè)"。
[0019] 如此處提出的,可以執(zhí)行數(shù)據(jù)庫序列和查詢序列間的并行局部序列對齊。此處 提供的并行局部序列對齊可以沿?cái)?shù)據(jù)庫序列長度并行化Smith-Waterman算法,而同時(shí)維 持有序Smith-Waterman算法的對齊(例如,減輕算法所報(bào)告的匹配保真度損失)。更特 定的,數(shù)據(jù)庫序列可以被分割成多個(gè)帶。各處理單元可以獨(dú)立地為所述帶的每一個(gè)計(jì)算 Smith-Waterman值(例如,并行地計(jì)算)。此后,可由所述處理單元(例如并行地)重新計(jì) 算基于查詢序列長度和成本函數(shù)所確定的Smith-Waterman值的子集。
[0020] 現(xiàn)在參照附圖,圖1圖示執(zhí)行并行局部序列對齊的系統(tǒng)100。系統(tǒng)100包括X個(gè) 處理單元:即,處理單元1102、處理單元2104、…以及處理單元X 106 (此處統(tǒng)稱為處理單 元102 - 106),其中X可以是大于2的實(shí)質(zhì)上任何整數(shù)?;蛘?,盡管未示出,構(gòu)想根據(jù)各種 實(shí)施例,系統(tǒng)100可以包括兩個(gè)處理單元(例如,處理單元1102和處理單元2104)。處理單 元102 - 106可以獨(dú)立地計(jì)算成本表108中所包括的Smith-Waterman值。如此處使用的, Smith-Waterman值是指通過采用Smith-Waterman算法生成的成本表108中的單元分?jǐn)?shù)。
[0021] 系統(tǒng)100還包括數(shù)據(jù)儲存庫110。數(shù)據(jù)儲存庫110可以包括數(shù)據(jù)庫序列112 (db) 和查詢序列114(qr)。數(shù)據(jù)庫序列112包括D個(gè)符號的串[1···?],其中D可以是實(shí)質(zhì)上任 何整數(shù)。因此,數(shù)據(jù)庫序列112具有數(shù)據(jù)庫序列長度D。此外,查詢序列114包括Q個(gè)符號 的串[1…Q],其中Q可以是實(shí)質(zhì)上任何整數(shù)。因此,查詢序列114具有查詢序列長度Q。
[0022] 數(shù)據(jù)庫序列112和查詢序列114可以表示核苷酸序列或蛋白質(zhì)序列。通過示例, 數(shù)據(jù)庫序列112可以表示人類基因組,并且因此,數(shù)據(jù)庫序列112可以包括表示DNA堿基對 的幾十億個(gè)符號(例如,數(shù)據(jù)庫序列長度D可以為幾十億的數(shù)量級)。繼續(xù)該示例,查詢序 列114可以包括表示DNA堿基對的幾百或幾千個(gè)符號(例如,查詢序列長度Q可以為幾百 或幾千的數(shù)量級)。然而應(yīng)當(dāng)理解,所要求保護(hù)的主題不限于以上示例。此外,盡管此處提 出的許多示例關(guān)于表示核苷酸序列或蛋白質(zhì)序列的數(shù)據(jù)庫序列112和查詢序列114,但是 按照其他示例,構(gòu)想數(shù)據(jù)庫序列112和查詢序列114可以表示實(shí)質(zhì)上任何其他類型的數(shù)據(jù)。 因此,數(shù)據(jù)庫序列112和查詢序列114可以表示音符序列、文本序列、文檔序列、等等。作為 說明,音符的查詢序列可以與音符的數(shù)據(jù)庫序列對齊,等等;然而,所要求保護(hù)的主題不限 于此。
[0023] 數(shù)據(jù)儲存庫110可以進(jìn)一步包括成本函數(shù)116。成本函數(shù)116對序列間的生物相 似性建模。成本函數(shù)116可以包括例如間隔起始懲罰G s、間隔擴(kuò)展懲罰t以及成本矩陣M。 間隔起始懲罰Gs是打開一序列(例如,數(shù)據(jù)庫序列112或查詢序列114)中符號間的新間隔 的成本。而且,間隔擴(kuò)展懲罰t是擴(kuò)展一序列(例如,數(shù)據(jù)庫序列112或查詢序列114)中 符號間的已打開間隔的成本。間隔起始懲罰G s大于0。此外,間隔擴(kuò)展懲罰Ge大于0且小 于或等于間隔起始懲罰Gs。此外,成本矩陣M設(shè)置匹配兩個(gè)符號的成本(例如,將腺嘌呤與 腺嘌呤匹配的成本、將腺嘌呤與胞嘧啶匹配的成本、等等)。
[0024] 系統(tǒng)100可以執(zhí)行并行局部序列對齊以便將查詢序列114與數(shù)據(jù)庫序列112對 齊。為了執(zhí)行并行局部序列對齊,系統(tǒng)100可以將數(shù)據(jù)庫序列112分割成多個(gè)帶。多個(gè)帶 可以至少包括第一帶和第二帶。根據(jù)一示例,數(shù)據(jù)庫序列112可以被分割成X個(gè)帶(例如, 對應(yīng)于處理單元102 - 106的數(shù)目);而且構(gòu)想,所要求保護(hù)的主題不以此為限,而是數(shù)據(jù) 庫序列112可以被分段成實(shí)質(zhì)上任何數(shù)量的帶。
[0025] 帶是數(shù)據(jù)庫的按列分區(qū)。與此相對,嘗試采用波前并行的常規(guī)方法通常沿波前進(jìn) 行并行化,波前是反對角線的。沿波前的并行化通常用于常規(guī)方法中,因?yàn)镾mith-Waterman 算法缺乏沿反對角線的數(shù)據(jù)依賴性。相反,此處提出的技術(shù)用于減輕由于數(shù)據(jù)庫中的按列 分區(qū)(例如,帶)造成的負(fù)面影響,按列分區(qū)打破了按列的數(shù)據(jù)依賴性。
[0026] 根據(jù)一示例,所述帶的每一個(gè)可具有基本相似的長度。例如,每個(gè)帶可具有帶長度 S(例如,每個(gè)帶可包括來自數(shù)據(jù)庫序列112的S個(gè)符號的串),其中S是小于D的整數(shù)。作 為其他示例,構(gòu)想所述帶中的兩個(gè)或更多個(gè)可具有不同的長度。
[0027] 帶覆蓋數(shù)據(jù)庫序列112。此外,由于與Smith-Waterman算法相關(guān)聯(lián)的數(shù)據(jù)依賴性, 采用多個(gè)帶之間的小重疊(例如,在成本表108的重疊區(qū)域內(nèi)重新計(jì)算Smith-Waterman 值)。重疊可以基于用于對齊的成本函數(shù)116來確定。由此,雖然為被提供給處理單元 102 - 106的每一個(gè)的查詢序列114并行確定,但是成本表108中具有來自任一帶的最高 Smith-Waterman值的單元可以被標(biāo)識為跨各帶的最大值。
[0028] 而且,可以從該最大Smith-Waterman值求得回溯以便在查詢序列114中的符 號和數(shù)據(jù)庫序列112中的符號之間產(chǎn)生對齊。由此,可以檢測到來自成本表108的最大 Smith-Waterman值,且可以從該最大Smith-Waterman值執(zhí)行回溯以便在查詢序列114中的 符號和數(shù)據(jù)庫序列112中的符號之間產(chǎn)生對齊。
[0029] 處理