利用IQ-TREE构建ML树

以下内容基于IQ-TREE 1.6.12
IQ-TREE主要由来自奥地利维也纳大学(Universität Wien)Bùi Quang Minh等开发。 提供包括windows(64/32位)、linux(64/32位)、以及macOS在内的多平台不同版本。
IQ-TREE有四大功能,在很大程度上解决了最大似然法建树软件、尤其是速度上的几个缺陷:
- 高效建树(efficient tree reconstruction)
- 模型选择(modelfinder: fast and accurate model selection)
- 超快自展(ultrafast bootstrap approximation)
- 大型数据(big data analysis)
基本用法
通过-s指定输入的序列比对文件,接受格式包括 PHYLIP/FASTA/NEXUS/CLUSTAL/MSF
[user@server ~]# iqtree -s example.phy
运行过程中IQ-TREE会调用ModelFinder进行模型选择,并在最优模型(最优标准默认为BIC,Bayesian Information Criterion) 的基础上进行进化树构建。最终将产生4个主要的结果文件:
- example.phy.iqtree 记录相对具体的进化树构建信息
- example.phy.treefile 记录构建成的ML树的newick文本
- example.phy.mldist 记录似然距离矩阵
- example.phy.log 记录屏幕的日志
此外还有3个次要临时文件,包括example.phy.bionj,example.phy.ckp.gz和example.phy.model.gz。
进化模型选择
IQ-TREE针对蛋白质序列将对546个模型进行检验,针对DNA序列将对286个模型进行检验。模型检验受-m参数控制,
实际上上述基本用法相当于执行如下操作:
[user@server ~]# iqtree -s example.phy -m MFP
如仅执行模型选择,而不进行ML树搜索,须设置-m MF。输出结果将不再有example.phy.mldist,同时example.phy.treefile也不再存放ML树,
取而代之的是用于ModelFinder的树文件。
在设置-m MF(包括-m MFP)进行模型选择时,在常用模型基础上,加上了FreeRate model,所以模型就有546和286之多。
如果计算资源有限,像jModelTest, ProtTest那样在常规模型中选择,可执行:
[user@server ~]# iqtree -s example.phy -m TEST
类似地,设置-m TESTONLY将仅执行模型选择。
已知最优模型,或想根据特定模型构建ML树,仍须通过-m参数设置,规则为-m modelname+F+I+G[n],其中关于碱基/氨基酸频率的+F、不变位点的+I
和离散Gamma模型(突变速率异质性)的+G[n](n默认为4),可组合使用。此外,FreeRate model的设置为-m modelname+R[n]。
超快Bootstrap法评估分支支持度
Bootstrap自展分析是最常用的分支可靠性检验方法,但在ML树构建过程中,由于ML法本身速度较慢,加之Bootstrapping使得整个计算进程被大大拉长。 IQ-TREE团队开发了一个超快Bootstrap的方法,并在IQ-TREE中实现,用法如下:
[user@server ~]# iqtree -s example.phy -m TEST -bb 1000
Ultrafast bootstrap最少重复次数为1000。
快速Bootstrap与常规Bootstrap的在bootstrap value的解读上不同,模型冲突的情况下,快速Bootstrap会高估bootstrap value值。因此作者推荐加上
-bnni
或者沿用标准非参数Bootstrap分析,设置参数为-b 100,将执行Bootstrap + ML tree + consensus tree三步,-bc 100
将执行Bootstrap + consensus tree二步,-bo 100将仅执行标准Bootstrapping。
使用多线程
如上所述,ML+Bootstrap分析是非常耗时的,为了加快运算,目前很多软件都支持多线程运算,IQ-TREE也不例外。
[user@server ~]# iqtree -s example.phy -m TEST -bb 1000 -nt 100
以上命令通过-nt设定了100个线程并行计算,或也可通过设置-nt AUTO让IQ-TREE自动选择。
IQ-tree运行过程会保存每一步成功运行的结果(建立checkpoint)。当程序中断重新运行时,IQ-TREE会接上一个checkpoint运行。这个对于大数据集是有很大好处的。如想从头开始,需要加上参数
-redo。
Partition特异的模型设定与物种树构建
在Phylogenomics分析等分析中,针对比对序列中的不同区间(Partition),或基因组中的不同基因,IQ-TREE可有区别的设定不同的模型。
该方法通过-sp参数实现。
[user@server ~]# iqtree -sp supermatrix_partition.nex -nt 100 -bb 1000
所需的nexus文件示例如下:
#nexus
begin sets;
charset part1 = aln1.phy: *; #part1 对应基因/蛋白1的比对文件,以此类推
charset part2 = aln1.phy: *; # * 指定了alignment中的所有位点都用于计算,根据需要可选定其中的部分位点,如:"aln1.phy: 1-100 250-384;"
charset part3 = aln2.phy: *;
charpartition mine = HKY:part1, GTR+G:part2, WAG+I+G:part3; # 改行为每个part指定不同的模型。
end;
其他用法
ROBINSON-FOULDS距离矩阵
树拓扑检验
祖先状态重建
参考文献
- B.Q. Minh, H.A. Schmidt, O. Chernomor, D. Schrempf, M.D. Woodhams, A. von Haeseler, R. Lanfear (2020) IQ-TREE 2: New models and efficient methods for phylogenetic inference in the genomic era. Mol. Biol. Evol., in press:. https://doi.org/10.1093/molbev/msaa015
- S. Kalyaanamoorthy, B.Q. Minh, T.K.F. Wong, A. von Haeseler, L.S. Jermiin (2017) ModelFinder: Fast model selection for accurate phylogenetic estimates. Nat. Methods, 14:587-589. https://doi.org/10.1038/nmeth.4285
- L.-T. Nguyen, H.A. Schmidt, A. von Haeseler, B.Q. Minh (2015) IQ-TREE: A fast and effective stochastic algorithm for estimating maximum likelihood phylogenies.. Mol. Biol. Evol., 32:268-274. https://doi.org/10.1093/molbev/msu300