最近雜事真的非常的滿匆篓,終于找到時(shí)間更新一下猛铅。陆蟆。雷厂。。
通過(guò)上一篇文章的介紹叠殷,系統(tǒng)發(fā)育樹(shù)的基本概念大家已經(jīng)了解清楚改鲫,那到底怎么獲得一棵可信的進(jìn)化樹(shù)呢?
構(gòu)建系統(tǒng)發(fā)育樹(shù)
對(duì)于群體遺傳學(xué)分析林束,一般都會(huì)以群體SNPs位點(diǎn)數(shù)據(jù)構(gòu)建系統(tǒng)發(fā)育樹(shù)像棘,因此,接下來(lái)我主要以SNPs數(shù)據(jù)為例壶冒,介紹系統(tǒng)進(jìn)化樹(shù)的構(gòu)建方法缕题。
構(gòu)建步驟概況
序列比對(duì)->建樹(shù)方法選擇->計(jì)算最佳替代模型->進(jìn)化樹(shù)建立->進(jìn)化樹(shù)美化
序列比對(duì)
常見(jiàn)的序列比對(duì)軟件包括:Clustal和Muscle等。
Clustal除了有自己獨(dú)立的軟件外(多種操作系統(tǒng)都支持)胖腾,也常被整合到一些常見(jiàn)的軟件中烟零,如:Bioedit、MEGA等咸作。
Muscle同樣支持多種操作系統(tǒng)锨阿。
兩個(gè)軟件的引用頻率都很高,沒(méi)有絕對(duì)的誰(shuí)好誰(shuí)壞记罚,哪個(gè)順手就用哪個(gè)即可墅诡。
建樹(shù)方法選擇
1、Distance-based methods 距離法:
基于距離的方法:首先通過(guò)各個(gè)物種之間的比較桐智,根據(jù)一定的假設(shè)(進(jìn)化距離模型)推導(dǎo)得出分類群之間的進(jìn)化距離末早,構(gòu)建一個(gè)進(jìn)化距離矩陣。進(jìn)化樹(shù)的構(gòu)建則是基于這個(gè)矩陣中的進(jìn)化距離關(guān)系酵使。
Unweightedpair group method using arithmetic average(UPGMA)非加權(quán)分組平均法
Minimum evolution(ME)最小進(jìn)化法
Neighbor joining(NJ)鄰位歸并法
2荐吉、Character-based methods 特征法:
基于特征的方法:不計(jì)算序列間的距離焙糟,而是將序列中有差異的位點(diǎn)作為單獨(dú)的特征口渔,并根據(jù)這些特征來(lái)建樹(shù)。
Maximum parsimony(MP) 最大簡(jiǎn)約法
Maximum likelihood method(ML) 最大似然法
模型選擇的依據(jù)如下圖:
UPGMA法已經(jīng)較少使用穿撮。一般來(lái)講缺脉,如果模型合適痪欲,ML的效果較好。對(duì)近緣序列攻礼,有人喜歡MP业踢,因?yàn)橛玫募僭O(shè)最少。MP一般不用在遠(yuǎn)緣序列上礁扮,這時(shí)一般用NJ或ML知举。對(duì)相似度很低的序列,NJ往往會(huì)出現(xiàn)Long-branch attraction(LBA太伊,長(zhǎng)枝吸引現(xiàn)象)雇锡,有時(shí)嚴(yán)重干擾進(jìn)化樹(shù)的構(gòu)建。貝葉斯方法則太慢僚焦。對(duì)于各種方法構(gòu)建分子進(jìn)化樹(shù)的準(zhǔn)確性锰提,有一篇綜述(Hall BG, 2005)認(rèn)為貝葉斯的方法最好,其次是ML芳悲,然后是MP立肘。其實(shí)如果序列的相似性較高,各種方法都會(huì)得到不錯(cuò)的結(jié)果名扛,模型間的差別也不大谅年。不過(guò)現(xiàn)在文章普遍使用的是NJ是ML模型。
替代模型選擇
系統(tǒng)發(fā)育分析中肮韧,最大似然法(ML)和貝葉斯法(BI)是對(duì)替代模型非常敏感的兩種算法踢故,因此,利用ML法或BI法重建系統(tǒng)發(fā)育樹(shù)前惹苗,替代模型的選擇是必不可少的過(guò)程殿较。
- jModeltest適用于核苷酸替代模型的選擇,是一個(gè)跨平臺(tái)java程序桩蓉。
- ProtTest適用于氨基酸替代模型的選擇淋纲。
這兩個(gè)軟件都是通過(guò) PhyML 對(duì)進(jìn)化樹(shù)和模型參數(shù)進(jìn)行最大似然估計(jì),通過(guò) AIC, BIC 分值尋找最佳替代模型院究,分值越小則模型越優(yōu)洽瞬。
使用jModeltest計(jì)算核苷酸最佳替代模型
Win操作系統(tǒng)下jModeltest的使用方法參考這篇文章:圖解核苷酸替代模型的選擇 - jModelTest 篇(By Raindy)。
ProTest的使用方法可以參考這篇文章:使用 ProtTest 來(lái)選擇最優(yōu)氨基酸替代模型业汰。
我自己基本都用的是Linux版本的jModelTest伙窃,使用及其簡(jiǎn)單,命令如下:
java -jar /PathToJmodel/jmodeltest-2.1.10/jModelTest.jar -d FileName.phy -f -i -g 4 -s 11 -BIC -AIC -v -a -tr 40 -o FileName_jmodeltest.txt
參數(shù)說(shuō)明:
-d:輸入文件样漆。注意为障!這個(gè)軟件需要輸入的是.phy格式文件,不是.fasta格式。
-f:include models with unequals base frecuencies
-g:include models with rate variation among sites and number of categories
-i: include models with a proportion invariable sites
-s:number of substitution schemes
-v:do model averaging and parameter importances
-a:estimate model-averaged phylogeny for each active criterion
-BIC:calculate the Bayesian Information Criterion
-AIC:calculate the Akaike Information Criterion
結(jié)果的最下方鳍怨,有如圖所示的列舉呻右,也就是得分最高的模型。
建樹(shù)
計(jì)算完最佳模型鞋喇,我們就要開(kāi)始建樹(shù)了声滥。對(duì)于ML樹(shù)的構(gòu)建,推薦大家使用新一代RAxML——raxml-ng侦香。
RAxML一直是ML建樹(shù)的經(jīng)典工具落塑,其由來(lái)自德國(guó)海德堡理論科學(xué)研究所(Heidelberg Institute for Theoretical Studies)的Alexandros Stamatakis開(kāi)發(fā)。近年來(lái)罐韩,其江湖地位也受到來(lái)自其他軟件芜赌,尤其是IQ-Tree的挑戰(zhàn)。Zhou等人的文章Evaluating Fast Maximum Likelihood-Based Phylogenetic Programs Using Empirical Phylogenomic Data set對(duì)RAxML伴逸,IQ-TREE缠沈,F(xiàn)astTree,Phyml四個(gè)最大似然法建樹(shù)軟件的實(shí)際效果和表現(xiàn)進(jìn)行了系統(tǒng)比較错蝴,其中一個(gè)結(jié)論是IQTREE在準(zhǔn)確性方面要略勝一籌洲愤。
近日,RAxML的升級(jí)版顷锰,raxml-ng發(fā)布柬赐!
相較于上一代,raxml-ng有如下優(yōu)勢(shì):
- 速度較RAxML有較大幅度提升官紫。raxml-ng對(duì)算法有改進(jìn)肛宋,其中也借鑒了IQTREE的部分思路。作者利用Zhou的數(shù)據(jù)將raxml-ng與IQTREE進(jìn)行了比較束世,發(fā)現(xiàn)raxml-ng在可以得出更準(zhǔn)確的結(jié)果的同時(shí)其速度是IQTREE的1.3到4.5倍酝陈。
- RAxML對(duì)于DNA替換模型的吝嗇是其飽受詬病的一個(gè)原因。而這一問(wèn)題在raxml-ng中得到了完美解決毁涉。raxml-ng現(xiàn)在支持22個(gè)核酸進(jìn)化模型沉帮。
- 多線程效率上有一定提升
使用raxml-ng構(gòu)建ML樹(shù)
話不多說(shuō),直接建樹(shù):
raxml-ng --all --msa FileName.fas --model TVM+G --bs-trees 1000 --threads 90
參數(shù)說(shuō)明:
--all:Perform an all-in-one analysis (ML tree search + non-parametric bootstrap)
--msa:對(duì)其后的序列文件
--model:直接輸入上一步產(chǎn)生的最佳模型
--bs-trees:檢查樹(shù)的魯棒性(robustness)進(jìn)行自展(bootstrap)檢驗(yàn)贫堰,進(jìn)行1000次bootstrapping抽樣
--threads:給定線程
運(yùn)行后結(jié)果如下圖所示穆壕,其中.bestTree就是我們要的樹(shù)文件,導(dǎo)入樹(shù)可視化工具即可(我比較常用MEGA和iTOL),下次再寫(xiě)一下如何美化進(jìn)化樹(shù)吧其屏。
工欲善其事喇勋,必先利其器
做進(jìn)化分析的工友們可能都有個(gè)感覺(jué),很多分析一等就是好幾天偎行,特別是建樹(shù)(做過(guò)的都知道其中的痛苦)川背,有時(shí)候忽然加入一個(gè)樣品又要從頭來(lái)贰拿。因此,一臺(tái)給力的服務(wù)器是必要的工具渗常。比如,上文提到了SNP進(jìn)化樹(shù)汗盘,我做的還僅僅只是相近物種皱碘,而且基因組很小(9M)隐孽,SNP位點(diǎn)就有4萬(wàn)個(gè)癌椿,如果要用我MEGA這些軟件調(diào)用我電腦8核的CPU,1000自展值可能要跑到畢業(yè)菱阵。
生物學(xué)背景出身的我踢俄,抄著那一點(diǎn)可憐的計(jì)算機(jī)常識(shí),在我們課題組購(gòu)買(mǎi)服務(wù)器時(shí)晴及,我做了非常多的功課都办。當(dāng)然,主要還是聽(tīng)取公司技術(shù)人員的建議虑稼,通過(guò)我非常非常非常長(zhǎng)時(shí)間的測(cè)試琳钉,多次使用常見(jiàn)的生物信息分析軟件(我主要從事寄生蟲(chóng)基因組、宿主轉(zhuǎn)錄組蛛倦、16S宏基因組等研究)歌懒,最終,找到了一個(gè)性價(jià)比超高的服務(wù)器配置溯壶,具體配置如下:
單臺(tái)雙計(jì)算節(jié)點(diǎn)服務(wù)器+混合統(tǒng)一高速存儲(chǔ):
- 單節(jié)點(diǎn)48核96線程2.3GHz全核滿載3.0GHz及皂,512GB內(nèi)存【單臺(tái)96核192線程,1TB內(nèi)存】且改,固態(tài)系統(tǒng)及緩存盤(pán)(線程數(shù)不用解釋吧验烧,越多越好;遠(yuǎn)程控制跑跑各種生物學(xué)腳本用不到顯卡又跛,錢(qián)都丟到CPU和內(nèi)存才是王道)噪窘;
- 120TB混合統(tǒng)一存儲(chǔ)萬(wàn)兆互聯(lián)(注意:和存儲(chǔ)之間的交換速度直接影響大部分腳本運(yùn)行速度)。
真心感謝一下烽偉的技術(shù)小哥哥們效扫,樂(lè)死不疲的回答我各種低級(jí)的問(wèn)題倔监,如果有啥需要可以聯(lián)系一下他們的技術(shù),感覺(jué)蠻靠譜噠菌仁,官網(wǎng):烽偉科技浩习。
上一個(gè)他們的LOGO,以表感謝济丘。
本文為本人的學(xué)習(xí)筆記谱秽,希望對(duì)大家有所幫助洽蛀。本文大量參考網(wǎng)絡(luò)文章,文章來(lái)源列舉于全文末尾疟赊。
參考:
一文讀懂進(jìn)化樹(shù)
使用 ProtTest 來(lái)選擇最優(yōu)氨基酸替代模型
RAxML進(jìn)化樹(shù)構(gòu)建的新一代——raxml-ng