在线和本地两种方法构建 RAxML 进化树方法和解读

Python039

在线和本地两种方法构建 RAxML 进化树方法和解读,第1张

1. CIPRES网站:

CIPRES Science Gateway V 3.3 : https://www.phylo.org/portal2/home.action#

2. 上传数据,选择RAXML tools

3. 设置参数

首先安装Linux版本RAxML

$ raxmlHPC ­-f a ­-x 12345 ­-p 12345 ­-# 100 ­-m PROTGAMMALGX ­-s example.phy ­-n ex -T 20

并行化软件支持,能最快速计算。并行化20个任务,每个任务使用8线程,能使用全部160线程计算资源:

$ /opt/sysoft/mpich2-1.5/bin/mpirun -np 20 raxmlHPC ­-f a ­-x 12345 ­-p 12345 ­-# 100 ­-m PROTGAMMALGX ­-s ex.phy ­-n ex -T 8

参数解读:

RAxML 的参数非常多,设置非常复杂,上述常用例子的参数为:

-f a

此参数用于选择 RAxML 运算的算法。可以设定的值非常之多。 a 表示执行快速 Bootstrap 分析并搜索最佳得分的 ML 树。

-x 12345

指定一个 int 数作为随机种子,以启用快速 Bootstrap 算法。

-p 12345

指定一个随机数作为 parsimony inferences 的种子。

-# 100

指定 bootstrap 的次数。

-m PROTGAMMALGX

指定核苷酸或氨基酸替代模型。PROTGAMMALGX 的解释: "PROT" 表示氨基酸替代模型; GAMMA 表示使用 GAMMA 模型; X 表示使用最大似然法估计碱基频率。

-s ex.phy

指定输入文件。phy 格式的多序列比对结果。软件包中包含一个程序来将 fasta 格式转换为 phy 格式。

-n ex

输出文件的后缀为 .ex 。

-T 20

指定多线程运行的 CPUs 。

RAxML_bootstrap.ex: 完整的全部bootstrapped trees

RAxML_bestTree.ex : 最佳得分 ML 树

RAxML_bipartitions.ex  : 有 bootstrap 分值支持的最佳得分树,分值在 node 上。

RAxML_bipartionsBranchLabels.ex :   有 bootstrap 分值支持的最佳得分树, 分值在 branch 上。FigTree不能识别此文件。

说明:

-f a:  tell RAxML to conduct a rapid Bootstrap analysis and search for the best-scoring ML tree in one single program run. Example: raxmlHPC -f a -s alg -x 12345 -# 100 -m GTRCAT -n TEST.

f b:  when this is specified RAxML will draw the bipartitions using a bunch of topologies (typically bootstrapped trees) specified with -z (see below) onto a single tree topology specified by -t (typically the best-scoring ML tree). Example: raxmlHPC -f b -t ref -z trees -m GTRCAT -s alg -n TEST.

If you use -f a the tree file name RAxML_bipartions.[run_name] will be the best tree with bootstraps. For the f -b approach you first need to estimate a an optimal tree.

Figtree: 使用Figtree查看 RAxML_bipartions.ex 文件,可显示最佳得分树的bootstrap信息。

MEGA:   使用MEGA软件可得到压缩树condensed tree,打开 RAxML_bipartions.ex或者RAxML_bipartionsBranchLabels.ex  显示设定bootstrap阈值的condensed tree。

更多参数可参考:https://www.yuque.com/wusheng/gw7a9p/mcc73y

现在假设你已经拿到了nwk格式的进化树文件,如下

现在进化树的所有信息都存储在了 tree 这个变量里

用到的的 geom_tiplab()

可以首先加上 theme_tree2() 函数显示出坐标轴范围,然后用 xlim() 函数更改坐标轴范围

这里布局的参数就不一一介绍了,可以参考 https://yulab-smu.top/treedata-book/chapter4.html

进化树(evolutionary tree)又名系统树(phylogenetie tree)进化树,用来表示物种间亲缘关系远近的树状结构图。在进化树中,各个分类单元(物种)依据进化关系的远近,被安放在树状图表上的不同位置。所以,进化树简单地表示生物的进化历程和亲缘关系。已发展成为多学科(包括生命科学中的进化论、遗传学、分类学、分子生物学、生物化学、生物物理学和生态学,又包括数学中的概率统计、图论、计算机科学和群论)交叉形成的一个边缘领域。

