當我們利用NGS定序儀器所產出的資料格式為FASTQ,細節的說明可參閱之前的介紹(http://yourgene.pixnet.net/blog/post/84563506),其後續的生物資訊分析步驟中,如定序的物種有已知的基因體參考序列,則可將定序出來的short reads針對已知的基因體參考序列做alignment。
傳統的alignment分析過程,最常使用的工具就是BLAST(Basic Local Alignment Search Tool),不過由於NGS的技術所產出的資料特點是資料量龐大,序列片段都較短,針對NGS產出的資料如使用傳統的BLAST針對已知的基因體參考序列做alignment是非常沒有效率的。因此在近幾年針對NGS的資料所設計的alignment工具大量的被發展出來。
今天以window7的作業系統下,介紹常使用的alignment工具bowtie的基本操作
步驟一:下載bowtie
連結到(http://sourceforge.net/projects/bowtie-bio/files/bowtie/0.12.8/bowtie-0.12.8-win32.zip/download)下載bowtie的軟體
步驟二:解壓縮及放到C槽下
步驟三:使用命令提示字元操作執行指令
Bowtie在操作上面是需要使用輸入執行指令的方式來執行,在window7下則需開啟命令提示字元,快速開啟的方法是 1.【開始】→2.輸入cmd →3.Enter,之後請輸入cd c:\bowtie-0.12.8,則命令提示字元的畫面會切換到前一步驟解壓縮的位置。
步驟四:執行bowtie,以single-end read做alignment
在bowite的資料夾下,已經有將e_coli的已知基因體序列做完索引放在C:\bowtie-0.12.8\indexes之下;測試用的reads放在C:\bowtie-0.12.8\reads之下
最簡單的指令請輸入bowtie –S indexes\e_coli reads\e_coli_1000.fq e_coli.sam
當輸入完上列指令後,螢幕會列出此alignment步驟的結果,共用1000條reads,其中有699條是有map到e_coli上,301條是沒有map到任何位置。
而打開資料夾可看到e_coli.sam這個檔案
e_coli.sam記錄此alignment的結果,以sam的格式紀錄,打開後的內容如下圖
在此簡單介紹sam檔的格式
開頭3行以”@”起始的稱為標頭行,紀錄了此alignment步驟中的註解資訊,包含參考序列的長度等資訊,接者的每一行即read map到參考序列的資訊,以r0這條read為例,這條read以reverse mapping map到e_coli的已知基因體參考序列的第3658050位置;r5這條read為例,這條read以forward mapping map到e_coli的已知基因體參考序列的第4249842位置。
在alignment的過程中,可以調整的參數很多,其中允許的mismatch數在bowtie中有兩種模式,一種是n模式,一種是v模式。
這邊以v模式為例,v0代表read和已知的參考序列間不能有mismatch,v1代表read和已知的參考序列間能有1個mismatch,依此類推最多到3個mismatch。
以下將同樣資料(e_coli_1000.fq)從v0~v3的alignment結果列出來:
v0 模式
v1 模式
v2 模式
v3 模式
可看到當允許的mismatch數從0~3增加時,1000條reads裡能map回已知的基因體序列的reads數從347條->566條->654條->706條,概念上能允許越多的mismatch,alignment rate 也將越高。
步驟五:執行bowtie,以paired-end read做alignment
目前NGS定序儀器所產出的reads,有一種形式是paired-end reads,在bowtie的練習檔中,也提供了此類型的reads,如下圖
e_coli_1000_1.fq是read 1 , e_coli_1000_2.fq 是read 2,同樣使用bowtie針對paired-end reads做alignment的指令及結果如下圖
最後補充一點,如需針對特定參考序列做alignment,需使用bowtie-build這個指令來建立index,語法是 bowtie-build <input.fasta> <index檔名>。
這個步驟後會產生出以index檔名的6個附檔名檔案。
bowtie的首頁也提供了一些常用物種的index好的已知基因體參考序列
請連結至bowtie首頁(http://bowtie-bio.sourceforge.net/index.shtml)
留言列表