IQ-TREE的使用 - 超快速用極大似然法構(gòu)建進(jìn)化樹

寫在前面

我知道IQ-tree已經(jīng)有很長(zhǎng)一段時(shí)間了。不過我一直并沒有使用它。主要原因是,常用的快速構(gòu)建ML樹的軟件是FastTree,如果要求準(zhǔn)確,我會(huì)在服務(wù)器上使用RaxML。所以是用不到。不過,使用IQ-tree可能最大的好處是,他支持直接估算替代模型。確實(shí)會(huì)省事許多。由于最近相對(duì)有多一點(diǎn)時(shí)間,那么我就查閱并記錄一下IQ-tree的文檔。

程序下載位置

IQ-tree官方現(xiàn)在似乎只提供多線程版本....

http://www.iqtree.org/#download

如果你趕時(shí)間,那么直接翻到最后。

簡(jiǎn)單構(gòu)建進(jìn)化樹

iqtree -s example.phy

其中-s參數(shù)跟的是輸入的多序列比對(duì)結(jié)果。運(yùn)行這個(gè)命令會(huì)產(chǎn)生兩個(gè)輸出文件
example.phy.iqtree記錄相對(duì)具體的進(jìn)化樹構(gòu)建信息。
example.phy.treefile記錄構(gòu)建成的進(jìn)化樹的newick文本,這個(gè)應(yīng)該是最重要的輸出文件
example.phy.log主要用于給軟件作者debug。

作者在文檔里提到

從版本1.5.4開始,默認(rèn)自動(dòng)估算最優(yōu)替代模型

這是一個(gè)非常機(jī)智的操作....

IQ-tree運(yùn)行過程會(huì)保存每一步成功運(yùn)行的結(jié)果,或者說他是運(yùn)行中斷并從斷點(diǎn)重新開始的。這個(gè)對(duì)于大數(shù)據(jù)集是有很大好處的。不過有時(shí)候,我們就是想從頭開始,那么需要加上參數(shù)-redo。

iqtree -s example.phy -redo

默認(rèn)情況下IQ-tree的輸出文件名字以輸入的alignment文件為前綴。我們可以對(duì)其進(jìn)行修改,使用-pre參數(shù)

iqtree -s example.phy -pre myprefix

不過事實(shí)上,我覺得完全沒必要。除非你要不斷的調(diào)整建樹的參數(shù)。

選擇合適的替代模型

IQ-tree支持多種不同輸入數(shù)據(jù)的替代模型選擇,包括

  • DNA
  • protein
  • codon
  • binary
  • morphological

通過設(shè)置參數(shù)-m MFP使其自動(dòng)測(cè)試并選擇最優(yōu)替代模型

iqtree -s example.phy -m MFP

這個(gè)參數(shù)其實(shí)已經(jīng)可以不用給了,上述說過,會(huì)默認(rèn)執(zhí)行。
一旦執(zhí)行最優(yōu)替代模型的預(yù)測(cè),那么就會(huì)多輸出一個(gè)文件,
example.phy.model記錄了所有模型的似然信息。
事實(shí)上,最優(yōu)替代模型的信息會(huì)記錄 example.phy.iqtree中。如果是完全相同的多序列比對(duì)結(jié)果,那么最優(yōu)替代模型也是相同的。如果并沒有改變過,那么完全可以指定替代模型,比如已知最優(yōu)替代模型為TIM2+I+G。那么可以執(zhí)行下述命令

iqtree -s example.phy -m TIM2+I+G

當(dāng)然,有時(shí)候,你只是想看看最優(yōu)替代模型是啥,而不想構(gòu)建進(jìn)化樹,畢竟后者相對(duì)耗時(shí)。那么可以執(zhí)行

iqtree -s example.phy -m MF

如果計(jì)算資源允許,那么最好的方式是增加參數(shù)-mtree,這樣會(huì)檢查所有可用模型

iqtree -s example.phy -m MF -mtree

如果你的輸入數(shù)據(jù)是SNP數(shù)據(jù),那么需要加上+ASC

iqtree -s SNP_data.phy -m MFP+ASC

當(dāng)然,基于傳言和個(gè)人經(jīng)驗(yàn),在SNP數(shù)據(jù)上,似乎NJ法的表現(xiàn)就是由于ML法。

