CAFE: a computational tool for the study of gene family evolution
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的更多相关文章
- Calculus on Computational Graphs: Backpropagation
Calculus on Computational Graphs: Backpropagation Introduction Backpropagation is the key algorithm ...
- (译)Calculus on Computational Graphs: Backpropagation
Posted on August 31, 2015 Introduction Backpropagation is the key algorithm that makes training deep ...
- Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...
- Mathematics for Computer Graphics
Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...
- Go 语言相关的优秀框架,库及软件列表
If you see a package or project here that is no longer maintained or is not a good fit, please submi ...
- 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 ...
- 斯坦福CS课程列表
http://exploredegrees.stanford.edu/coursedescriptions/cs/ CS 101. Introduction to Computing Principl ...
- 七种常见的核酸序列蛋白编码能力预测工具 | ncRNAs | lncRNA
注:这些工具的应用都是受限的,有些本来就是只能用于预测动物,在使用之前务必用ground truth数据来测试一些.我想预测某一个植物的转录本,所以可以拿已经注释得比较好的拟南芥来测试一下.(测试的结 ...
- 32 Profiling Go Programs 分析go语言项目
Profiling Go Programs 分析go语言项目 24 June 2011 At Scala Days 2011, Robert Hundt presented a paper titl ...
随机推荐
- poj 3694 无向图求桥+lca
题意抽象为: 给一个无向图和一些询问 对于每一次询问: 每次询问都会在图上增加一条边 对于每一次询问输出此时图上桥的个数. 桥的定义:删除该边后原图变为多个连通块. 数据规模:点数N(1 ≤ N ≤ ...
- 软件工程第4次作业------石墨文档Android客户端案例分析
作业要求的博客链接:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 分析产品:石墨文档Android客户端 第一部分 调研和评测 1. ...
- Linux下使用Nginx代理访问json文件报404错误
在网上看了很多,都说是IIS的问题,关键是使用servlet就可以正常访问,使用Nginx就不行,最后发现是其他问题,解决方案如下: 1.确认配置的路径是否正确,Nginx代理的路径和你访问的路径. ...
- EBS获取code_combination_id(CCID)时段值自动被置为默认值的问题
EBS中在使用标准的API(FND_FLEX_EXT.GET_COMBINATION_ID 和 FND_FLEX_EXT.GET_CCID还有fnd_flex_keyval.validate_segs ...
- 移动Web端资源整合
meta篇 viewreport 视窗宽度 <meta name="viewport" content="width=device-width,initial-sc ...
- BSS, DATA, TEXT, HEAP, STACK
BSS, block start segment, static memory, to store the global data which are not initialized. DATA, d ...
- 一、Ansible安装
1:安装ansible ,选择的是yum 安装,简单,ansible的管理端必须是Linux系统 YUM是一个shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM ...
- 【转】利用Boost.Python将C++代码封装为Python模块
用Boost.Python将C++代码封装为Python模块 一. 基础篇 借助Boost.Python库可以将C/C++代码方便.快捷地移植到python模块当中,实现对python模块的扩 ...
- dns缓存刷新时间是多久?dns本地缓存时间介绍
原文: http://www.winwin7.com/JC/4742.html dns缓存刷新时间是多久?一般来说,我们只知道DNS解析是互联网绝大多数应用的实际寻址方式,在我们打开某站点,DNS返回 ...
- spring mvc 注解整理(一)
@Controller和@RestController: RestController = @ResponseBody + @Controller 所有返回都是json类型,无法跳转到jsp页面,但 ...