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:剔除的冗余序列
RAxML下载与使用与ML建树原理相关推荐
- 诗人般的机器学习,ML工作原理大揭秘
诗人般的机器学习,ML工作原理大揭秘 https://www.cnblogs.com/DicksonJYL/p/9698208.html 选自arXiv 作者:Cassie Kozyrkov 机器之心 ...
- Spring 概念及特点 Spring下载地址 控制反转IoC实现原理
Spring下载地址 http://repo.springsource.org/libs-release-local/org/springframework/spring/ Spring是开源full ...
- ML Pipeline原理
为什么要引入ML Pipeline Spark MLlib是Spark的重要组成部分,也是最早推出的库之一,其基于RDD的API,算法比较丰富,比较稳定,也比较好用 划重点: 但是如果目标数据集结构复 ...
- Python爬虫:URL管理器及其实现方式、网页下载器、网页解析器原理及其实现原理!
Python爬虫之URL管理器: Python爬虫:URL管理器实现方式: Python爬虫之网页下载器: urllib2实现网页下载器的三种方法: 具体代码: ...
- 专接本c语言知识点总结 百度云下载,河北省专接本(微机原理与接口技术知识点总结)(完整版).pdf...
. 它们的差别在于对负数的表示. 第一章 概 述 (1)原码 一.计算机中的数制 定义: 1.无符号数的表示方法: 符号位: 0 表示正, 1 表示负: (1)十进制计数的表示法 数值位:真值的绝对值 ...
- BT下载会损害硬盘吗?--硬盘的工作原理,硬盘寿命
关键字:硬盘,电脑维修,电脑故障,BT,Emule,P2P,S2P,FlashXP,FlashGet,ftp,NetAnts电骡,电驴,资源下载,软件下载,损坏硬盘,硬盘的工作原理,硬盘寿命,磁盘整理 ...
- [缓存]迅雷下载的原理——P2SP加速技术
BT的出现使大多数人现在对P2P并不陌生,P2P的下载概念,简单点说,就是下载不再象传统方式那样只能依赖服务器,内容的传递可以在网络上的各个终端机器中进行. 而现在,P2SP出现使用户有了更好的选择, ...
- BT、电骡、迅雷等P2P下载原理
迅雷的下载原理: 一.迅雷下载原理分析 迅雷的工作原理据称为"多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合".实际上还是传统的下载技术 ...
- vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...
细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...
最新文章
- 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】
- Javascript弹出div层
- 论文浅尝 | 「知识图谱」领域近期值得读的 6 篇顶会论文
- MySQL关联查询时,我们为什么建议小表驱动大表?
- 如何系统地学习深度学习(从初级到高级,初学者必看)
- Django 1.8.2 文档 1
- ST-Link系列usb驱动器下载
- 【程序人生】底层程序员,出局
- c语言函数的标准写法,C语言函数的两种写法变种
- 关于MAXIMO数据限制代码的理解
- 维护外贸客户关系的技巧!
- Imagination推最强多核GPU系列!AI算力达24 TOPS,支持自动驾驶和数据中心
- 软件架构-Nosql之redis
- 2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛(baseline)
- java 移动图片_Java写的一个简单的图片移动小程序
- 【mysql的使用】
- 使用nat123进行内网穿透
- AD2019查看网络走线
- 今天,我要挺一把 CSDN!
- WorkFlow .Net 流程转办