1、下载

https://github.com/stamatak/standard-RAxML

2、How many Threads shall I use?

重要的是要知道,RAxML PThreads版本的并行效率取决于比对长度。通常,随着使用的内核/处理器数量的增加,您会希望并行程序变得更快。然而,通常情况下并非如此,因为使用的处理器越多,它们等待输入解析和彼此通信的时间就越多。在计算机科学中,这种现象被称为Amdahl法则(http://en.wikipedia.org/wiki/Amdahl's_law,https://www.cnblogs.com/battlecry/p/4696405.html.)。因此,如果您使用32而不是1个线程运行RAxML,这并不意味着它会自动变得快32倍,甚至可能变得更慢。正如我已经提到的,并行效率,即,在使用多少线程/内核的情况下,您仍然可以有效地并行执行它,取决于比对长度,或者更精确地说,取决于比对中不同模式的数量。这个数字由RAxML打印到终端并输入RAxML_info.runID文件,如下所示:

Alignment has  distinct alignment patterns

根据经验,我将使用一个核心/线程每500个DNA位点模式,即,如果你有更少的,那么最好使用 sequential 版本。约有1000个位点的单基因DNA比对,可以用2个或最多4个线程进行分析。因此,比对的模式越多,则可以有效地使用更多的线程/内核。还要注意,效率取决于数据的类型,或者更准确地说,取决于数据中的状态数(例如,DNA中的4个状态,蛋白质中的20个状态)。状态越多,每个线程/核心需要的站点模式(site patterns)就越少,这样RAxML才能高效地并行执行。这是因为随着状态数的增加,每个站点模式需要进行更多的计算工作(更多的数学操作)。因此,使用蛋白质数据,每个线程需要更少的站点才能有效地运行RAxML。因此,当使用16个核时,具有1000个蛋白位点模式的MSA仍然可以有效地运行。最后,并行效率还取决于速率异质性模型。与γ模型(GAMMA)需要更多的计算,因此通常使用更多的线程,GAT模型执行 大概是γ模型需要大约¼的计算。注意,这些只是非常粗略的经验规则,您需要测试您的数据集的最佳设置是什么!

3、 RAxML Likelihood Values & Idiosyncrasies

需要注意的是,RAxML生成的似然值不能直接与其他ML程序的似然值进行直接比较。以上当然指的是对相同树的可能性进行评估,就树搜索而言,程序将生成不同的树拓扑结构,因此在大多数情况下也会产生不同的似然值。注意,PHYML/RAxML和GARLI似然值之间的偏差有时可能更大,因为GARLI使用稍微不同的过程来计算碱基频率(Derrick Zwickl, personal communication,许多年前),而RAxML中的方法与在PHYML中实现的方法完全相同。在多序列比对中,RAxML/PHYML和GARLI之间的偏差似乎更大。还要注意,由不同的RAxML版本产生的似然值,尤其是不应该直接相互比较。这是由于在似然函数实现和模型参数优化过程中频繁改变代码和数据结构造成的!因此,如果希望比较不同ML程序获得的拓扑结构与它们的可能性,请确保使用同一个程序优化最终拓扑的分支长度和模型参数。

4、Differences in Likelihood scores

理论上,所有ML程序实现相同的数学函数,因此对于固定的模型和给定的树拓扑结构,应该产生相同的似然值。然而,如果我们试图在有限的机器上实现一个数值函数,我们将不可避免地获得舍入误差。即使我们改变序列(或如果它是由编译器改变,通常是这样)的一些操作,在我们的计算机应用浮点数或双精度算术,我们可能会得到不同的结果。我个人的观点是,为获得好的最终ML树,拓扑搜索(分析拓扑的数量)比精确的似然值得分更重要。特别是在有超过1000个序列的大型树中,拓扑引起的似然值的差异通常非常大,以致于使用1 log似然单元的epsilon (RAxML -e选项)进行非常粗略的参数优化。如果两个连续的模型参数优化迭代之间的差小于1.0,已经清楚地显示出差异,我们停止优化。注意,如果执行bootstrap分析,则不需要过多担心似然值,因为通常只对引导拓扑感兴趣。

5、Alignment input File Formats

RAxML的输入 alignment格式是relaxed interleaved或顺序排列的FASTA。放松意味着序列名称的长度可以在1到256个字符之间变化。如果需要更长的分类单元名称,可以在源文件axml.h中适当地使用常量#define nmlngth 256。此外,RAxML对交错的PHYLIP文件的PHYLIP格式(制表符、insets等)不太敏感。输入树格式是Newick(http://evolution.genetics.washington.edu/phylip/newicktree.html)。

Alignment Error Checking(RAxML自动分析对齐,并检查以下错误):

1. 在比对中多次出现相同的序列名,当您从某个工具导出一个标准的PHYLIP文件时,很容易发生这种情况,该文件将序列名截断为8或10个字符。

2. 具有不同名称但完全相同的序列。这种情况通常发生在将某些难以比对的对齐区域排除在对齐之外,并且使用时没有意义。

3、只包含模糊字符的待定列将被视为丢失的数据,即对于AA数据,完全由X、?、*、-组成的列,以及N、O、X、?、-用于DNA数据(类似于其他数据类型)

4、只包含模糊字符(见上文)的待定序列将被视为丢失的数据。

分类单元名称中的禁止字符是包含任何形式的空格字符的名称,如空格、制表符和回车符,以及下列禁止字符之一::或()或[]

如果RAxML检测到相同的序列和/或未确定的列并执行,例如,使用-n alignmentName,通过删除相同的序列和/或未确定的列,它将自动生成一个名为alignmentName.reduced的比对文件。如果在分区模型分析中检测到这一点,则对应的模型文件modelFileName.reduced也会被写下来。如果RAxML遇到相同的序列名称、未确定的序列或分类单元名称中的非法字符,它将带着一个错误退出,您必须修正比对。

The RAxML options

到目前为止,最重要的命令是显示所有选项的RAxML帮助选项。我也经常使用它,因为我不能记住所有的。

RaxML使用的更多相关文章

  1. RAxML安装

    1.下载解压 $ wget https://codeload.github.com/stamatak/standard-RAxML/zip/master -O standard-RAxML-maste ...

  2. 15、使用ggtree实现进化树的可视化和注释(转载)

    本文作者:余光创,目前就读于香港大学公共卫生系,开发过多个R/Bioconductor包,包括ChIPseeker, clusterProfiler, DOSE,ggtree,GOSemSim和Rea ...

  3. 从零开始学生信-orthofinder的安装和使用-基因家族分析

    [环境变量]注释掉conda3,source ~/.bashrc conda install orthofinder # 若在上一章之后没有重启的同学请重启后操作. # 由于是刚开始搭建,这里没有给o ...

随机推荐

  1. CSP-J&S2019前颓废记

    说了是颓废记,就是颓废记,因为真的很颓废...... 2018年12月 我看懂了<啊哈算法>(仅仅是看懂,并没有完全学会,只看得懂,却不会敲) 插曲:八上期末考试 我们老师阻挠我继续学OI ...

  2. jdk自带监控程序jvisualvm的使用

    监控小程序的配置 生产环境tomcat的配置 编辑应用所在的tomcat服务器下的bin目录下的catalina.sh文件,修改如下: 配置如下内容: export JAVA_OPTS="- ...

  3. 性能对比:aelf智能合约运行环境性能是evm的1000倍

    测试用例及代码库 机器配置 测试结果 3.1 EVM 3.2 AElf 3.2.1 LoopDivAdd10M 3.2.2 LoopExpNop1M 测试结论 近期对标以太坊做了一系列针对测试,在此次 ...

  4. 【测试方法】Web测试中bug定位基本方法

    知识总结:Web测试中bug定位基本方法 涉及知识点:测试方法 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出 ...

  5. 使用 jQuery.TypeAhead 让文本框自动完成 (二)(访问远程数据)

    项目地址:https://github.com/twitter/typeahead.js 直接贴代码了: @section headSection { <script type="te ...

  6. 程序基于InstallShield2013LimitedEdition的安装和部署

    在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...

  7. Elasticsearch PUT 插入数据

    { "error": { "root_cause": [ { "type": "illegal_argument_exceptio ...

  8. SQLAlchemy多表操作

    目录 SQLAlchemy多表操作 一对多 数据准备 具体操作 多对多 数据准备 操作 其它 SQLAlchemy多表操作 一对多 数据准备 models.py from sqlalchemy.ext ...

  9. memory一致性模型

    https://homes.cs.washington.edu/~bornholt/post/memory-models.html https://www.cs.cmu.edu/afs/cs/acad ...

  10. 【Web安全入门】三个技巧教你玩转XSS漏洞

    XSS漏洞是Web应用程序中最常见的漏洞之一,想要入门Web安全的小伙伴,这个知识点是必学的. i春秋官网中有很多关于XSS漏洞的课程,新手小白可以去官网看课学习. 学习地址:https://www. ...