美文网首页叶绿体基因组分析相关比较与进化基因组学
IQ-TREE最大似然法构建系统发育树的神器

IQ-TREE最大似然法构建系统发育树的神器

作者: 你住拍了了 | 来源:发表于2020-06-26 22:42 被阅读0次

    IQ-TREE:最大似然法构建精确、快速、灵活、广泛的系统发育树

    IQ-TREE自2011年就已经开发并开源,至今都有专业团队维护,其名字来源于IQPNNI和TREE-PUZZLE的前缀,IQ-TREE具有四大特征:

    • 算法高效,通过最大似然法高速高效随机重建系统发育树,如RAxMl和PhyML相比类似计算时间具有较好的结果
    • 超快的支持率,自检值(bootstrap)是RAxML的10-40倍,同时出现偏见支持率值更少
    • 数据分析,支持成千上万条序列或比对位点的数据集分析
    • 系统发育树测试,有SH-aLRT和aBayes测试进化枝,树拓扑结构近似无偏见测试(approximately unbiased)

    此外,IQ-TREE提供大量的构建系统发育树模型供选择,包括四种:

    • common models: 所有常见的DNA,蛋白质,密码子的替代模型,二元和形态数据之间的比率异质性和确定偏差校正,例如SNP数据。
    • Partition models: 混合数据、不同基因位点、异质性等分开的模型选择
    • Mixture models: 完全自定义模型和经验模型
    • Polymorphism-aware models: 考虑物种不完整的谱系分类以推测物种树

    简单测试

    说明,现在软件已经更新到version2版本,我们默认使用iqtree调用(新版本为iqtree2),此外本文所述均是基于命令行操作,解释不同选项及对应参数作用,网页版使用过于简单,可点击跳转
    输入文件格式:phylip、fasta、nexus、clustalw

    # 参数s为指定输入比对好的文件格式,为必备的,1.5.4版本默认 -m MFP自动寻找最适模型
    iqtree -s example.phy 
    

    结果文件包括三个:
    example.phy.iqtree:主要计算结果的报告文件,也包含最终构建系统发育树树的文本展示
    example.phy.treefile:NEWICK格式的ML tree,该文件可用Figtree和iTOL查看
    example.phy.log:整个运行过程的日志文件,记录报错等信息
    注意:在运行的过程中,程序会定期将执行进程(结果)写入一个gzip压缩的example.phy.ckp.gz文件,该文件可以在出现程序运行终止或遇到较大文件而内存不足时,再次使用相同的命令运行IQ-TREE,程序将会从上次停止的地方继续运行。当然对运行完成的结果,再次运行会显示当前任务已经成功运行。
    -redo选项表示覆盖运行之前的结果,如

    iqtree -s example.phy -redo
    

    -pre选项,自定义输出结果文件前缀,默认情况下所有输出文件的前缀与输入文件的名字一致,如指定myprefix为前缀:

    iqtree -s example.phy -pre myprefix
    

    如何选择最适合模型

    IQ-TREE支持针对DNA、protein、codon等大量的模型可供选择,但是通常情况下,我们不知道哪个模型最适合我们的数据,而调用软件内置ModelFinder确定最合适的模型。

    #for IQ-TREE version >= 1.5.4:
    iqtree -s example.phy -m MFP # -m 指定模型选项,MFP表示ModelFinder Plus(自动默认)
    #for IQ-TREE version <= 1.5.3:
    iqtree -s example.phy -m TESTNEW
    

    MFPModelFinder Plus的缩写,该参数使程序执行ModelFinder选择最适模型并完成建树分析。ModelFinder为许多不同的模型计算初始简约树的逻辑概率,并产生Akaike
    information criterion
    (AIC),* corrected Akaike information criterion* (AICc), and* the Bayesian information criterion* (BIC)三个结果标准值,通常ModelFinder选择BIC分数最低的模型(当然也可以指定AIC和AICc通过指定选项-AIC或者-AICc)。
    此时会增加一个额外输出结果文件:
    example.phy.model:所有测试模型的对数概率值,它充当检查点文件,用于恢复中断的模型选择。
    有时,我们仅仅只想知道数据分析的最适合模型并不想建树,那么可以分别指定MFTESTNEWONLY参数
    值得注意一下,我们这里选择ModelFinder而不调用jModelTest/ProTest,其优点如下:(如果仍然想用jModelFinder/ProTest,添加-m TEST或者-m TESTONLY)

    whyselectModelFinder

    如果序列比对文件特别长(考虑添加-cmax 15,默认为10)

    用超快的bootstrap近似评估分支支持值

    为了克服非参数bootstrap所需的计算负担,IQTREE引入了ultrafast bootstrap approximation (UFBoot)提供相对公正的分支支持数值,选项为- bb通常为百分比数值。

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

    与前面相比,又额外增加三个输出结果文件:
    example.phy.contree:树支持值一致的树(consensus tree)的且分支长度在原始比对上优化过
    example.phy.splits.nex:所有分割(双分区)的支持值的百分比,作为引导树中出现的频率计算,该文件可以通过程序SplitsTree查看数据中的矛盾信号,因此因此,该文件一致树更能提供信息
    example.phy.splits (使用-wsplits选项):此文件包含与example.phy.split相同的信息,格式为star-dot。
    有时,-bnni减少由于严重的模型违规而高估了UFBoot对分支的支持风险。

    评估分枝支持率使用标准的分参数bootstrap

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

    -b指定bootstrap的重复次数,其中100为推荐的推荐的最小数。输出结果文件与UFBoot过程生成的文件相似。

    使用单个分枝测试评估分枝支持值

    IQ-TREE提供一个SH类近似似然比测试,-alrt指定SH-aLRT的bootstrap的重复个数,1000为最下的。

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

    CPUs核心线程的利用

    IQ-TREE可以利用多个CPU核来加速分析。选项-nt允许指定要使用的CPU内核数量

    iqtree -s example.phy -m TIM2+I+G -nt 2
    iqtree -s example.phy -m TIM2+I+G -nt AUTO #通常使用这个
    iqtree -s example.phy -m TIM2+I+G -nt AUTO -ntmax 8 #cpu的上限为8核心线程
    

    后记,以上主要介绍了iqtree软件关于输入文件、输出文件的介绍及解读,同时详细介绍了不同选项及参数的功能。

    关于特异性指定替换模型

    -m是指定替代模型、状态频率和速率异质性类型的实用选项。一般的语法是:

    -m MODEL+FreqType+RateType
    

    MODEL:model name
    +FreqType:(可选项)frequency type
    +RateType:(可选项)rate heterogeneity type

    参见下图:

    MODEL:

    MODEL

    FreqType:

    FreqType

    RateType:

    RateType

    IQ-TREE官网链接:http://iqtree.cibiv.univie.ac.at/

    相关文章

      网友评论

        本文标题:IQ-TREE最大似然法构建系统发育树的神器

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