6-【FasTtree、RAxML-NG、IQtree】的安装和使用(2021.3.16更新)

初次记录时间:2021.2.5


3.12更新说明:ML建树对与模型的替代选择比较敏感,因此增加了第四部分推测最佳模型的方法:jModeltest和ProtTest。
3.16更新说明:增加了第五部分内容,IQtree可以帮助用户选择最佳的进化模型,速度也较快,有文献报道准确度比传统的RAxML高。
3.20更新说明:意外又看到一个推测最佳建树模型的软件:modeltest-ng。目前用不到,就暂时不用它了。另外,为啥我用IQtree建树,那么慢!!!

1. 系统发生树

1.1 简述

    系统发生树(Phylogenetic tree)是从分子层面研究物种进化的手段,是通过构建分子树来推断物种树,并不一定是绝对的真实情况。随着越来越多物种的基因序列的获得,是一种快捷、准确的研究物种间关系的方法。构建好的系统发生树由四部分组成:根、枝、节、叶


系统发生树结构图

1.2 特点

  • 由系统发育树推断出的进化关系,并不一定是物种间绝对的进化关系。
  • 系统发育树的分支聚类情况,在一定程度上反映了物种间的亲缘关系。
  • 系统发育树分支绕节点转动不会改变物种间的亲缘关系。

FastTreeRAxML均是用最大似然法构建系统发育树的工具,前者速度快,后者准确度高。

2. FastTtree

    FastTtree采用的是SH检验来判断每个节点的可信度。该值的范围在0~1之间,与一般用的bootstrap值高度相关。

2.1 安装

conda install fasttree

2.2 使用

2.2.1 核酸建树

fasttree -nt  > 

注:核酸建树默认JC+CAT模型,可以用参数-gtr -nt切换成GTR+CAT模型

2.2.2 蛋白建树

fasttree  > 

注:蛋白建树默认JTT+CAT模型,还可以用参数-wag或者-lg切换成LG+CAT或者WAG+CAT模型


3. RAxML-NG

3.1 安装

 conda install -c bioconda raxml-ng 

3.2 使用

第一步:检查比对后的序列MSA是否可以读取(MSA可以使用FASTAPHYLIP格式)

raxml-ng --check --msa prim.phy --model GTR --prefix T1

注:这一步骤还会给出哪些序列是相同序列(推荐执行)

第二步:构建核苷酸树(模型GTR,1000次自检值抽样)

raxml-ng --all --msa prim.phy --model GTR --prefix T15 --threads 10  --bs-trees 1000

注:蛋白树可用LG模型


4. 模型的选择

    目前常用的构建系统发育树的方法有:邻位归并法(Neighbor joining, NJ)最大似然法(Maximum likelihood method, ML) 以及贝叶斯法(BI)。综合速度和准确度,ML用得较多。
    ML对替代模型非常敏感,因此利用ML法构建系统发育树之前,选择合适的替代模型是必不可少的过程。(如果序列的相似度较高,每种方法和模型构建的系统发育树差别不大)

4.1 jModeltest

    jModeltest用于核苷酸最佳替代模型的计算,一共有88种模型。

4.1.1 安装

    从github上下载最新版本(jModelTest v2.1.10)。

4.1.2 使用

tar -zxvf jmodeltest-2.1.10.tar.gz
cd jmodeltest-2.1.10
java -jar jModelTest.jar -d <输入文件.fa> -f -i -g 4 -s 11 -BIC -AIC -v -a -tr 40 -o <输出结果.txt>

注:输入文件为比对之后的fasta格式文件

4.2 ProtTest

    ProTest用于最佳氨基酸替代模型的计算,一共有120中模型。

4.2.1 安装

    从github下载最新版本(ProtTest 3.4.2)

4.2.2 使用

1. 查看帮助信息

tar -zxvf prottest-3.4.2-20160508.tar.gz
cd prottest-3.4.2
java -jar prottest-3.4.2.jar -h

2. 模型预测

java -jar prottest-3.4.jar -i <输入蛋白序列.phy> -all-distributions -F -AIC -BIC -tc 0.5 -threads 24 -o <输出结果>

5. IQtree

5.1 安装

conda install iqtree

5.2 使用

1. 只选择合适的模型并输出最佳的模型(类似于jModelTest)

iqtree -s example.phy -m MF -mtree -T AUTO

mtree:会检查所有的模型,会占用很多的电脑资源。

2. 使用GTR+I+G模型建系统发育树

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

3. 选择合适的模型,并直接构建系统发育树(常用)

  • 普通数量和序列大小建树(用标准的bootstraps进行检验):
iqtree -s example.phy -m MFP -b 1000 -T AUTO
  • 数量较多或序列较长(用UFBoot进行检验):
iqtree -s example.phy -m MFP -B 1000 --bnni -T AUTO

常用参数说明:
1. -s:指定输入比对后的序列文件名
2. -m:选择模型(设置MFP会自动检测最佳模型并建树,从v1.54版本开始,MFP已经是默认的参数了)
2. -b:bootstrap次数
3. -B:超快速bootstrap次数,大于等于1000
4. --bnni:使用NNI优化超快速bootstrap的树,搭配-B使用
5. -T:程序运行使用的核数,可设置具体数字或者AUTO(推荐),默认是1
6. -cmax:默认是10,如果序列很长,可以适当增加该数值
7. -alrt 1000:进行SH-aLRT检验。

注意事项:

  1. ultrafast bootstrap(UFBoot)和一般的bootstrap值的区别是,前者更加公正 (unbiased)。同时,两者表示的意义也有区别。UFBoot=95%,表示的是该分支的真实性是95%。一般来说,一个分支的BS(bootstrap)>80%,或者UFBoot>95%为可信的。
  2. 为了进一步增加可信度,还在建树的过程中可以增加SH-aLRT检验,(添加参数:-alrt 1000)。SH-aLRT ≥ 80%,且UFBoot ≥ 95%时为可信的。

你可能感兴趣的:(6-【FasTtree、RAxML-NG、IQtree】的安装和使用(2021.3.16更新))