1、摘要

摘要:我们提出了CAFE(计算分析基因家族进化),这是一个统计分析基因家族进化规模的工具。它使用随机的出生和死亡过程来模拟一个系统发育过程中基因家族大小的进化。对于一个特定的系统发育树,并给定现存物种的基因家族大小,CAFE可以估计全局基因家族的出生率和死亡率,推断所有内部节点上最可能的基因家族大小,确定基因加速损益率的家庭(用并确定哪些分支导致p值较小重要的家庭。)

2、 INTRODUCTION

对全基因组和单基因家族的分析揭示了家族规模的巨大变化,即使是对全基因组和单基因家族的分析也发生了巨大的变化揭示了家族大小的巨大变化,甚至在亲缘关系密切的生物体之间也是如此。此外,基因家族的大收缩和扩张通常归因于自然选择,而这些说法没有统计基础。为了使推论关于两个基因家庭规模变化的方向和大小,以及大尺寸的变化是否真正进化意义重大,我们介绍cafe(基因家族进化的计算分析):一个分析的工具基因家庭规模系统上下文的变化。Hahn et al. (2005);介绍了cafe所采用的概率模型;它使用随机的出生和死亡过程来模拟沿着系统发育树的每个谱系的基因得失。为了对整个系统发育过程进行推断,采用概率图形模型计算了系统发育过程中基因家族大小由父节点向子节点转移的概率。使用图形化模型机制,可以得出推论关于所有祖先物种的基因家族大小。特别是,树中现存分类单元中基因家族大小的说明足以估计祖先基因家族大小(因此也就可以确定每个分支的变化方向),并进行识别,特别是,现存的规范基因家族大小的类群在树上能充分估计祖先的基因家族的大小(因此改变在每个分支的方向),以及识别异常基因家族进化,并违反了一个特定模型的谱系及基因家族。CAFE可以通过一个易于使用的图形界面运行,也可以通过一个命令行版本运行,这两个版本都允许研究人员指定他们希望运行的分析。

3、DESCRIPTION

CAFE的主要输入是一个根和分叉的系统发育树的Newick描述(包括以时间为单位的分支长度)和一个包含现存的类群。数据文件可以由一个家族的数据组成,也可以由指定树的数千个家族组成。数据文件的第一行应该包含现有物种的名称(在Newick中使用),以tab键分隔,没有特定的顺序。随后的每行对应一个基因家族,并包含这些现存物种的制表符分隔的家族大小。如果数据文件中的列的标题与Newick树描述中的任何名称都不对应(Newick树描述可能提供关于基因家族的附加信息),那么这些列将被忽略,并简单地复制到输出文件中。Newick树描述的例子和相应的数据文件可以在在线用户手册中找到。第三个输入是λ,这是在系统发育过程中,每个基因在单位时间内每个基因获得和丢失的概率[CAFE假设基因的出生和死亡的概率相等]。用户可以通过输入一个数值来指定λ,或者让CAFE在数据文件中找到给定基因家族的最大似然值。应该注意的是,估计值λ是输入文件中所有家族的全局最可能值;可以通过单独运行每个家庭计算单个家庭的估计值λ。为了估计最大似然值,CAFE在用户提供的两个数值之间计算该参数的11个等距值的数据的似然值(在命令行版本中,使用的等距值的数量可以更改)。给定λ的初始范围,在后续分析中使用导致最大似然值的值;或者,在计算了λ的最大似然估计值后,可以要求CAFE停止分析。如果最可能的值是CAFE查询的两个最极端值之一,或者给定的初始范围非常大,建议在围绕前一个最可能值的区间内再次运行λ的估计。CAFE输出的日志文件包含所有查询值λ。给定系统发育树、现存物种(数据文件)中的基因家族大小和λ的值,可以使用图形模型计算祖先物种中最可能的家族大小,以及每个家族的大小。CAFE计算这些所谓的维特比赋值,通过比较所有父节点和子节点的估计大小,可以推断每个分支上基因家族大小变化的方向和大小。维特比赋值报告在主输出文件中。日志文件中报告了沿着树的每个分支扩展的平均大小(负值表示所有家族之间的平均收缩),以及树的每个分支上没有变化、扩展或收缩的家族的数量。对于数据文件中的每个基因家族,根据我们的基因家族进化模型,CAFE计算了与现存物种的基因家族大小相关的p值。拥有大量大小上的差异,特别是在亲缘关系密切的物种之间,可能具有较低的p值。低p值的基因家族很有趣,因为大的收缩或扩张可能与自然选择有关,或者与包含多个相关基因的染色体的大量复制或缺失有关。对于那些p值较小的基因家族,识别发生最大变化的树的分支(因此也就是反对模型的地方)是很有意义的。cafe合并三个方法来标识这些分支。虽然这些方法在本质上是不同的,但根据我们的经验,它们在大多数情况下是一致的。第一个方法(' Viterbi ')使用对祖先节点的Viterbi赋值,然后沿着树的每个分支计算从父节点到子节点的转换的p值。第二种方法(“分支切割”)计算如果我们切割树的一个分支,与一个基因家族相关的总p值是否会增加。通过“切割”一个分支,我们意味着移除该分支的父和子家庭大小之间的概率耦合。然后,给定删除一个分支作为模型的树,计算基因家族的p值(对每个分支分别执行此操作)。如果在切割一个分支之后,p值显著增加,那么这个分支可能要为整个模型的整体p值较低负责。第三种方法(“似然比检验”)通过估计进化速率参数l在被调查分支上的单独值,最大限度地提高了基因家族的可能性。模型中有两个参数的似然值与只有一个参数的似然值之比可用于评估沿着单个分支需要额外参数的情况。因此,高值表示分支的进化变化量大于预期

