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. 纯CSS打造BiliBili样式博客主题

    前言 一直以来,我都在思考如何减少不必要的JS代码,仅通过CSS来实现博客园主题美化.CSS有很多魔法代码,例如:before,iconfont,order,等等,利用好这些技巧,也能实现很好美化效果 ...

  2. HTML连载17-id选择器&类选择器

    一.问题:我们前面讲了标签选择器有一个缺陷就是它不加选择的把所有相同的标签全都变成统一样式,这对于我们个性化定制产生了阻碍,因此我们便引出了id选择器,来进行特别指定进行配置样式 二.id选择器 1. ...

  3. HBase的java操作,最新API。(查询指定行、列、插入数据等)

    关于HBase环境搭建和HBase的原理架构,请见笔者相关博客. 1.HBase对java有着较优秀的支持,本文将介绍如何使用java操作Hbase. 首先是pom依赖: <dependency ...

  4. 使用 jQuery.AutoComplete 让文本框自动完成

    直接贴代码了. @section headSection { <script type="text/javascript"> $(document).ready(fun ...

  5. Installing on Kubernetes with NATS Operator

    https://github.com/nats-io/nats-operator https://hub.helm.sh/charts/bitnami/nats https://github.com/ ...

  6. dedecms5.7的获取本文章的TAG

    tag调用标签如下: {dede:tag row='10' getall='1' sort='month'} <li><a href='[field:link/]'>[fiel ...

  7. 如何取消 SqlDataAdapter.Fill() 的执行(转载)

    问 Scenario: We have a DataGridView which is attached to DataAdapter (datatable), we load the data in ...

  8. 利用正则来查找字符串中第n个匹配字符索引

    1.string.IndexOf()方法可以获得第一个匹配项的索引 2.要获取第n个匹配项的索引:  方法1:利用IndexOf方法循环获取. 方法2:用正则来查找. System.Text.Regu ...

  9. jmeter入门操作 = 录制

    没安装工具的朋友请先看:https://www.cnblogs.com/cainiaoxiansheng/p/11007754.html 软件装好,功能了解好,那么就开始进入正题,先来一波录制 不要鄙 ...

  10. colmap编译过程中出现,无法解析的外部符号错误 “__cdecl google::base::CheckOpMessageBuilder::ForVar1(void)”

    错误提示: >colmap.lib(matching.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: cl ...