序列組裝()是生物資訊學中的一種分析方法。此方法通過序列比對和序列合併等演算,將短片段的DNA建構成為較長的連續序列。此技術的創立,是因為被測序的核酸分子通常長度都遠大於目前存在的DNA測序技術。而此分析能試圖從有限長度的DNA測序結果,重建出原本被測序分子的樣貌。
序列組裝最常被使用在高通量測序資料的分析上(例如基因組霰彈槍定序,或者RNA轉錄體測序)。這一類的測序技術會產生大量的測序片段(read,複數reads),而這些片段的長度依照不同的技術,短為數十,長可至上萬個鹼基對(前者如因美纳(Illumina)的定序平台,後者如PacBio的或奈米孔洞測序)。而序列組裝旨在合併這些短片段來重建原本的分子序列。
我們可將序列組裝想像成從大量片段的文字中拼湊出一整篇文章的過程:被測序的分子就是那篇文章,而測序片段就是那段文章中,隨機切取出來的句子。其中一種重建出這段文章的方式,就是找到句子中重疊的部分,因為一旦找到夠多重疊的部分,我們就有機會將每個句子連接到一起,進而得到原始的文章。不難想像,此過程的困難不僅僅在於需要進行大量的片段比對,還會因原本文章的複雜度而製造更多問題:例如原本的文章可能有許多重復的段落,而帶有這些重複段落的文句可能會重疊在一起;又或者我們所拿到的句子中若有錯別字,亦會增加尋找重疊片段的難度。同樣的問題也同樣存在於生物資訊的序列組裝分析裡。
方法
依照參考序列的有無,序列組裝可分為:
- De-novo 組裝(拉丁語:意指「新的」):在沒有參考序列的情況下,僅使用序列片段所提供的資訊來組裝的方法。
- Mapping 組裝:在有參考序列的情況下,將測序片段比對至參考序列上,以取得組裝結果。
- 引導式組裝(guided assembly):介於de-novo組裝與mapping組裝之間 ——在有參考序列的情況下,以其作為引導,並結合使用序列片段本身的資訊進行組裝。
舉例來說,在進行時,de-novo組裝可能被使用在非模式物種基因組的分析上,因為其沒有臨進物種的基因組提供參考。相反的,如果有有鄰近或相同物種的基因組可做參考,則可使用mapping組裝或引導式組裝()。
De-novo 組裝又可分為三種演算法:
- Overlap - Layout - Consensus(OLC)法:即文章前段所舉的例子。此演算法分為三個步驟(圖一)。首先找出測序片段中「重疊」的部分,接著「配置」出這些片段可能的順序,最後從這些片段中找出「保守」的序列,組裝得到原始序列。此方法雖然直觀,但其電腦演算量較大,故通常被使用在組裝資料量不大而測序長度較長的資料上(例如Pac-Bio的測序結果)。
- (DBG)法:此方法使用數學圖論中的概念,先將每個測序片段拆解成(一個字串中所有長度為k的可能字串子集合)。接著從這些k-mer重疊的區段建構出De-Bruijn圖,再利用演算法解出De-Bruijn圖的結構並取得組裝結果(圖二)。此方法雖不如OLC法直觀,但在電腦演算需求上較OLC法小,故通常被用於資料量大而片段短的分析上(例如Illumina的測序結果)。
- 貪婪演算法
應用
- 全基因組組裝:組裝一個生物的基因組序列,可被應用於基因表現分析、個體間基因體差異比對、基因體層級的疾病研究等。
- RNA轉錄組組裝:從RNA測序並組裝,取得表現的基因的序列與表現量資料
- EST組裝
序列組裝程式
最早的序列組裝程式大約在1980至1990年代初期被發明。其雛形是序列比对分析的程式。隨著定序技術的進步以及被定序生物複雜度的增加(從小的病毒在质體至细菌和最後真核生物),序列組裝程式所採用的演算法也越趨複雜。基本上,組裝程式都至少要能應付下面三大問題:
- 大量的原始數據:一次的高通量測序可能產出數百至上千GB 的測序資料。為了分析如此大量的資料,組裝程式通常都需要在超級電腦或電腦叢集上運作。
- 重複片段:完全相同的或非常類似的序列會造成組裝過程中的困難。我們難以判斷重複的次數,重複片段的切確位置,甚至可能將兩個原本不相連卻都帶有同樣重複片段的序列誤組在一起(mis-assembled)。
- :測序錯誤可能產生自機器和技術本身的限制,而這樣的錯誤增加了序列比對的難度。
基因組組裝程式Celera 和Arachne 在2000年被研發出來——當時科學家試著組裝第一個較大型真核生物的基因組(果蝇),緊接著是隔年的人类基因组計畫。這兩個程式能处理約100至300亿个鹼基對的基因組。隨後,更大更複雜的組裝程式也被發明,例如阿莫斯組裝程式(AMOS, A Modular Open-source Assembler) 等。
下表列出了部分能夠進行 de-novo 組裝的程式。
参考文献
评论 (0)