最近在看泛基因組學(xué)产弹,學(xué)習(xí)了下MUMMER軟件(http://mummer.sourceforge.net/manual/):適用于兩個(gè)全基因組(基因草圖or完整基因組)的快速比對(duì)。
那么其比對(duì)就分為以下幾種情況:1)完整基因組→完成基因組;2)草圖→完成基因組唯卖;3)草圖→草圖。
而常見(jiàn)的就是第二種,Mapping a draft sequence to a finished sequence掏膏。常用于在草圖的結(jié)尾工作中將其比對(duì)到完整基因組參考序列上,幫助確定每條contig的位置和方向敦锌。同時(shí)馒疹,通過(guò)檢查這些保守區(qū)域,可以提高草圖注釋結(jié)果的準(zhǔn)確性乙墙。
軟件安裝
安裝簡(jiǎn)單颖变,MUMmer已有第四版生均,但是還在測(cè)試中,一般使用3.23腥刹。
wget https://jaist.dl.sourceforge.net/project/mummer/mummer/3.23/MUMmer3.23.tar.gz
tar -vcxf MUMmer3.23.tar.gz
cd MUMmer3.23
make check
make install
#再添加值環(huán)境變量即可
軟件原理
具體原理可見(jiàn)作者hoptop的文章[應(yīng)該是最新最詳細(xì)的MUMmer中文使用說(shuō)明]: http://www.reibang.com/p/2e184e5c15b7
核心是基于Maximal exact matching算法開(kāi)發(fā)的mummer马胧。
其流程分為三步:
- 用
mummer
在兩個(gè)輸入中找給定長(zhǎng)度的極大唯一匹配( Maximal exact matching ) - 然后將這些匹配區(qū)域聚類成較大不完全聯(lián)配區(qū)域, 作為錨定點(diǎn)(anchor)
- 最后它從每個(gè)匹配外部擴(kuò)展聯(lián)配, 形成有g(shù)ap的聯(lián)配。
mummer: 基于后綴樹(shù)(suffix tree)數(shù)據(jù)結(jié)構(gòu)衔峰,能夠在兩條序列中有效定位極大唯一匹配(maximal unique matches)佩脊,因此它比較適用于產(chǎn)生一組準(zhǔn)確匹配(exact matches)以點(diǎn)圖形式展示,或者用來(lái)錨定從而產(chǎn)生逐對(duì)聯(lián)配(pair-wise alignments)垫卤。
聚類:能夠比較智能地把幾個(gè)獨(dú)立地匹配按照順序聚成一塊威彰。分為兩種模式gaps
和mgaps
。這兩者差別在于是否允許重排,分別用于run-mummer1
,run-mummer3
穴肘。
以上兩個(gè)是主要的工具歇盼,還有4個(gè)工作流程:
-
nucmer
: 由Perl寫的流程,用于聯(lián)配很相近(closely related)核酸序列评抚。它比較適合定位和展示高度保守的DNA序列豹缀。注意,為了提高nucmer的精確性盈咳,最好把輸入序列先做遮蓋(mask)避免不感興趣的序列的聯(lián)配耿眉,或者修改單一性限制降低重復(fù)導(dǎo)致的聯(lián)配數(shù)。 -
promer
:也是Perl寫的流程鱼响,它以翻譯后的氨基酸序列進(jìn)行聯(lián)配鸣剪,工作原理同nucmer
. -
run-mummer1
,run-mummer3
: 兩者是基于cshell寫的流程,用于兩個(gè)序列的常規(guī)聯(lián)配丈积,和promer,nucmer類似筐骇,只不過(guò)能夠自動(dòng)識(shí)別序列類型。它們擅長(zhǎng)聯(lián)配相似度高的DNA序列江滨,找到它們的不同铛纬,也就是適合找SNP或者糾錯(cuò)。前者用于1v1無(wú)重排唬滑,后者1v多有重排
軟件使用
下面介紹的是基因組草圖比對(duì)上完整基因組的情況告唆。
- 比對(duì)
ref.fasta :完成圖序列;
qry.fasta:接近完成圖的contig序列晶密。
nucmer --prefix=ref_qry ref.fasta qry.fasta #比對(duì)
delta-filter -q ref_qry.delta > ref_qry.filter #過(guò)濾擒悬,除去不太適合的部分,但結(jié)果不適合讀
show-coords -rcl ref_qry.delta > ref_qry.coords #將結(jié)果轉(zhuǎn)換為以人類可讀的格式顯示匹配的坐標(biāo)
show-aligns ref_qry.delta refname qryname > ref_qry.aligns #查看某一個(gè)匹配的序列的比對(duì)情況
show-tiling ref_qry.delta > ref_qry.tiling #將contig回帖到ref上
- SNP檢測(cè)
將幾個(gè)MUMMER組件聯(lián)合起來(lái)還能用于snp的檢測(cè)稻艰。
nucmer --prefix=ref_qry ref.fasta qry.fasta
show-snps -Clr ref_qry.delta > ref_qry.snps #-C指輸出唯一匹配的snp -l 輸出結(jié)果中包括序列的長(zhǎng)度 -r 按照 ref的ID和snp位置信息進(jìn)行排序
每次學(xué)習(xí)軟件上手都比較簡(jiǎn)單懂牧,但是想要深入原理的話,就比較困難了尊勿。
繼續(xù)學(xué)習(xí)~~~~
參考:
[MUMmer官網(wǎng)]: http://mummer.sourceforge.net/manual/
[ 應(yīng)該是最新最詳細(xì)的MUMmer中文使用說(shuō)明 ] : http://www.reibang.com/p/2e184e5c15b7