RAxML下载与使用与ML建树原理

>ML建树原理

1.选择模型:首先需要根据不同的分子序列特点和研究目的,选择合适的进化模型。常用的模型包括JC模型、K80模型、HKY模型、GTR模型等。

2.构建初始树:为了进行ML优化,需要构建一颗初始的进化树。初始树的构建可以使用多种方法,例如随机构建、邻接法、UPGMA法等。

3.计算似然值:计算初始树的似然值,即给定当前进化树拓扑结构和分支长度下,观测到输入序列的概率。该概率可以根据所选的进化模型和序列数据计算得出。

4.优化树拓扑:通过修改进化树的拓扑结构,得到新的进化树,并计算其似然值。如果新的进化树的似然值比原始树更高,则接受该新树,否则舍弃。

5.优化分支长度:在确定树的拓扑结构后,进一步通过优化分支长度,使得观测到的序列数据出现的概率最大。这个过程通常使用牛顿法、梯度下降法等数值优化方法实现。

6.重复优化:不断重复步骤4和步骤5,直到ML似然值收敛或达到预设的停止条件。

7.输出结果:最终输出优化后的进化树和相应的似然值,用于进一步的分析和解释。

似然值是如何计算的:

 总之需要依赖substitution model 

>RAxML是怎么利用ML建树的

1.根据参数p的选择生成很多个随机初始树

2.计算每个初始树的似然值

3.根据ML算法优化每棵树的结构找到最大似然值

4.取结果中最大最大似然值最大的树作为输出

>选择版本

*按CPU运行速度(x86架构的新旧):标准版,SSE3,AVX和AVX2

*按并行实现方式:单线程,MPI,Threads,MPI+Threads

上面两个组合起来有超级多的makefile!需要根据序列长度和数量合理选择

Q1:单线程还是多线程?

一般来说,单线程适合中小型数据,多线程适合长比对。然而,manual指出,对于相对较小的数据(1,900 taxa, 1,200bp, DNA data),8核还是要快点。

Q2:MPI还是Thread?

MPI用于跨计算机通信和协调分布式内存系统中的多个进程,而Pthreads则用于在单个计算机上创建并发执行的多个线程,而且MPI版的功能不完整

Q3:线程设置多少?

并不是线程越多,程序越快,因为等待输入解析和彼此通信的时间也会变多(Amdahl法则)。

根据经验,使用一个核心/线程每500个DNA位点模式,如果有更少的,那么最好使用 sequential 版本。约有1000个位点的单基因DNA比对,可以用2个或最多4个线程进行分析。

Amdahl法则:描述一个系统部分性能提升对整个系统性能的影响,公式:

最大加速比(倍数)=1/ ((1-p)+ (p/N))

p是并行计算部分所占比例,N是并行处理结点个数(处理器个数)

>使用

eg:

raxmlHPC-PTHREADS-AVX2 -f a -m GTRGAMMA -p 12345 -x 12345 -# 100 -s sequences.fasta -n result

-s <filename>:输入文件名

-m <model>:输入使用的substitution模型

对于nt:

1.GRT(raxml只支持这一种取代模型)

2.GAMMA/CAT分布模型

3.I考虑不变位点

4.ASC考虑升降偏倚

不支持自动选择最佳取代模型,需要手动指定

对于aa:

输入PROTGAMMAAUTO自动选择最适合的模型

-b<int>:bootstrap分析的随机种子,只对单线程的版本有用(更慢,精度更高)

-x <int>:快速bootstrap的随机种子数,一般构建ML树使用这个选项(更快,精度较低)

-# <bootstrap>:设置bootstrap次数

-p <int>:设置初始化随机数的随机种子

-f <[adsb]>: 指定分析类型,一般选a表示进行ML构建分析

-n:指定输出文件后缀

>输出文件

RAxML_bestTree:最优的最大似然树

RAxML_bipartitions:最优的最大似然树,内部节点标注了bootstrap值

RAxML_bipartitionsBranchLabels,内部节点标注了bootstrap值,与RAxML_bipartitions标注方式不同

RAxML_bootstrap:根据bootstrap构建的自举树

RAxML_info:包含了raxml运行时的一些信息,如参数设置,模型选择,似然率计算等

.reduced:剔除的冗余序列

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值