CAFE: a computational tool for the study of gene family evolution的更多相关文章

  1. Calculus on Computational Graphs: Backpropagation

    Calculus on Computational Graphs: Backpropagation Introduction Backpropagation is the key algorithm ...

  2. (译)Calculus on Computational Graphs: Backpropagation

    Posted on August 31, 2015 Introduction Backpropagation is the key algorithm that makes training deep ...

  3. Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]

    最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...

  4. Mathematics for Computer Graphics

    Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...

  5. Go 语言相关的优秀框架,库及软件列表

    If you see a package or project here that is no longer maintained or is not a good fit, please submi ...

  6. Awesome Go精选的Go框架,库和软件的精选清单.A curated list of awesome Go frameworks, libraries and software

    Awesome Go      financial support to Awesome Go A curated list of awesome Go frameworks, libraries a ...

  7. 斯坦福CS课程列表

    http://exploredegrees.stanford.edu/coursedescriptions/cs/ CS 101. Introduction to Computing Principl ...

  8. 七种常见的核酸序列蛋白编码能力预测工具 | ncRNAs | lncRNA

    注:这些工具的应用都是受限的,有些本来就是只能用于预测动物,在使用之前务必用ground truth数据来测试一些.我想预测某一个植物的转录本,所以可以拿已经注释得比较好的拟南芥来测试一下.(测试的结 ...

  9. 32 Profiling Go Programs 分析go语言项目

    Profiling Go Programs  分析go语言项目 24 June 2011 At Scala Days 2011, Robert Hundt presented a paper titl ...

随机推荐

  1. Restful levels &HATEOAS基本介绍~

    本文所涉及的内容摘自:http://www.manongjc.com/article/93934.html 什么是RESTful REST这个词,是Roy Thomas Fielding在他2000年 ...

  2. h5 网络断网时,返回上一个页面 demo (与检测网络代码相结合,更直观看到结果)

    页面一: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8& ...

  3. mysql建表规范及注意事项

    表设计规范 1.库名,表名,字段名必须使用小写字母,“-”分割 ,长度不得超过12字符 , 要见名识意 : 2.建议使用Innodb存储引擎 (1)什么是存储引擎 不同的技术及配套的相关功能就是存储引 ...

  4. Codeforces 1080C- Masha and two friends

    AC代码 #include <bits/stdc++.h> #define ll long long const int maxn=1e6+10; using namespace std; ...

  5. docker之 网络模式和跨主机通信

    Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建 ...

  6. c++11模拟boost元占位符placeholder

    准备实现meta programming的fold函数,发现自己缺少占位符实现,这样传入fold的transform op类(元函数)都不得不另外写个外覆类,其实我觉得没啥不好,简单直接,说实话干扰什 ...

  7. mongo数据的导入(mongoimport)和导出(mongoexport)

    1.导出数据可以使用命令: mongoexport -h dbhost -d dbname -c collectionName -o output 参数说明: -h 数据库地址 -d 指明使用的库 - ...

  8. HBuilder后台保活开发(后台自动运行,定期记录定位数据)

    http://ask.dcloud.net.cn/question/28090 后台自动运行,定期记录定位数据 分类:HTML5+   各位新年好 小弟以前用hbuilder开发过几个项目,现在有一新 ...

  9. VS Code 运行 TypeScript 操作指南

    总结一下TypeScript开发环境用到的各种工具: Node——通过npm安装TypeScript及大量依赖包.从https://nodejs.org/下载并安装它:如果安装各种包不方便,可以将安装 ...

  10. Linux下usb设备驱动详解

    USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB ...