linux 建树软件,新一代建树工具IQ-Tree介绍

系统发育树(phylogenetic tree)构建的软件可谓五花八门。大体上,有如下几种策略:从最简单的UPGMA法,到邻接法(neighbor joining),最大简约法(most parsimonious),再到最大似然法,以及贝叶斯法,每种方法都有不少可以选择的工具。

最大似然法和贝叶斯法,在现在,被认为是两种比较可靠的建树策略。贝叶斯法的最大劣势在于速度太慢,其达到convergence的漫漫长路让无数研究者望而却步。所以,一些研究者为了快速出树会采用快速的邻接法或最大简约法建树。其实,这些方法(邻接法、最大简约法)并不严谨,特别是在处理有较大分歧的序列时,long branch attraction(LBA,长枝勾引)现象可能导致严重的错误。

因此,最大似然法是很多杂志上青睐的建树策略。MEGA、phyml同raxml是比较常用的提供最大似然法建树的软件。然而,要注意的是,虽然速度上相对贝叶斯法有优势,但在今天实验室里,纵使快如raxml亦或是新如MEGA X,也越来越无法满足研究人员只争朝夕的节奏和日益高涨的雄心。此外,对于特别专业的研究者,有时需要选择进化模型(核苷酸或氨基酸替代模型)——如果不幸运的话,不合适的模型选择会直接影响到树的结构,导致错误的结论。而模型选择往往需要借助其他工具进行,这使得大家在软件的使用上有些不方便。再者,比如RAxML,其对于核苷酸替换模型的支持很差,只有屈指可数的几个模型可供选择。

如下图所示,IQ-TREE有四大功能,在很大程度上解决了前面提到的最大似然法建树软件、尤其是速度上的几个缺陷:

高效建树(efficient tree reconstruction)

模型选择(modelfinder: fast and accurate model selection)

超快自展(ultrafast bootstrap approximation)

大型数据(big data analysis)

然后就是进行最佳模型选择

Btw:当然,这个例子十分简单,没有进行bootstrap和模型选择。关于这两点,在下面都有写。

如果你想再做一遍同样的操作,需要加上-redo(为了防止之前的结果被不慎覆盖):

iqtree -s example.phy –redo

如果你想让iqtree的结果输出到特定文件夹并制定特定前缀(prefix),需要用到下面的参数

-pre myprefix

比如你想将结果输入到当前文件夹一个名为test的文件夹,且前缀为example:iqtree -s example.phy –redo -pre test/example(注意下,这里test文件夹需要预先被创建)

如果数据比较大,可以用上-nt指定线程数。比如,-nt 4,就是四个线程。也可以-nt AUTO,iqtree会自动检查最合适的线程数。其基本原则是从单线程开始,逐一递增线程数,看看增加线程对执行命令的效率影响如何。如果增加线程而运行速度变化甚微,则停止增加,选择当前线程数作为最合适线程避免浪费资源。

模型选择

你可以指定模型(model)为TIM2+I+G

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

如果你只想进行模型检测而不进行进化树构建,执行以下命令即可

#for IQ-TREE version >= 1.5.4:

iqtree -s example.phy -m MF

#for IQ-TREE version <= 1.5.3:

iqtree -s example.phy -m TESTNEWONLY

默认状态下,IQTREE会针对你的输入数据类别(比如,是DNA还是protein),对相应的全部模型进行检测,包括23种氨基酸替代模型和22种核苷酸替代模型(以及一些codon和binary model)。然而,由于速度较慢,且一部分模型较少用到。如果你希望指定少数几个模型(以及相关参数),避免不必要的时间浪费,那么请不要错过下面的这几个示例:

-mset LG,JTT

从LG和JTT两个核苷酸替代模型里拣一个

-mrate G,I,I+G

在+G和+I,以及+I+G三个里面选择rate heterogeneity参数

-mfreq FU

不进行frequency计算

这里有必要说一下,IQTREE所容纳的rate heterogeneity参数有一个关键武器,+R,该参数和+G互斥。简单地讲,+R不需要像+G里对各位点速度作呈gamma分布的假设,在大多情况下被认为可以更好地fit data。此外,IQTREE有推荐,当你进行大型进化树构建的时候,不要忘记加上+R这一选项。当然了,+R不论在模型检测还是进化树构建可能都需要付出一定时间代价,使用时需要当心。裴教授的原话见下:

FreeRate model (Yang, 1995;Soubrier et al., 2012) that generalizes the+Gmodel by relaxing the assumption of Gamma-distributed rates. The number of categories can be specified with e.g.+R6(default 4 categories if not specified). The FreeRate model typically fits data better than the+Gmodel and is recommended for analysis of large data sets.

如果需要进行多基因联合的建树(比如,你用10各不同基因对于100种植物进行species tree的进化树构建),那么需要记住加上:

