IQ-Tree

作者: MLD_TRNA | 来源:发表于2020-12-17 14:17 被阅读0次

    IQ-Tree是2014年推出的一款基于最大似然法(ML)的建树软件,具有准确、快速、灵活等特点,特别适用于大数据的系统发育分析。该软件的具体功能详见官方网站介绍(http://www.qtree.org/)。

    本地版下载地址:http://www.iqtree.org/#downloa

    在线服务器地址:http://iqtree.cibiv.univie.ac.at/

    (1)数据准备:

    IQ-TREE支持多种序列数据格式,其中Phylip为该软件首选,但也可以直接读取FASTA,程序会自动转为Phylip格式,省去格式转换的步骤,对于新手非常方便。

    (2)模型选择:

    在应用ML法重建系统发育树前,需要进行核苷酸替换模型的选择,IQ-TREE整合了ModelFinder这个模块,可以快速获得目的数据的最佳进化模型,推荐使用其替换jModelTest等软件。

    MrMTGUI(MrModelTest/ModelTest)配置复杂,不易操作;jModelTest 支持界面操作,但是系统资源杀手。在大数据面前,这两款软件只能望洋兴叹,因而IQ-Tree软件中的ModelFinder自然成了首选,最大的特点就是快、很快、超级快,重点的内容说三遍。除外,它支持的数据类型除了核苷酸(含Codon)和氨基酸外,还能支持离散数据(包括二进制、形态数据等)。

      IQ-tree可以根据分析目的,通过不同命令操作,本例仅演示只选择模型不建树,其命令格式为

    iqtree -s seqname.phy -m MF -nt AUTO

    注:

    这里的-s 参数对应的是序列文件;

    -m 参数默认使用ModelFinder选模型,也可使用jModeltest或ProtTest,只需可将MF改为TEST即可;

    -nt对应的是CPU线程数,根据硬件配置修改(如:4线程,将AUTO改为4即可),也可以使用AUTO变成自动

    如果只针对Mrbayes/Raxml计算最适模型,可以在-m MF 后添加一个 -mset参数,参考格式如下:

     -mset JC,K80,SYM,F81,HKY,GTR -mrate E,G,I,G+I(用于Mrbayes)

    (Raindy注:上述结果等同于-mset mrbaye)

    -mset GTR -mrate E,G,I(用于raxML)

    (Raindy注:上述结果等同于 -mset raxml)

    程序运行完成后,会在序列所在目录生成多个文件,可以打开其中日志log文件,ModelFinder会根据不同标准推荐最佳模型,而如下图,基于AIC标准,示例数据的最佳模型为GTR+R4模型;而基于BIC标准(ModelFinder 默认推荐),示例数据的最佳模型为TIM3+R4。如果使用BEAST或Mrbayes等软件建树,需要加-mset 参数重新计算。

    赤池信息准则(Akaike Information Criterion,AIC)

    贝叶斯信息准则(Bayesian Information Criterion,BIC)

    原理参考:

    https://blog.csdn.net/baidu_38172402/article/details/89075582

    https://blog.csdn.net/xianlingmao/article/details/7891277

    https://blog.csdn.net/lfdanding/article/details/50732762

    AIC是衡量统计模型拟合优良性的一种标准,由日本统计学家赤池弘次在1974年提出,它建立在熵的概念上,提供了权衡估计模型复杂度和拟合数据优良性的标准。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。

    公式

    AIC=2k−2ln(L)

    BIC=kln(n)−2ln(L)

    k为模型参数个数,n为位点数量,L为似然函数。

    (3)ML树重建:

    Windows版

    IQ-TREE建树前,需要先调用出Window的命令行界面(Win键+R回车后,输入cmd再次回车即可显示,下图),示例的Windows版IQ-TREE主程序存放路径在D:\BiosoftslQtreebin,故而在CMD界面下,先输入D:切换到D盘,然后通过cd命令逐级进入IQ-TREE的子目录bin内。因版本不同,主程序名称路有不同。

    命令格式:

    igtree.exe(或/iqtree-omp)-s./NLV.fas-m GTR+R6-bb 1000-alrt 1000-nt AUTO

    #注意:与Windows版不同的是mac版主程序没有扩展名

    Mac版

    IQ-TREE建树前,同样需要先调用终端(上图),可在Spotlight搜索栏中输入terminal.app回车,然后可以将IQ-TREE的主程序iqtree-omp直接拖入终端运行窗口内,根据命令格式依次输入参数和对应的内容。

    参数注释:

    /iqtree-omp(mac版)或/iqtree.exe(Windows版)

    iQ TREE程序的路径(在IQ-TREE的bin子目录)

    -s./NLV-sample.fas

    参数-s即sequence,其之后为序列(含路径),可以将序列直接拖入命令运行窗口;

    -m GTR+R6

    参数-m即model,其后为选定的最佳模型;

    -bb(或-b)1000

    参数-bb即ultrafast bootstrap approximation(UFBoot),其后为重复抽样次数,默认值1000。大数据时推荐使用-bb参数,建议重复抽样次数调整为5000或10000;如果小数据推荐使用-b参数,其对应为常规算法的bootstrap;

    -alrt 1000

    参数-alrt非必须,即是否启用SH-aLRT检验。如果不启用该检验,可以直接删除,其后同样为重复抽样次数

    -nt AUTO

    参数-nt 即Number of Threads,用于IQ-TREE分析的线程数,可以用AUTO参数让系统自已分配,也可以自己指定

    #Raindy注:

    (1)如果需要指定一个outgroup,可以在模型参数之后,添加一个-0参数用以指定某一条序列为outgroup,如:-o NC 018093 SPVG即将示例中的名称为NC 018093 SPVG指定为outgroup;

    (2)ultrafast bootstrap approximation(UFBoot)为IQ-TREE引入的一个算法,适用于大数据分析,但应用此法可能会导致计算结果偏高,需要注意。

    (4)结果解读:

    IQ-TREE建树完成,会在序列目录下生成多个文件,主要包括程序运行日志xx.log、ML树文件

    (含有(UFBoot或BP/SH-aLRT评估分支置信度)和一致树文件xx.contree,可以用Figtree进行查看,将Nodel Label标签下拉菜单选择label(打开树文件前Figtree会提示,需要给树的节点/分枝指定一个名称,可以使用label作为默认名称)

    .dat与.phy是我对齐序列文件以及分区文件。

    .best_scheme与.best_scheme.nex里面是每个分区所匹配的模型。如果是iqtree不分区时不会有这个文件产生。

    会有两个树文件一个是.contree一个是.treefile。

    .treefile对应的是ML树。

    .contree是一个由1000bootstrap trees为引导树生成的共有树。

    计算AIC&BIC的数据在.iqtree里面。

    作者:土雕

    链接:https://www.jianshu.com/p/93d78b84b7cd

    来源:简书

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    下图为示例数据生成的ML树(带SH-aLRT检验)的NLV.fas.treefile文件在Figtree中的显示结果:

    上图的NLV.fas.treefile如需进一步美化,推荐使用余光创博士的ggtree,可以>70 SH-aLRT且>95 UFboot的分支用指定的符号表示出来,简单三行代码搞定,参考R代码如下:

      > require(ggtree)

      >x= read.tree(file.choose())

      > ggtree(x)+ geom-nodepoint(aes(subset = sub("/.*,",label)> 70 | sub("./",",label)>95)

    初步导出效果如下图所示,实名圆圈表示> 70 SH-aLRT且> 95 UFboot的分支或节点:

    下图为示例数据生成的一致树NLV.fas.contree文件经美化后的显示效果:

    Figurc 1.Mid-point rooted phylogenetic tree based on the codon-aligned nucleotide sequences of the polyproteins of members of the family Potyviridae.

    以上应用IQ-TREE建ML树的方法描述可参考Gao et al,2018,The first complete genome sequence of narcissus latent virus from Narcissus...

    延伸阅读:

    .Nguyen L-T,Schmidt HA,von Haeseler A,Minh BQ(2014)IQ-TREE:A fast and effectivestochastic algorithm for estimating maximum likelihood phylogenies.Molecular biology and evolution 32:268-742.

    Kalyaanamoorthy S,Minh BQ,Wong TKF,von Haeseler A,Jermin LS(2017)ModelFinderfast model selection for accurate phylogenetic estimates.Nature Methods 14:587-589.

    3.Hoang DT,Chernomor O,von Haeseler A,Minh BQ,Vinh LS(2018)UFBoot2:Improving the ultrafast bootstrap approximation.Molecular biology and evolution 35:518-522.

    实例

    1. 待建序列:NCBI上下载的63个16s参比序列和486个分离株的序列,共549个。

    2. 使用jmodel进行了模型选择,88种模型可供选择。在i7 6700,8G的台式机上跑了7个多小时,计算完后统计AIC和BIC的时候卡死了,跑了两遍都这样,不知道怎么回事,最后放弃使用这个软件了。

    3. 使用IQ-TREE进行模型选择和ML建树,288种模型可供选择。在i5 2450M,8G笔记本的VMware虚拟机(2个线程,4G内存)上执行。

    #使用MUSCLE对549个序列对齐

    conda install muscle

    muscle -in 16s.fas -out 16s_muscle.fas

    #使用BMGE对序列剪齐

    conda install bmge

    java -jar BMGE.jar -i 16s_muscle.fas' -t DNA -of 16s_muscle_trim.fas -m DNAPAM250:4 –g 0.5

    #使用ModelFinder寻找最优模型

    conda install iqtree

    iqtree -s 16s_muscle_trim.fas -m MF -nt 2

    得到最佳模型TIM3+F+R4

    #使用UFBoot2建树

    iqtree -s 16s_muscle_trim.fas -m TIM3+F+R4  -bb 1000  -nt AUTO

    4. Figtree可视化树文件16s_muscle_trim.contree

    16s_muscle_trim.contree: the consensus tree with assigned branch supports where

    branch lengths are optimized on the original alignment.

    参考基于ML法重建系统发育树-IQ-TREE篇

    http://www.360doc.com/content/18/0125/13/45962007_724978365.shtml

    模型选择准则:利用IQtree结果计算AIC&BIC

    https://www.jianshu.com/p/93d78b84b7cd

    使用IQ-TREE构建系统进化树

    https://www.jianshu.com/p/f830282866cd

    相关文章

      网友评论

        本文标题:IQ-Tree

        本文链接:https://www.haomeiwen.com/subject/zghzgktx.html