美文网首页风景园林学习基因组组装基因组学
6-【FasTtree、RAxML-NG、IQtree】的安装和

6-【FasTtree、RAxML-NG、IQtree】的安装和

作者: lkj666 | 来源:发表于2021-02-07 14:42 被阅读0次

    初次记录时间: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 <nucleotide_alignment_file> > <tree_file>
    

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

    2.2.2 蛋白建树

    fasttree <protein_alignment_file> > <tree_file>
    

    注:蛋白建树默认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】的安装和

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