只进行模型选择:-m MF+MERGE -ssp partition_file

需要构建进化树:-m MFP+MERGE -ssp partition_file

超快自展(ultrafast bootstraping)

关于Ultrasfast bootstrap,有几点特别需要注意的:

IQTREE里要求最少需要1000次(-bb 1000)

简单地讲,如果一颗树上面有一个节点的support value是85,如果是用传统bootstrap法,通常来讲,说明这个节点可信度还算不错。而如果该树是出自IQTREE之手,那么这个节点是否值得信赖就要打上一个问 了。

想执行1000次超快自展,只需要执行下面的操作:

Iqtree –s example.phy –bb 1000

自展树结果会在.ufboot文件里呈现。还有一棵consensus tree,会在.contre里给出。

我们选取example.phy这个比对进行测试,比较一下RAXML(v8.2)和IQTREE(v1.6.1)的速度。我们选择同样的核酸替代模型GTR+G+I。

RAxML一百次rapid bootstrap(-f a)

IQTREE一千次ultrafast bootstrap

结果显示,前者花了80秒,而后者仅用时8秒。

个人经验是如果采用相同的进化模型,IQTREE(采用1000次ultrafast bootstrap approximation)速度上是RAxML(100次rapid bootstrap)的 8-15倍不等。树的结果上二者相差不多。

除ultrafast bootstrap之外,IQTREE还提供了以下检验树的拓扑结构可信度的方法。

-alrt:SH-aLRT检验(4),没记错的话FastTree2使用的就是这个吧/p>

-abayes:approximate Bayes test,由杨子恒的得意门生学生、瑞士苏黎世应用科学教授Maria Anisimova提出(5)

-lbp:fast local bootstrap probability method,由Adachi and Hasegawa提出(http://www.is.titech.ac.jp/~shimo/class/doc/csm96.pdf)

如果你指定了多个检验方法,那么其结果会在树里(.treefile)呈现出来,不同检验所得数值用斜线隔开,比如:((a,b)100/98:0.1,c:0.2)90/95

其顺序会在扩展名为iqtree的文件里给出:

Numbers in parentheses are SH-aLRT support (%) / ultrafast bootstrap support (%)

此外,IQTREE也提供了传统的bootstrap抽样法检验,使用-b参数即得。

附加功能

列几个可能相对常用的供大家参考

祖先序列重构(ancestral sequence reconstruction)

iqtree –asr

如果希望照指定的进化树进行重构,需要指定 –te INPUT_TREE

使用iqtree进行祖先序列重构的优点在于速度快,输出格式用户友好,且进化模型选择多元

举一个例子:iqtree -s example.phy -m JC+G –asr

释义:对于example.phy采用Jukes and Cantor核酸替换模型和gamma位点替换速率差异矫正(JC+G),进行祖先重构(-asr)

树的拓扑结构检测(tree topology test)

用-z参数包括需要进行检测不同topology的树

这一点,IQTREE可以部分取代CONSEL的功能,而且老裴自称相较于consel,IQTREE有两大优势:

效率更高

可以对付partition

随机树(random tree)的生成

在v1.6版说明p78有写。感兴趣的读者可以自行查阅。

进行查看,上面有非常详细的介绍。如果还有疑问,可以到google group里面的IQTREE版面提问,裴教授一般都可以在一到两天之内进行回复。想学习系统发育树构建的朋友,也欢迎点击我们的在线课程。最后,欢迎用过IQTREE的朋友分享一下使用心得,也希望没用过的朋友快来体验一把IQTREE的“极速之美”。

引文

1.Kalyaanamoorthy S, Minh BQ, Wong TKF, von Haeseler A, Jermiin LS. ModelFinder: fast model selection for accurate phylogenetic estimates. Nat Methods. 2017;14(6):587-+.

2.Hoang DT, Chernomor O, von Haeseler A, Minh BQ, Vinh LS. UFBoot2: Improving the Ultrafast Bootstrap Approximation. Mol Biol Evol. 2018;35(2):518-22.

3.Minh BQ, Nguyen MAT, von Haeseler A. Ultrafast Approximation for Phylogenetic Bootstrap. Mol Biol Evol. 2013;30(5):1188-95.

4.Shimodaira H, Hasegawa M. Multiple comparisons of log-likelihoods with applications to phylogenetic inference. Mol Biol Evol. 1999;16(8):1114-6.

5.Anisimova M, Gil M, Dufayard JF, Dessimoz C, Gascuel O. Survey of Branch Support Methods Demonstrates Accuracy, Power, and Robustness of Fast Likelihood-based Approximation Schemes. Syst Biol. 2011;60(5):685-99.

更多精彩内容, 生信人

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24882 人正在系统学习中 相关资源:世新砸蛋抽奖软件V2.3.10官方安装版-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月9日
下一篇 2021年4月9日

相关推荐