01 背景
1.1 ML树
ML树,或最大似然树 ,是一种在进化生物学中用来推断物种之间进化关系的方法。最大似然(Maximum Likelihood, ML)是一种统计框架,用于估计模型参数 ,使得观察到的数据在该模型参数下的概率最大 。在进化树的构建中,这意味着选择一棵树(包括其分支长度和模型参数),使得给定的序列数据在该树模型下出现的概率最大。
ML树的特点:
-
模型驱动:ML方法依赖于复杂的统计模型 来描述序列进化过程中的变化。这些模型可以包括核苷酸或氨基酸替换的不同速率、遗传密码的变异等。
-
数据适应:最大似然方法能够适应不同类型的分子数据 (如DNA、RNA或蛋白质序列),并考虑序列间的进化距离和速率变异。
-
计算密集:相比其他方法(如邻接法或最大简约法),ML方法在计算上更为密集,因为它需要评估多种树形和参数组合下的概率。
ML树的应用:
-
物种分类:帮助科学家理解不同物种间的亲缘关系 。
-
进化研究:通过分析物种的遗传变化,研究它们的进化历史 。
-
功能预测:通过比较进化上相关的序列,预测 未知序列的功能。
-
生态和保护生物学:了解物种的进化关系,有助于生态保护和生物多样性研究。
最大似然树提供了一种强大的方法来推断物种间的进化关系,尽管它在计算上更为要求,但通过提供更准确的估计和适应多样化数据的能力,已成为分子系统发育学中的一个重要工具。
1.2 RAxML-NG
RAxML (Stamatakis,2014年)是一个受欢迎的最大似然(ML)树推断工具,过去15年来一直由Alexey M Kozlov的团队开发和支持。最近,我们还发布了ExaML(Kozlov等人,2015年),这是一个专门用于在超级计算机上分析基因组规模数据集的代码。ExaML实现了RAxML的核心树搜索功能,并且可以扩展到数千个CPU核心。其他广泛使用的ML推断工具包括IQ-Tree(Nguyen等人,2015年),PhyML(Guindon等人,2010年)和FastTree(Price等人,2010年)。
在这里,我们介绍我们的新代码RAxML-NG (RAxML下一代)。它结合了RAxML和ExaML的优势和概念,并提供了我们在下一节中将描述的几项额外改进。
所以,ML建树的最新一代版本软件,横空出世,一代版本一代神,代代版本ML树!
常配合MAFFT使用,详见MAFFT安装及使用-mafft v7.520(bioinfomatics tools-004)
02 参考
bash
https://github.com/amkozlov/raxml-ng #官网
03 安装
bash
这里是原码安装,就帮大家省略了hhh,编译好多人服务器可能配置不够
https://github.com/stamatak/standard-RAxML.git
Build RAxML-NG.
PTHREADS version:
git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake ..
make
下载zip注意解压即可
#下载安装包
wget -c https://github.com/amkozlov/raxml-ng/releases/download/1.2.0/raxml-ng_v1.2.0_linux_x86_64.zip
unzip raxml-ng_v1.2.0_linux_x86_64.zip -d ./raxml-ng
#将raxml-ng_v1.2.0_linux_x86_64.zip文件解压到当前目录下的一个名为raxml-ng的新文件夹里。
04 使用
bash
RAxML-NG v. 1.2.0 发布于 2023年5月9日,由 Exelixis Lab 开发。
开发者包括 Alexey M. Kozlov 和 Alexandros Stamatakis。
贡献者有 Diego Darriba, Tomas Flouri, Benoit Morel, Sarah Lutteropp, Ben Bettisworth, Julia Haag, Anastasis Togkousidis。
最新版本可在 https://github.com/amkozlov/raxml-ng 获取。
有问题/问题/建议?请访问:https://groups.google.com/forum/#!forum/raxml
系统:Intel(R) Xeon(R) Platinum 8173M CPU @ 2.00GHz,56核,502 GB RAM
使用方法:raxml-ng [选项]
命令(互斥):
--help 显示帮助信息
--version 显示版本信息
--evaluate 评估一棵树的似然(包含模型+分支长度优化)
--search 最大似然(ML)树搜索(默认:10个拟合树 + 10个随机起始树)
--bootstrap 引导法(默认:使用引导停止自动检测复制品数量)
--all 一体化(ML搜索 + 引导法)
--support 计算给定参考树(例如,最佳ML树)的分割支持和一组复制树(例如,来自引导分析的树)
--bsconverge 使用autoMRE标准测试引导收敛性
--bsmsa 生成引导复制MSAs
--terrace 检查树是否位于系统发育露台上
--check 检查校正并移除空列/行
--parse 解析校正,压缩模式并创建二进制MSA文件
--start 生成拟合/随机起始树并退出
--rfdist 计算树之间的成对Robinson-Foulds(RF)距离
--consense [ STRICT | MR | MR<n> | MRE ] 构建严格、多数规则(MR)或扩展MR(MRE)共识树(默认:MR)
例如:--consense MR75 --tree bsrep.nw
--ancestral 在所有内节点上重建祖先状态
--sitelh 打印每个站点的对数似然值
命令快捷方式(互斥):
--search1 别名:--search --tree rand{1}
--loglh 别名:--evaluate --opt-model off --opt-branches off --nofiles --log result
--rf 别名:--rfdist --nofiles --log result
输入输出选项:
--tree rand{N} | pars{N} | FILE 起始树:rand(随机), pars(拟合) 或用户指定(新克文件)
N = 树的数量(默认:rand{10},pars{10})
--msa FILE 校正文件
--msa-format VALUE 校正文件格式:FASTA, PHYLIP, CATG 或 自动检测(默认)
--data-type VALUE 数据类型:DNA, AA, BIN(二进制) 或 自动检测(默认)
--tree-constraint FILE 约束树
--prefix STRING 输出文件的前缀(默认:MSA文件名)
--log VALUE 日志详细程度:ERROR,WARNING,RESULT,INFO,PROGRESS,DEBUG(默认:PROGRESS)
--redo 覆盖现有结果文件并忽略检查点(默认:关闭)
--nofiles 不创建任何输出文件,仅在终端打印结果
--precision VALUE 打印的小数位数(默认:6)
--outgroup o1,o2,..,oN 逗号分隔的外群类群名称列表(只是一个绘制选项!)
--site-weights FILE MSA列权重文件(仅正整数!)
通用选项:
--seed VALUE 伪随机数生成器的种子(默认:当前时间)
--pat-comp on | off 校正模式压缩(默认:开启)
--tip-inner on | off 尖端-内部案例优化(默认:关闭)
--site-repeats on | off 使用站点重复优化,比尖端-内部快10%-60%(默认:开启)
--threads VALUE 使用的并行线程数(默认:56)
--workers VALUE 并行运行的树搜索数量(默认:1)
--simd none | sse3 | avx | avx2 使用的向量指令集(默认:自动检测)
--rate-scalers on | off 对每个速率类别使用单独的CLV缩放器(对于>2000物种默认开启)
--force [ <CHECKS> ] 禁用安全检查(请三思!)
模型选项:
--model <name>+G[n]+<Freqs> | FILE 模型规格或分区文件
--brlen linked | scaled | unlinked 分区间分支长度链接(默认:scaled)
--blmin VALUE 最小分支长度(默认:1e-6)
--blmax VALUE 最大分支长度(默认:100)
--blopt nr_fast | nr_safe 分支长度优化方法(默认:nr_fast)
nr_oldfast | nr_oldsafe
--opt-model on | off ML优化所有模型参数(默认:开启)
--opt-branches on | off ML优化所有分支长度(默认:开启)
--prob-msa on | off 使用概率校正(与CATG和VCF兼容)
--lh-epsilon VALUE 优化/树搜索的对数似然epsilon(默认:0.1)
拓扑搜索选项:
--spr-radius VALUE SPR重新插入半径,快速迭代(默认:自动)
--spr-cutoff VALUE | off 下降到子树的相对LH截断(默认:1.0)
--lh-epsilon-triplet VALUE 分支长度三元组优化的对数似然epsilon(默认:1000)
引导选项:
--bs-trees VALUE 引导复制品数量
--bs-trees autoMRE{N} 使用基于MRE的引导收敛标准,最多N个复制品(默认:1000)
--bs-trees FILE 包含一组引导复制树的Newick文件(与--support一起使用)
--bs-cutoff VALUE MRE-based引导停止标准的截断阈值(默认:0.03)
--bs-metric fbp | tbe 分支支持度量:fbp = Felsenstein引导(默认),tbe = 转移距离
--bs-write-msa on | off 写下所有引导校正(默认:关闭)
05 常用命令行
常配合MAFFT使用,详见MAFFT安装及使用-mafft v7.520(bioinfomatics tools-004)
bash
1. 对DNA校正进行树推断
(10个随机+10个拟合起始树,通用时间可逆模型,ML估计替换率和
核苷酸频率,离散GAMMA异质性率模型,4类):
./raxml-ng --msa testDNA.fa --model GTR+G ##这个属于all的一部分
2. 进行一体化分析(ML树搜索 + 非参数引导)
(10个随机化拟合起始树,固定经验替换矩阵(LG),
校正中的经验氨基酸频率,8个离散GAMMA类别,
200个引导复制品):
./raxml-ng --all --msa testAA.fa --model LG+G8+F --tree pars{10} --bs-trees 200 ##涵盖上述search 就是10
3. 在固定拓扑上优化分支长度和自由模型参数
(使用比例分支长度的多个分区)
./raxml-ng --evaluate --msa testAA.fa --model partitions.txt --tree test.tree --brlen scaled ##使用一个合适的枝长参数 evalute一个参数 他有一个优化模式 优化的话,这里就是选择最优模型进行打分判定。需要给定模型集合
实际上常用的
./raxml-ng --support --tree bestML.tree --bs-trees bootstraps.tree ##给予一个最好模型的数据,然后在进行,这种本文不予采用
##还是需要模型文件,然后筛选最佳模型,然后进行打分,但是模型文件
./raxml-ng/raxml-ng --msa singlecopy.mafft --prefix singlecopy.mafft.ML --threads 20 --bs-trees 1000 --model XXX
06 参考文献
Kozlov AM, Darriba D, Flouri T, Morel B, Stamatakis A. RAxML-NG: a fast, scalable and user-friendly tool for maximum likelihood phylogenetic inference. Bioinformatics. 2019 Nov 1;35(21):4453-4455. doi: 10.1093/bioinformatics/btz305. PMID: 31070718; PMCID: PMC6821337.
周颖,祝波,钱冬等. 虾肝肠胞虫感染病理特征、18S rRNA基因序列及系统进化树分析 [J]. 宁波大学学报(理工版), 2022, 35 (02): 8-14.
季梦玮,滕飞翔,周敏等. 原生动物AQPs系统进化树的构建以及结构分析 [J]. 江苏科技信息, 2019, 36 (13): 46-51.
李晓凤. 基于物种系统进化树的已批准天然来源药物物种分布与机制研究[D]. 重庆大学, 2018.
杜鹏程,于伟文,陈禹保等. 利用系统进化树对H7N9大数据预测传播模型的评估 [J]. 中国生物工程杂志, 2014, 34 (11): 18-23. DOI:10.13523/j.cb.20141103.
李玲. 基于线粒体基因组构建生物系统进化树[D]. 内蒙古工业大学, 2014.