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 ...
随机推荐
- alpha冲刺(4/10)
前言 队名:旅法师 作业链接 队长博客 燃尽图 会议 会议照片 会议内容 陈晓彬(组长) 今日进展: 召开会议 安排任务 博客撰写 问题困扰: pm和程序猿的交流到底应该怎么样呢,会出现,不做安排的任 ...
- Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、Collections工具类和模拟斗地主洗牌和发牌
1.Map集合概述和特点 * A:Map接口概述 * 查看API可以知道: * 将键映射到值的对象 * 一个映射不能包含重复的键 * 每个键最多 ...
- 使用centos7构建本地git服务器
git的安装非常简单 直接yum install git -y即可 大概看一下我的执行步骤吧 首先在服务器上执行以下操作,完成创建仓库 mkdir -p /data/test/bp.git #创建仓库 ...
- type=number 的maxlength和可以输入E的问题
有一个输入框,要求只能输入1到999以下数字,于是 设置<input type="number" min="1" max="999"& ...
- Windows下将文件打包压缩成 .tar.gz格式
1.下载 “7-ZIP”,安装完成后进入需要打包的文件夹 2. 右击选择“添加到压缩包” 3.压缩格式:tar 4. 得到.tar文件,将其打包 5. 压缩格式为:gzip 6. 得到tar.gz格式 ...
- python从含有汉字和数字的字符串中提取数字部分
我遇到的问题是:我想要从字符串“1小时12分钟”中(其中两个数字是变化的)截取出1和12. 切片的方法比较简单,但不适合变化的字符串. filter(str.isdigit,"1小时12分钟 ...
- Linux打开文件设置
在某些情况下会要求增加Linux的文件打开数,以增加服务器到处理效率,在Linux下查看最多能打开的文件数量为: cat /proc/sys/fs/file-max 然后设置ulimit -n 文件数 ...
- Consul之:服务注册与发现
一.服务的管理(注册与发现)有三种方式: 1:通过配置文件的方式静态注册2:通过HTTP API接口来动态注册(spring cloud使用方式,spring cloud中使用的是consul api ...
- css 实现多行文本末尾显示省略号
思路: 省略号使用绝对定位添加,开头部分避免突兀使用c3渐变背景颜色 <!DOCTYPE html> <html lang="en"> <head&g ...
- [图文教程]VS2017搭建opencv & C++ 开发环境
首先从官网下载OpenCV最新版本 截至我写这文章,4.0已经发布预览版了,不过在这是没有的,只能用3.4.2: https://opencv.org/releases.html 一:安装 安装过程不 ...