初次记录时间:2021.2.5
3.12更新说明:ML建树对与模型的替代选择比较敏感,因此增加了第四部分推测最佳模型的方法:jModeltest和ProtTest。
3.16更新说明:增加了第五部分内容,IQtree可以帮助用户选择最佳的进化模型,速度也较快,有文献报道准确度比传统的RAxML高。
3.20更新说明:意外又看到一个推测最佳建树模型的软件:modeltest-ng。目前用不到,就暂时不用它了。另外,为啥我用IQtree建树,那么慢!!!
1. 系统发生树
1.1 简述
系统发生树(Phylogenetic tree)是从分子层面研究物种进化的手段,是通过构建分子树来推断物种树,并不一定是绝对的真实情况。随着越来越多物种的基因序列的获得,是一种快捷、准确的研究物种间关系的方法。构建好的系统发生树由四部分组成:根、枝、节、叶
系统发生树结构图
1.2 特点
由系统发育树推断出的进化关系,并不一定是物种间绝对的进化关系。
系统发育树的分支聚类情况,在一定程度上反映了物种间的亲缘关系。
系统发育树分支绕节点转动不会改变物种间的亲缘关系。
FastTree和RAxML均是用最大似然法构建系统发育树的工具,前者速度快,后者准确度高。
2. FastTtree
FastTtree采用的是SH检验来判断每个节点的可信度。该值的范围在0~1之间,与一般用的bootstrap值高度相关。
2.1 安装
conda install fasttree
2.2 使用
2.2.1 核酸建树
fasttree -nt >
注:核酸建树默认JC+CAT模型,可以用参数-gtr -nt切换成gtr模型
2.2.2 蛋白建树
fasttree >
注:蛋白建树默认JTT+CAT模型,还可以用LG、WAG等模型
3. RAxML-NG
3.1 安装
conda install -c bioconda raxml-ng
3.2 使用
第一步:检查比对后的序列MSA是否可以读取(MSA可以使用FASTA、PHYLIP格式)
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 -f -i -g 4 -s 11 -BIC -AIC -v -a -tr 40 -o
注:输入文件为比对之后的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 -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 -T AUTO
2. 选择合适的模型,并直接构建系统发育树(常用)
普通数量和序列大小建树:
iqtree -s example.phy -m MFP -b 1000 -T AUTO
数量较多或序列较长:
iqtree -s example.phy -m MFP -B 1000 --bnni -T AUTO
常用参数说明:
1. -s:输入序列比对文件
2. -m:模型选择,设置MFP会自动检测最佳模型并建树
2. -b:bootstrap次数
3. -B:超快速bootstrap次数,大于等于1000
4. --bnni:使用NNI优化超快速bootstrap的树,搭配-B使用
5. -T:程序运行使用的核数,可设置具体数字或者AUTO(推荐),默认是1
6. -cmax:默认是10,如果序列很长,可以适当增加该数值