生物进化的总趋势 有以下几类

一般来说,进化树是一个二叉树。它由很多的分支和节点构成。根据位置的不同,进化树的节点分为外部节点和内部节点, 外部节点就是我们要进行分类的分类单元(物种) 。而物种之间的进化关系则用节点之间的连线表示。 内部节点表示进化事件发生的地方,或表示分类单元进化的祖先。 在同一个进化树中,分类单元的选择应当标准一致。进化树上不同节点之间的连线称为分支,其中有一端与叶子节点相连的分支称为外枝,不与叶子节点相连的分支称为内枝。

进化树一般有两种:有根树和无根树。

拓扑结构

分子进化树(以分子数据为依据构建的进化树)不仅精确地反映物种间或群体间在进化过程中发生的极微细的遗传变异(小至一个氨基酸或一个核昔酸差异),而且借助化石提供的大分子类群的分化年代能定量地估计出物种间或群体间的分化年代,这对进化论的研究而言无疑是一场革命。

序列比较是生物信息学中最频繁也是最有价值的工作。要知道一个序列(结构)与另一个序列(结构)或者与一批序列(结构)之间的差异,唯一的途径就是序列(结构)的比较分析。 序列水平上的比较反映的是字符串之间的差异,能够发现碱基序列或者氨基酸序列的保守模式。

构建进化树的方法包括两种:一类是序列类似性比较,主要是基于氨基酸相对突变率矩阵(常用PAM250)计算不同序列差异性积分作为它们的差异性量度(序列进化树)另一类在难以通过序列比较构建序列进化树的情况下,通过蛋白质结构比较包括刚体结构叠合和多结构特征比较等方法建立结构进化

三种主要的建树方法分别是距离法( distance method )、最大节约法( maximum parsimony , MP )和最大似然法( maximum likelihood , ML )。

同源性( homology )是比较生物学中的一个中心概念。同源,最基本的意义就是具有共同祖先。一般来说,如果两个物种中有两个性状满足一下两个条件中的任意一个,就可以称这两个性状为一对同源状。

在分子进化研究中,同源性一般是指两个核酸分子的核苷酸序列或者两种蛋白质的氨基酸序列质检的相似程度。序列分析是最终测定同源性程度的方法。

有多种文件格式旨在存储系统发育树以及与节点和分支相关的数据。三种常用的格式是 Newick 2 、NEXUS ( Maddison et al. 1997 )和 Phylip ( Joseph Felsenstein 1989 )。某些格式( 例如 NHX)是从 Newick 格式扩展而来的。进化生物学中的大多数软件都支持 Newick 和 NEXUS 格式作为输入,而一些软件工具通过引入用于存储进化推理的新规则/数据块来输出更新的标准文件( 例如 , BEAST MrBayes )。在其他情况下( 例如 , PAML r8s ),输出的日志文件只能被自己的单个软件识别。

树文件一般是nwk格式(Newick),输出bootstrap值,是按括号冒号等格式来存储信息的。所以名称最好不要带有中英文括号、冒号等信息,否则发生意想不到的错误。Newick 树格式是以计算机可读形式表示树的标准。

上图所示的有根树可以由以下字符序列表示为 Newick 树文本。

树文本以分号结尾。内部节点由一对匹配的括号表示。括号之间是该节点的后代节点。例如 (t2:0.04,t1:0.34) 表示 t2 和 t1 的父节点,它们是直接后代。兄弟节点用逗号分隔,提示由它们的名称表示。分支长度(从父节点到子节点)由子节点后面的实数表示,前面是冒号。与内部节点或分支相关联的单一数据(例如,引导值)可以编码为节点标签并由冒号前的简单文本/数字表示。

用于展示具有亲缘关系的物种/基因之间的 种系发生 (phylogeny)历史的树状图(dendrogram),就是 系统发育树 (phylogenetic tree),俗称进化树。我们很容易可以从一棵树上看到哪个物种跟哪个物种更相似,可是当我们真正要用一段话去描述这棵树的时候,往往有点不知所措。这里,我将介绍一下系统发育树是怎么看的。

