在应用中,有时需要使用最大似然法(Maximum Likelihood)构建系统树,这样可获得树节点的 bootstrap 值。由 Alexandros Stamatakis (Exelixis Lab) 开发的 RAxML 即是一款能使用多线程或并行化使用最大似然法构建进化树的软件。
下载
在 RAxML github 中下载软件的最新源代码。源代码包中既包含可直接用于 Windows 系统中的 .exe 文件,还有适用于 Linux 和 Mac 的 Unix 可执行文件。用户使用时可自行选择。
操作指南文件
-
最新 RAxML v.8.0.0 说明书。我的 Mac 系统按照该说明书中第五节 V. Compiling RAxML ,即可生成
raxmlHPC-AVX
和raxmlHPC-PTHREADS-AVX
两个 Unix 可执行文件。在 Mac 的 Shell 中即可根据需要执行这两个文件。 -
旧版 RAxML v.7 说明书。
-
基本运行步骤参考 RAxML step by step tutorial。
-
Mac 系统安装和运行 RAxML 。与源代码包中自带的操作说明 PDF 方法类似。
安装和运行(Mac 系统)
-
将下载的 github 源代码文件包 standard-RAxML-master 复制到根目录。
-
生成 Unix 可执行文件:按照 RAxML v.8.0.0 说明书 中的第五节 V. Compiling RAxML ,在终端 Shell 中执行命令:
cd standard-RAxML-master
ls ## list 源代码包中的文件
ls Makefile.* ## list 源代码包中的 Makefile 文件
make -f Makefile.AVX.gcc ## 解析生成 Unix 可执行文件 raxmlHPC-AVX
rm *.o ## 接下来解析 PThreass 版本
make -f Makefile.AVX.PTHREADS.gcc ## 解析生成 Unix 可执行文件 raxmlHPC-PTHREADS-AVX
- 执行 Unix 可执行文件:
./raxmlHPC-AVX -h ## 查看帮助文件,获得各参数设置方法
# 或
./raxmlHPC-PTHREADS-AVX -h
选择何种版本来运行,需由数据集的大小来定。一般情况下,PThreads 版本适用于非常长的序列数据,但是受制于硬盘的独立性; MPI 版本适用于较大的 bootstrap(100 或 1000)运行,对于更大数据集可并行运行找到最大似然树,只有用户在命令行中定义了 -#
或 -N
时 MPI 版本才能正确运行。
输入序列文件格式
输入文件是对齐后的 Phylip 序列 或 Fasta 序列。通常多为 Phylip 序列文件。需仔细核对序列的个体名是否唯一,个体名长度需小于 256 字节。
如果序列数据是由多个基因(或多种类型序列)组成,每个分区基因可能应用不同的替代模型,则需单独制一个分区文件如 part.txt
,分区文件格式请参考 -q
命令。如序列数据集由4个基因 16S, 28S, COI, H3 组成:
DNA, 16S = 1-573
DNA, 28S = 574-967
DNA, COI = 968-1690
DNA, H3 = 1691-2067
示例运行
./raxmlHPC-AVX -s sequences.phy -f a -x 1234 -p 1234 -# 1000 -m GTRGAMMA -q part.txt -n .OUT
运行参数说明(可参考 RAxML v.8.0.0 说明书,或 ./raxmlHPC-AVX -h
):
-s ## 输入Phylip 序列文件
-f ## 选择运行的算法
-f a ## 快速 Bootstrap 算法获取最佳得分的 ML 树
-x ## 指定一个随机数,作为快速 Bootstrap 算法中的种子
-p ## 指定一个随机数,作为 parsimony 简约算法中的种子
-# ## bootstrap 次数
-m ## 选择替换模型 substitution Model
-q ## 设置序列的分区
-n ## 输出文件格式
结果文件
若无指定路径,输出文件则存储于源代码包中,文件后缀为设置的 .OUT
。
RAxML_bootstrap.OUT ## bootstrapped trees
RAxML_bestTree.OUT ## 最佳得分 ML 树
RAxML_bipartitions.OUT ## 有 bootstrap 分值支持的最佳得分树,分值在 node 上。
RAxML_bipartionsBranchLabels.OUT ## 有 bootstrap 分值支持的最佳得分树, 分值在 branch 上。FigTree不能识别此文件。
其他
一般来说,上述示例作为一种快速和简便的运行,能够应用于大多数较大数据集。如果需要程序参数更好地适应你的对齐序列数据,可以参照 RAxML v.8.0.0 说明书 中的 The Hard & Slow Way 。更多问题,可参考说明书最后的 Q&A。