使用超快bootstrap法評(píng)估分支支持度

真實(shí)的進(jìn)化信息只有一個(gè),而我們總是拿著有限的序列信息,希望去獲得他。能否獲得他,是一個(gè)問題。而我們使用的序列信息是否能真實(shí)且穩(wěn)定地反應(yīng)一個(gè)進(jìn)化信息,那么是另外一個(gè)事情。bootstrap法常用的,尤其是ML法構(gòu)建進(jìn)化樹上,分支可靠性檢驗(yàn)方法。但是這個(gè)計(jì)算邏輯最大的問題在于,抽樣重新跑,抽樣再重新跑,不斷重復(fù),直到收斂或者是到指定的比如1000次。計(jì)算量大,耗時(shí)長(zhǎng)。IQ-tree的作者團(tuán)隊(duì)在前述提出了一個(gè)快速的BS方法,最后整合到IQ-tree中。使用的方式是

iqtree -s example.phy -m TIM2+I+G -bb 1000

注意到:

  1. -m TIM2+I+G 是因?yàn)橐呀?jīng)指定了替代模型
  2. -bb 1000 指定了要用快速BS法做1000次

在這些參數(shù)下,輸出文件example.phy.iqtree中會(huì)增加一個(gè)MAXIMUM LIKELIHOOD TREE部分,其中記錄了具體BS結(jié)果。對(duì)應(yīng)的newick文本則可以在example.phy.treefile中找到。
此外,會(huì)增加三個(gè)輸出文件

  1. example.phy.contree記錄了一致樹,我個(gè)人認(rèn)為這個(gè)用處不到,事實(shí)上,一致樹我覺得主要是好看....
  2. example.phy.splits....
  3. example.phy.splits.nex... 與第2個(gè)文件具體信息類同

作者提醒到

快速BS法的具體解讀與常規(guī)的BS法有不同,用戶需要知曉。

我個(gè)人事實(shí)上在很早的時(shí)候,其實(shí)試過IQ-tree,但是兩三套數(shù)據(jù)下來,自認(rèn)為其表現(xiàn)不如RaxML,于是沒有使用。作者在文檔中提到,模型沖突的情況下,快速BS會(huì)高估BS值,推薦加上參數(shù)-bnni。于是,命令是

iqtree -s example.phy -m TIM2+I+G -bb 1000 -bnni

當(dāng)然,作者仍然提供正常的BS參數(shù),也就是不要-bb,而只用-b?;蛟S我們不趕時(shí)間的情況下,可以使用

iqtree -s example.phy -m TIM2+I+G -b 100

此外,IQ-tree還支持其他的支持度估算方法
SH-like

iqtree -s example.phy -m TIM2+I+G -alrt 1000

你甚至可以同時(shí)進(jìn)行兩種分支支持度的計(jì)算,

iqtree -s example.phy -m TIM2+I+G -alrt 1000 -bb 1000

嗯,作為一個(gè)基本不怎么做進(jìn)化分析的,我似乎覺得有BS就足夠了,畢竟這個(gè)似乎才是最多人care的。

使用多線程

Emm... 我以為iqtree本身是直接支持多線程,但是似乎從文檔來看,是需要另外的一個(gè)iqtree版本,iqtree-omp。

iqtree -omp -s example.phy -m TIM2+I+G -nt 2

注意到,只有在長(zhǎng)的比對(duì)結(jié)果下,使用多線程才會(huì)更有效。最好的方式是讓IQtree自行定奪

iqtree -omp -s example.phy -m TIM2+I+G -nt AUTO

不過目前應(yīng)該是官方就有編譯的支持多線程的。

寫在后面

總結(jié),使用IQ-tree構(gòu)建進(jìn)化樹的一步法,可能是

iqtree -s example.phy -m MFP -bb 1000  -bnni  -redo

最后查看結(jié)果文件example.phy.treefile。
如果你擔(dān)心快速BS效果不好,那么考慮使用

iqtree -s example.phy -m MFP -b 1000  -redo

如果你的序列足夠長(zhǎng),那么文檔建議增加-cmax,默認(rèn)是10,這主要是計(jì)算資源的問題。

iqtree -s example.phy -m MFP -bb 1000  -bnni -cmax 15  -redo

當(dāng)然,很多時(shí)候是需要增加多線程支持參數(shù),如下

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

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

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