生物信息百Jia軟體(九):Mummer
來自專欄 基因學院
編者按
mummer具有一定的歷史了,應該最早發表於1999年,是最早的全局比對軟體,因為之前序列都比較短,以局部比對軟體為主。mummer的出現,讓我們第一次能夠比較到不同物種兩個完整基因組之間的差別。mummer裡面的小工具比較多,有很多非常好用的小工具,例如dnadiff,但這同時也增加了學習成本。mummer的比對速度比較快,我經常用來比較兩個完整的基因組。
一、功能分類:
全局比對軟體
二、軟體官網:
http://mummer.sourceforge.net/
三、軟體介紹:
MUMmer是TRIG在1999年開發的,經歷了多個版本的更新,現在最新的版本是3.0,Mummer的一個最大特點就是比對速度非常快,對資源的消耗比較少,官方的給出的數據是兩個5M左右的基因組,只用20秒左右的時間就可以比對完成,消耗的內存大約是90M,它是使用一種後綴樹的演算法。適合台式機水平的計算機來做大型基因組之間的比對。那麼在實際使用過程中,Mummer確實比對的比較快,對資源消耗也比較小。
Mummer官網介紹該軟體是一個多才多藝的軟體包,因為它可以完成生物數據分析中很多的功能。Mummer其實是一個軟體包,裡面包含了很多工具,這些工具搭配起來使用,可以完成非常多的工作。例如基因組比對,共線性分析,同源序列搜索,重複序列查找,SNP和Indel檢測等。四、下載安裝:
tar -zxvf MUMmer3.23.tar.gzcd MUMmer3.23make checkmake install
五、軟體使用:
mumer這個軟體不常用,而使用最多的是nucmer這個程序,根據命名我們可以看出,(NUCleotide
MUMmer) ,是在核酸水平進行比對的工具,其實nucmer是一個perl腳本,它是調用了mummer程序,首先找到兩條序列之間準確匹配區域,然後進行延伸,在使用mgaps進行cluter程序,最終保留那些滿足設定閾值的比對結果。找出全局比對的同源序列。首先介紹一下軟體包中的mummer軟體,mummer的名字來源於Maximal Unique Matcher ,最大唯一性比對。mummer這個程序主要是找到參考序列和query序列之間準確匹配的區域。query最大可以有32個。mummer是不容錯配的,適合用來畫共線性圖,但是我們通常的比對都是必須容許一定的錯配和gap的,mummer比對完了之後可以使用mummerplot這個程序繪製出共線性圖。敲nucmer 後面接-h選項,會輸出軟體的幫助信息。nucmer的使用也比較簡單,後面接選項參數,然後是參考序列reference,query序列即可。都是fasta格式,注意這裡面query只能是一個,並不像mummer軟體最大支持32個。nucmer
只適用於DNA比對,有多種比對模式,我們看一下,可以選擇比對在參考序列和query上都是唯一的,也就是1對1區域的比對,還可以限定參考序列區域wei1,也就是1對多的比對,還有就是可以對多對的比對。一般選擇1對1唯一比對。最終會輸出為delta格式文件,這種文件格式非常奇怪,非常的簡潔,主要是一堆數字,最開始是程序名,然後是參考序列和query的文件,用於後續程序處理讀取文件。對於delta格式的結果,mummer提供了大量工具來進行解析和處理。
首先就可以使用delta-filter工具,看名字就知道這個工具可以對delta格式進行處理。使用起來也比較簡單,如果比對過程中沒有選擇唯一比對,這個時候也可以選用delta-filter工具,選擇-1選項,過濾掉重複的比對。
首先就是使用show-snps工具,delta格式文件中記錄了序列之間的單鹼基錯配信息,那麼我們只需要使用show-snps工具處理一下即可得到snp結果,而且該工具可以進行多種輸出格式的調節,非常方便。nucmer --mum --maxgap=500 --mincluster=100 --prefix=nucmer ../../../Data/O157.fna ../../../Data/K12.fnadelta-filter -1 -q -r nucmer.delta > nucmer.filtershow-snps -C -H -I -T -r -l nucmer.filter >nucmer.snp
那麼這個就是我們最終得到的參考序列與query序列之間的SNP。非常的簡單。這樣就非常容易的找到兩個樣品之間的SNP。如果序列本身鹼基非常準確的話,那麼得到的SNP就可以繼續做後續的分析了。
另外還可以使用show-aligns 用於顯示比對,可以單獨數據每個序列的比對情況。show-coords用於顯示比對坐標show-tiling 等工具定位contig的位置,拼接完成圖中可以用到。如果兩條序列之間親緣關係比較遠的話,我們可以採用promer比對,(PROteinMUMmer),和nucmer類似,只不過是將兩條DNA在氨基酸水平進行比對,promer會將兩條序列分別翻譯成六種氨基酸模式,正反個三次。然後在氨基酸水平進行比對,這樣具有更高的敏感型。注意是DNA在氨基酸水平進行比對,該軟體並不支持直接的氨基酸進行比對。使用起來與nucmer類似。但是速度會慢很多,可以用於繪製共線性圖,但是不適合來找SNP。
下面我們來演示一下。promer --mum --maxgap=500 --mincluster=100 --prefix=promer ../Data/O157.fna ../Data/K12.fna
Mummer軟體包也提供了更好用的工具show-diff,輸入delta格式比對結果,就可以找出兩條序列之間的不同,包括gap,重拍,染個題變化,倍增等等信息,非常方便。
show-diff顯示大的染色體變化 倍增 重排或者直接使用dnadiff軟體一步生成,結果非常詳細,dnadiff可以直接加-d接delta格式的結果,或者更方便直接接兩條序列即可,非常方便好用。六、使用案例:
nucmer --mum --maxgap=500 --mincluster=100 --prefix=nucmer ../../../Data/O157.fna ../../../Data/K12.fna delta-filter -1 -q -r nucmer.delta > nucmer.filter show-snps -C -H -I -T -r -l nucmer.filter >nucmer.snp promer --mum --maxgap=500 --mincluster=100 --prefix=promer ../../../Data/O157.fna ../../../Data/K12.fna
七、注意事項:
1、Mummer的安裝需要make、sed、g++,awk等工具;
2、promer只是用於核酸在氨基酸水平比對,並不能直接用於氨基酸比對。
推薦閱讀:
※從biomart上下載兩個物種的orthologs數據集
※NCBI教程(一)獲取基因(gene)或基因產物(gene product)的功能
※初識GATK
※生物信息神奇網站系列(十七):Bioconductor Workflows
※R語言入門5:數據變形-Tidyr