SNP數(shù)據(jù)構(gòu)建系統(tǒng)進(jìn)化樹

大概是長期的不鍛煉使得今天的爬山運(yùn)動過量了,接著悲劇就是無法入眠。也幸虧明天是周日,干脆就起床碼字了。
總結(jié)下自己前面用snp構(gòu)建系統(tǒng)進(jìn)化樹的方法吧。

1.構(gòu)建進(jìn)化樹的算法

構(gòu)建系統(tǒng)進(jìn)化樹的方法主要有以下幾類:

基于距離矩陣的方法:NJ(鄰接法)

MP(最大簡約法)

ML(最大似然法)

以及貝葉斯法。

一般情況下,若有合適的模型,ML的效果較好;

近緣序列的話,一般使用MP;

遠(yuǎn)源序列,一般使用NJ或者M(jìn)L。

在分析變異過濾得到SNP時,一般都會用PHYLIP構(gòu)建NJ進(jìn)化樹。

PHYLIP軟件官網(wǎng)http://evolution.genetics.washington.edu/phylip.html

那么具體如何操作呢?

軟件安裝

軟件安裝較為簡單

wget http://evolution.gs.washington.edu/phylip/download/phylip-3.69.tar.gz ./ #下載軟件
tar zxvf phylip-3.69.tar.gz #解壓
cd phylip-3.69/src
make install
#以上幾步即安裝完軟件,文件夾中的exe目錄里為可執(zhí)行程序

2.輸入文件的格式轉(zhuǎn)換

查看Phylip軟件的說明,發(fā)現(xiàn)其輸入文件的格式為下圖,并不為vcf格式(http://evolution.genetics.washington.edu/phylip/doc/main.html#inputfiles),因此需要對其進(jìn)行格式的轉(zhuǎn)換。

輸入文件格式事例.png

其中第一行為構(gòu)建進(jìn)化樹的樣品數(shù)以及每個樣品使用的snp數(shù)目。

第二行及以下為每個樣品的名稱及snp的具體內(nèi)容。需要注意的是樣品的名稱必須為10個字母,如果未達(dá)到10個字母,可用tab鍵或者空格鍵代替。第11個字母后即為snp的內(nèi)容,同時在這些序列中,一般每10個位點(diǎn)會有1個空格使其方便閱讀。每個樣品的用于構(gòu)建snp的個數(shù)必須相同。

根據(jù)以上的規(guī)定,可以寫腳本將vcf格式轉(zhuǎn)化為可用于phylip的phy格式。

3.軟件使用

phylip中有許多程序,大部分的程序運(yùn)行方法相同,把infile作為默認(rèn)的輸入文件,輸出結(jié)果寫在outfile中。因此,在進(jìn)行下一步分析前,需要重命名想要保存的文件。

seqboot: 生成隨機(jī)樣本,用bootstrap和jack-knife方法。需要設(shè)置選項(xiàng)M

dnadist:DNA距離矩陣計(jì)算器。

neighbor:NJ法的使用

consense:用多重樹構(gòu)建一致樹。

每個程序都需要設(shè)定參數(shù),因此還需要新建par文件。

#cat seqboot.par
all.merge.snp.phy #設(shè)定輸入文件的名稱,否則輸入默認(rèn)的名為infile的文件
r #選擇bootstrap
1000 #設(shè)置bootstrap的值,即重復(fù)的replicate的數(shù)目,通常使用1000或者100,注意此處設(shè)定好后,后續(xù)兩步的M值也為1000或者100
y #yes確認(rèn)以上設(shè)定的參數(shù)
9 #設(shè)定隨機(jī)參數(shù),輸入奇數(shù)值。

#cat dnadist.par
seqboot.out #本程序的輸入文件
t #選擇設(shè)定Transition/transversion的比值
2.3628 #比值大小
m #修改M值
d #修改M值
1000 #設(shè)定M值大小
2 #將軟件運(yùn)行情況顯示出來
y #確認(rèn)以上設(shè)定的參數(shù)

#cat neighbor.par
dnadist.out #本程序的輸入文件
m 
1000  #設(shè)定M值大小
9 #設(shè)定隨機(jī)數(shù),輸入奇數(shù)值
y #確認(rèn)以上設(shè)定的參數(shù)

# cat consense.par
nei.tree  #本程序的輸入文件
y #確認(rèn)以上設(shè)定的參數(shù)

再運(yùn)行以下命令行即可

seqboot<seqboot.par &&mv outfile seqboot.out &&dnadist<dnadist.par &&  mv outfile dnadist.out && neighbor<neighbor.par && mv  outfile nei.out && mv outtree nei.tree  && consense<consense.par && mv outfile cons.out && mv outtree constree

最后將會得到constree文件,可將該文件gaiwei*.tre文件,雙擊后在treeview中直接查看進(jìn)化樹的內(nèi)容。

若要進(jìn)行進(jìn)一步的編輯,可使用iTOL在線的網(wǎng)站(http://itol.embl.de/)進(jìn)行編輯,以下即為我得到的一個進(jìn)化樹。

進(jìn)化樹.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容