>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建树原理相关推荐

  1. 诗人般的机器学习,ML工作原理大揭秘

    诗人般的机器学习,ML工作原理大揭秘 https://www.cnblogs.com/DicksonJYL/p/9698208.html 选自arXiv 作者:Cassie Kozyrkov 机器之心 ...

  2. Spring 概念及特点 Spring下载地址 控制反转IoC实现原理

    Spring下载地址 http://repo.springsource.org/libs-release-local/org/springframework/spring/ Spring是开源full ...

  3. ML Pipeline原理

    为什么要引入ML Pipeline Spark MLlib是Spark的重要组成部分,也是最早推出的库之一,其基于RDD的API,算法比较丰富,比较稳定,也比较好用 划重点: 但是如果目标数据集结构复 ...

  4. Python爬虫:URL管理器及其实现方式、网页下载器、网页解析器原理及其实现原理!

    Python爬虫之URL管理器: Python爬虫:URL管理器实现方式: Python爬虫之网页下载器: urllib2实现网页下载器的三种方法: 具体代码:                    ...

  5. 专接本c语言知识点总结 百度云下载,河北省专接本(微机原理与接口技术知识点总结)(完整版).pdf...

    . 它们的差别在于对负数的表示. 第一章 概 述 (1)原码 一.计算机中的数制 定义: 1.无符号数的表示方法: 符号位: 0 表示正, 1 表示负: (1)十进制计数的表示法 数值位:真值的绝对值 ...

  6. BT下载会损害硬盘吗?--硬盘的工作原理,硬盘寿命

    关键字:硬盘,电脑维修,电脑故障,BT,Emule,P2P,S2P,FlashXP,FlashGet,ftp,NetAnts电骡,电驴,资源下载,软件下载,损坏硬盘,硬盘的工作原理,硬盘寿命,磁盘整理 ...

  7. [缓存]迅雷下载的原理——P2SP加速技术

    BT的出现使大多数人现在对P2P并不陌生,P2P的下载概念,简单点说,就是下载不再象传统方式那样只能依赖服务器,内容的传递可以在网络上的各个终端机器中进行. 而现在,P2SP出现使用户有了更好的选择, ...

  8. BT、电骡、迅雷等P2P下载原理

    迅雷的下载原理: 一.迅雷下载原理分析      迅雷的工作原理据称为"多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合".实际上还是传统的下载技术 ...

  9. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

最新文章

  1. 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】
  2. Javascript弹出div层
  3. 论文浅尝 | 「知识图谱」领域近期值得读的 6 篇顶会论文
  4. MySQL关联查询时,我们为什么建议小表驱动大表?
  5. 如何系统地学习深度学习(从初级到高级,初学者必看)
  6. Django 1.8.2 文档 1
  7. ST-Link系列usb驱动器下载
  8. 【程序人生】底层程序员,出局
  9. c语言函数的标准写法,C语言函数的两种写法变种
  10. 关于MAXIMO数据限制代码的理解
  11. 维护外贸客户关系的技巧!
  12. Imagination推最强多核GPU系列!AI算力达24 TOPS,支持自动驾驶和数据中心
  13. 软件架构-Nosql之redis
  14. 2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛(baseline)
  15. java 移动图片_Java写的一个简单的图片移动小程序
  16. 【mysql的使用】
  17. 使用nat123进行内网穿透
  18. AD2019查看网络走线
  19. 今天,我要挺一把 CSDN!
  20. WorkFlow .Net 流程转办

热门文章

  1. TCP/IP 主要报文头格式
  2. 苏州持续深化区块链技术在公证领域的应用
  3. 机器学习复习之逻辑斯蒂回归以及决策树
  4. 神经网络实现---SSD
  5. 删除带头结点的单链表的奇数结点
  6. LeetCode50——一题学会快速幂算法
  7. java和python工资-Java和Python哪个薪资更高?
  8. ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing 原文翻译
  9. AX2012 在自定义表中新建字段VATNum tooltip不好用?
  10. 手把手教你在GitHub上传项目(超详细)