1相关介绍

在介绍基因家族收缩和扩张之前,有一个概念是绕不过去的,就是基因家族。

基因家族(gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物,

同一家族基因可以紧密排列在一起,形成一个基因簇,但多数时候,它们是分散在同一染色体的不同位置,或者存在于不同的染色体上的,各自具有不同的表达调控模式。

在基因组项目中,通常会选择自己要研究的物种和其近缘的物种通过比对来寻找基因家族。通常我们有两种方式来得到基因家族:1

利用orthmcl软件进行blast比对(如果有谁不太清楚,出门左拐->上一篇文档)2将多条物种蛋白muscle比对之后,利用hmmer和pfam数据库比对,如果能比对上同一个蛋白质家族,认为这几条序列是隶属于同一个基因家族。当然也可以两种方法结合起来做。我做项目过程中大多选择第一种,因此今天利用第一种得到的基因家族信息来介绍基因家族收缩和扩张。

基因组文章中大多采用cafe软件来进行该项分析。(各个基因组统计结果)

2软件介绍

cafe是美国xx大学开发的一款xx软件,软件的原理大致如下,通常情况下比较两个物种基因家族数时,只是单纯的比较大小,如5大于2

,那么认为家族数为5的物种基因家族在扩张,后来加入了统计学,会考虑下5

是否显著大于2。但是科学家们都是处女座的,追求严谨,他们很较真的提出了一个概念,如果有5个基因家族的物种比对A物种,有100万年的历史,而有两个基因家族的物种有10万年的历史,那么将他们两个简单的做一下加减法或者统计检验是非常任性的,因此科学家们引入了一个模型,出生死亡率模型。社会学科的人都知道这个模型,可以用来估计人口的。同样这个模型可以估计出A和B的共同的祖先的基因家族数,然后我们在一个共有的时间尺度下比较A和其祖先,B和其祖先的家族数收缩和扩张情况,可以更好的,更准确的得到物种的状态。示意图如下

3所需数据

首先要对orthmcl的结果进行统计,统计每个家族中每个物种出现的次数,结果格式如下:

GF_1  r5|r5_37273 r5|r5_7773

r5|r5_39887 r5|r5_42220 r5|r5_40330 r5|r5_37989

r5|r5_40295

GF_2  r5|r5_4187 r5|r5_37986 r5|r5_8138 r5|r5_38203

r5|r5_3914 r5|r5_9613 r5|r5_9656 r5

然后要对所研究的物种和其近源物种进行构树,通常是提取单拷贝基因连接在一起构建物种树,得到物种树之后要进行化石时间的校正,也就是要把这个树变成时序树(因为cafe模型需要时序树吗,对于这部分不清楚的,也请出门左拐,看构建系统发生树的方法和软件介绍)。要将最终的树的格式保存为newick格式。(为保证内容的连惯性,这里不懂的,自行百度吧),并且去掉最后的;。树的格式如下:(B:6.0,(A:5.0,C:3.0,E:4.0):5.0,D:11.0);

具体内容参加网址:http://evolution.genetics.washington.edu/phylip/newicktree.html

有这两个输入文件就可以了。

4 程序介绍

cafe目前最新的版本是3.1,最老的版本是java写的,有执行窗口,比较友好,但是模型较为粗糙。我现在用的版本是3.1,

linux操作环境。执行命令时,只需敲入cafe即可。

帮助为?,退出交互界面为exit,当然也可以执行脚本,使得程序较为连贯。

在cafe中,我认为较为重要的就是lamda,这个参数就是出生死亡率的速率,一般为0.02。自己可以调整,也可以-s

让程序自己去估计。不过不要让lamda*时间大于1,这样模型跑不出结果来(模型内部限制)。

5输出结果和分析

6讨论和结论

在用cafe计算基因家族收缩和扩张时,经常遇到的问题有如果几个物种分化时间较短的话,模型计算不出来结果。如果有一个家族基因数超级多的话,也会影响模型的精确性,一般如果一个物种上万的收缩和扩张,就是有问题啦。另外,关于家族收缩和扩张树的构建,我建立利用R语言的一个包ape,当然我自己也写了一个脚本(perl

和R)可以直接生成基因家族收缩和扩张树。如果有兴趣的话,可以联系我。其他的问题,我会随时更新的,这些是我在做项目中学到的,肯定有疏忽和理解不对的地方,希望批评改正,大家共同进步。当然,如果你有疑问和质疑可以留言,我会时刻关注。

原文链接:http://pay.shengxin.ren/article-id-360.html

linux统计单拷贝基因家族,基因家族收缩和扩张分析相关推荐

  1. linux统计单拷贝基因家族,为什么要进行基因家族分析?

    原标题:为什么要进行基因家族分析? 某物种基因组被测序后,大部分课题组都会发表一些基因家族分析的文章,此举常常被误解为"灌水",其实不然,理清基因组内基因家族成员分类组成,是挖掘和 ...

  2. linux 统计目录大小并按大小排序

    linux 统计目录大小并按大小排序 统计目录大小命令 du -sh dir 统计当前目录下所有文件夹的大小并大小降序 du -sh * |sort -rh

  3. linux关闭io统计,linux 统计每个进程所占用的io数

    linux 统计每个进程所占用的io数 (2012-06-29 19:44:49) 标签: it 在新版本的内核,可以用iotop来实时的看到io的情况.但是在老版本的内核没有此工具,怎么办呢从网上搜 ...

  4. linux传送多个文件大小,linux统计多个文件大小总和

    首先:查看当前文件夹大小的命令是: [root@host1 test]# du -sh 39M. 查看当前文件夹下所有文件的大小: [root@host1 test]# du -sh * 108Kco ...

  5. Linux 统计一段时间内的文件大小

    Linux 统计一段时间内的文件大小 There is no nutrition in the blog content. After reading it, you will not only su ...

  6. linux命令统计文件行数据库,wc命令--Linux统计文件行数

    语法:wc [选项] 文件- 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选 ...

  7. 【Linux 统计文件行数】

    Linux 统计文件行数 语法:wc [选项] 文件- 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc 同时也给出所有指定文件的总统计数.字是由空格字符区分 ...

  8. Linux下使用Iptraf进行网络流量的分析

    Linux下使用Iptraf进行网络流量的分析 Posted on 2011/06/15 下面的教程我个人安装的时候,总是失败,在/usr/local/bin目录里没有iptraf这个文件,没有办法直 ...

  9. Linux下C/C++实现(网络流量分析-NTA)

    网络流量分析(NTA - Network Traffic Analysis) 就是捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议.流量.分析.统计等,协助发现网络运行过程中出现的问题. ...

最新文章

  1. java每秒执行一次_Java性能权威指南
  2. osgViewer::Viewer缩放、平移对单个模型不起作用
  3. 2020洪灾地图_卫星地图看洪灾:为何湖北易发洪水?
  4. ASP获取上月本月下月的第一天和最后一天
  5. python多进程卡死_Python 多进程中使用logging导致死锁
  6. 机器学习中的两个概率模型
  7. 【转】opencv 配置
  8. 2018 CCPC 桂林站(upc复现赛)总结
  9. Photoshop技巧
  10. win10虚拟机怎么连接服务器,win10自带虚拟机怎么链接服务器
  11. 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置。
  12. 缺陷报告.定义,报告,核心要素
  13. Unity 水波纹Shader
  14. 【问题记录】怎么用python读取CIFAR10数据集?
  15. matlab计算两向量的乘积,matlab中两个函数相乘
  16. 图片去除下间隙(图片3像素)的方法
  17. mysql建立序列相关操作 sequence
  18. 【算法基础六】敲代码遇到VScode多行与单行注释的快捷操作
  19. json转对象(GsonFormatPlus)
  20. GOSSIP PROTOCOL(又被称为反熵Anti-Entropy, 一种弱一致性, 同步信息交换通信的协议)...

热门文章

  1. html5中的td tr,html5 表格标签 table tr td
  2. UG二次开发 创建圆柱和简单孔UF_MODL_create_simple_hole
  3. c语言输入一串字符统计各字母出现次数,统计输入字符各个字母出现频率的解题思路...
  4. I DEA出现Spring配置错误:class path resource [.xml] cannot be opened because it does not exist
  5. C语言:二维数组及其定义
  6. 自建具备全文搜索能力的git server
  7. 蓝牙耳机怎么挑选?鹏鹏数码盘点2023口碑蓝牙耳机排行榜
  8. 香港云服务器网站打开缓慢,香港云服务器搭建的网站卡慢怎么办?火星直播
  9. 3310复刻版 java_诺基亚3310复刻版评测:经典回归 情怀满满
  10. python更改文件名