首先来学习一下 系统发育树的基本结构 。故名思意,系统发育树具有与树类似的结构:

1. 根 (Root)

所有分支的共同祖先叫做根。根据有无根可分为:

2. 进化支 (Branch)

从根开始生长,每次分出两条枝也叫分支,指两种及以上的生物或序列组成的进化关系。

可以利用这个来看同源。比如,下图中人基因1与人基因2可能是旁系同源基因,而人基因1与鼠基因1可能是直系同源基因。

3. 结点 (Node)

枝生长到一定程度后,再次分枝的地方称为 内节点 (internal node)。每个结点代表一个分类单元,物种上可以是属,种群等,基因上可以是基因家族,同源物等。

4. 叶节点(leaf)

树的最末端称为 叶节点 (leaf),有时候也叫tip。

5. 进化枝(clade)

包含多个叶节点的分支称为 进化枝 (clade)。

以上是树的基本结构。如果只有这些结构,还不能称其为系统发育树,只能说是一个树状图。只有当我们赋予该 树状图 生物学意义 的时候,才能称为系统发育树:

除了以上基础结构,有的系统发育树还包含以下内容:

1. Bootstrap检验

对于进化树评估一般会使用 Bootstrap 进行检验。

Bootstrap检验,自举法检验,也叫自展,自助法。其实就是放回式抽样统计法的一种,通过对数据集多次重复取样,构建多个进化树,用来检查给定树的分枝可信度。

2. 重复取样值

那么重复取样的次数会在建树时设置,现在一般文章要求Bootstrap 取样值 >1000。

3. Bootstrap value 阈值

虽然根据严格的统计学概念,自展值需要要大于95%才较为可信。

然而在实际应用中,我们一般认为结点的 Bootstrap value >70,这个分支就是可靠的。特别是微生物等相似度比较大的分类中,一般大于50%就认为可信(小于50%不会显示)。

4. Bootstrap value 与分支

如果低 Bootstrap value 更靠近分支末端,代表相似度太高而很难区分

如果低 Bootstrap value 更靠近根,代表相似度太低

一个 单系群 (monophyletic group) 包括所有的拥有一个共同祖先的物种。在系统发生树上,单系统组包括一个节点和该节点的所有后代,由节点和末端分类单元表示。 因此,一个单系群也可以看作是一个进化枝。

图中节点1和物种B、C组成一个单系群,节点2和物种A、B、C也可以组成一个单系群,所以单系群之间可以有包含关系,对一个单系群的确定却决于节点的选择。

类似于单系群, 并系群(Paraphyletic Groups) 也是一组包含了共同祖先的物种,不同的是并系群并不一定包含这个共同祖先的所有后代。

图中节点2和物种A、B组成的并系群,可以看作是上一张图中深蓝色标注的单系群去掉物种C。

多系群(Polyphyletic Groups) 指的是一组由不同祖先进化而来的物种

由于基因测序的出现,许多从前的并系群和多系群被拆散并重新定义为单系群,但在结构(解剖,形态和/或发育),生活史和/或生态环境分类中并系群和多系群的存在还是有其意义的。

1. 为什么有的叶节点是物种,有的是基因?

2.有根树和无根树

根据是否指定了根节点,系统发育树可以分为有根树和无根树。

无根树和有根树图示如下图。

有根树根的选择应有所讲究,一般选择所研究的材料(根以下的全部材料)的最近的共同近缘种作为外群。

3. 物种树和基因树长得很像,两者有什么联系和区别?

测序技术发明以前,我们常常用生物的性状来推测物种树。测序技术发明之后,我们常常用基因序列来推测物种树。 因为基因和物种往往是共同演化的,所以往往有相同的演化模式 ,因此可以用基因树来推测物种树。 然而由于存在基因缺失、基因水平转移、基因重复等现象,并不是所有基因树都与物种树一致的 。如下图,A物种最初丢失了红色的基因,后来又从B物种的祖先中得到了这个基因,导致红色的基因树与物种树不一致。

参考:

https://www.renrendoc.com/paper/89627962.html

https://blog.csdn.net/weixin_33861800/article/details/86112643

https://zhuanlan.zhihu.com/p/351805254

https://zhuanlan.zhihu.com/p/338937831