http://blog.sina.com.cn/s/blog_670445240102uxwy.html

一 COG简介

COG,即Clusters of Orthologous Groups of proteins。构成每个COG的蛋白都是被假定为来自于一个祖先蛋白,并且因此或者是orthologs或者是paralogs。Orthologs是指来自于不同物种的由垂直家系(物种形成)进化而来的蛋白,并且典型的保留与原始蛋白有相同的功能。Paralogs是那些在一定物种中的来源于基因复制的蛋白,可能会进化出新的与原来有关的功能。请参考文献获得更多的信息。

其网址主页为:http://www.ncbi.nlm.nih.gov/COG/。

网页版使用工具网址:http://www.ncbi.nlm.nih.gov/COG/old/xognitor.html。

使用说明文档网址:http://www.nlm.nih.gov/COG/old/COGhelp.html。

其FTP站点为: ftp://ftp.ncbi.nih.gov/pub/COG/。

通过观看其主页和说明文档,可以理解为COG是NCBI的数据库。COG的中文释义即“同源蛋白簇”。COG分为两类,一类是原核生物的,另一类是真核生物。原核生物的一般称为COG数据库;真核生物的一般称为KOG数据库。

COG是如何建立的?

COG是通过把所有完整测序的基因组的编码蛋白一个一个的互相比较确定的。在考虑来自一个给定基因组的蛋白时,这种比较将给出每个其他基因组的一个最相似的蛋白(因此需要用完整的基因组来定义COG。注1)这些基因的每一个都轮番的被考虑。如果在这些蛋白(或子集)之间一个相互的最佳匹配关系被发现,那么那些相互的最佳匹配将形成一个COG(注2)。这样,一个COG中的成员将与这个COG中的其他成员比起被比较的基因组中的其他蛋白更相像,尽管如果绝对相似性比较的。最佳匹配原则的使用,没有了人为选择的统计切除的限制,这就兼顾了进化慢和进化快的蛋白。然而,还有一个加的限制就是一个COG必须包含来自于3个种系发生上远的基因组的一个蛋白。

COG注释作用:1. 通过已知蛋白对未知序列进行功能注释; 2. 通过查看指定的COG编号对应的protein数目,存在及缺失,从而能推导特定的代谢途径是否存在; 3. 每个COG编号是一类蛋白,将query序列和比对上的COG编号的proteins进行多序列比对,能确定保守位点,分析其进化关系。

 将序列进行COG分类的步骤

1. COG的ftp里边提供了一个名为myva的文件,该文件里面为COG数据库的蛋白质序列,有192987。将该序列文件使用使用ncbi-blast-2.2.26+中的blastdb程序制作出一个前缀为cog的蛋白质数据库。

2. 将需要进行COG注释并分类的DNA序列或protein序列分别使用blastx或blastp比对到上一步骤建好的cog数据库中。得出xml的比对结果。

3. 根据上一步骤的比对结果,得出与query序列相似的cog蛋白id。在COG的ftp里面有一个名为whog的文件,该文件中记录着COG数据中绝大部分的蛋白质id以及其所对应的以COG开头的protein编号,同时也记录这COG编号对应的功能分类编号。因此,可以得出query序列注释的COG编号以及其功能分类编号。

4. ftp中还有一个名为fun.txt的文件,该文件记录这COG的功能分类编号,及其对编号的功能描述。

5. 因此,我编写了一个脚本程序用于COG分类注释。该脚本程序名字为cog.pl。输入为所需要进行COG分类的fasta序列文件,得出序列的比对结果和分类统计。

ftp://ftp.ncbi.nih.gov/pub/COG/COG

文件:fun.txt         2 KB         2003/3/2         0:00:00

文件:myva   60217 KB         2003/3/2         0:00:00

文件:myva=gb     3026 KB 2002/9/26       0:00:00

文件:org.txt         4 KB         2003/3/2         0:00:00

文件:pa        769894 KB       2003/3/2         0:00:00

文件:readme       2 KB         2003/4/17       0:00:00

文件:whog 2083 KB 2003/3/5         0:00:00

从03年开始就没有更新了

三 将序列进行KOG分类

方法和COG的分类一致。值得注意的是KOG数据中protein的编号是以LSE或TWOG开头的。同样,我编写了一个kog.pl。

四 说明补充

值得说明的是,KOG数据库中蛋白质序列数目为112920条,但是其中有protein编号的只有27887条,占25%。而COG数据库中蛋白质序列条数为192987,其中有COG编号的有129326条,占67%。所以比对结果中,很多序列比对上了KOG数据库,但是没有protein编号;而在比对到COG数据库时会好很多。

所以,可以先将序列比对到COG数据库,得出分类数据;然后将没有分类编号的序列挑选出来,再比对到KOG数据库,得出分类数据;然后将两个分类数据进行整合,然后画出COG分类图。

五,COG的注释

1,使用Webmga

http://weizhongli-lab.org/metagenomic-analysis

会反馈给你4个结果,output.1和output.2分别是两个非常相近的比对结果,而output.2.family是按照COG的编号排出来的结果,output.2.class是在COG大的分类上的一个统计结果

2,使用陈博士的脚本

mkdir /sam/cog

cd /sam/cog

wget ftp://ftp.ncbi.nih.gov/pub/COG/COG/myva

wget ftp://ftp.ncbi.nih.gov/pub/COG/COG/fun.txt

wget ftp://ftp.ncbi.nih.gov/pub/COG/COG/whog

makeblastdb –in myva –dbtype prot –title cog –parse_seqids –out cog –logfile cog.log

wget http://www.chenlianfu.com/train/bin/cog_from_xml.pl

wget http://www.chenlianfu.com/train/bin/cog_R.pl

使用blast

/sam/blast/bin/blastp -query assembly.orfs.hmm.faa -db /sam/cog /cog -evalue 1e-5 -num_threads 10 -max_target_seqs 5 -outfmt 5 -out assembly.orfs.hmm.blast.xml

-query 输入序列  -db 选择的数据库  -evalue 这个就不说了 -num_threads 服务器使用的cpu个数 -max_target_seqs设置最多的目标序列匹配数    -outfmt输出结果的参数  -out输出的文件名

注意文件或程序的路径,如果没有cd到相应的位置的话,就需要在命令中注明路径

使用cog_from_xml.pl进行COG分类分析

cog_from_xml.pl cog.xml   #这一步脚本有问题,做不下去

cog_R.pl cog_cog_class_annot.xls cog_out G.lucidum

display cog_out.png

cog_db_clean.pl  -myva myva whog >cog_clean.fa

formatdb -p T -o T -i cog_clean.fa;

3,使用樊博士的脚本

cog_db_clean.pl  并不是所有的COG序列都包含所有的功能注释,所以你需要运行命令,挑选出在COG数据库中有注释的那些序列,脚本下载链接:https://gist.github.com/Buttonwood/96f9a9ef8159ca111a69

cog_db_clean.pl  -myva myva whog >cog_clean.fa

# myva 为61.7M的fasta文件,序列名为>AF0017.1这样的格式;cog_clean.fa文件为51M的fasta文件,序列名为>AF0017.1         COG1250 3-hydroxyacyl-CoA dehydrogenase,结合了whog的信息。

formatdb -p T -o T -i cog_clean.fa;

blast_parser.pl  解析blast输出结果,下载链接:https://github.com/JinfengChen/Scripts/tree/master/bin

blastall -p blastp -b 500 -v 500 -F F -d cog_clean.fa -e 1e-4 -i yourdata.fa -o blast.out;

blast_parser.pl -tophit 1 -topmatch 1 blast.out >blast.best;

这个时候你就可以编写perl与R程序输出类似下面的结果:

Ps:感谢樊师兄提供的脚本与耐心的解答。

参考资料:

http://www.chenlianfu.com/?p=366#comments(超赞)

http://www.biosino.org/pages/ncbi-7.htm

http://blog.sina.com.cn/s/blog_83f77c940102ux6u.html(超赞)

可以参考的文献:

Tatusov et al. (1997).  A genomic perspective on protein families.  Science 278: 631-637.

Koonin et al. (1998).  Beyond complete genomes: from sequence to structure and function.  Curr. Opin. Struct. Biol. 8: 355-363.

Galperin et al. (1999).  Comparing microbial genomes: How the gene set determines the lifestyle.  In Organization of the Prokaryotic Genome,  R.L. Charlebois, Ed. (American Society of Microbiology, Washington, DC) pp. 91-108.

Tatusov et al. (2000).  A genomic perspective on protein families.  Nucleic Acids Res. 28: 33-6.

COG注释--转载的更多相关文章

  1. kegg-kass注释--转载

    在注释KEGG的时候,一直用到kaas,具体kaas是个什么东东,简单的总结一下吧.     KEGG是由日本人搞的一个代谢图,收录基因和基因组的数据库,数据库可以分为 3大部分,基因数据库, 化学分 ...

  2. IE中的条件注释(转载自网络)

    IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...

  3. MFC的PNG贴图按钮类(详细注释)

    MFC的PNG贴图按钮类(详细注释) (转载请注明出处) 作者:梦镜谷雨 萌新第二次写帖子,请多多包涵.末尾附上相应代码(PS公司繁体系统所以部分注释繁体请别介意). 因自带控件不美观,于是网上参考学 ...

  4. mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释

    mysql使用sql语句查询数据库所有表注释已经表字段注释(转载)   场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...

  5. Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity

    读paper的时候觉得自己就是个24K纯学渣(=.=)一大堆问题等着我去解决...所以在这里写一个Q&A好了,先列问题,逐步填充答案- ××××××××××××××××××我是分割线么么哒×× ...

  6. pycharm设置开发模板/字体大小/背景颜色(3)

    一.pycharm设置字体大小/风格 选择 File –> setting –> Editor –> Font ,可以看到如上界面,可以根据自己的喜好随意调整字体大小,字体风格,文字 ...

  7. Centos7安装gitlab11 学习笔记之基础概念、部署安装、权限管理、issue管理

    一.基础介绍 1.简介 一个基于GIT的源码托管解决方案 基于rubyonrails开发 集成了nginx postgreSQL redis sidekiq等组件 2.安装要求 2g内存以上,有点占内 ...

  8. Journal of Proteome Research | Proteomic analysis of Rhizobium favelukesii LPU83 in response to acid stress.(酸胁迫下根瘤菌LPU83(Rhizobium favelukesii)的蛋白质组学分析)(解读人:丑天胜)

    文献名:Proteomic analysis of Rhizobium favelukesii LPU83 in response to acid stress.(酸胁迫下根瘤菌LPU83(Rhizo ...

  9. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

随机推荐

  1. (转)nodejs中npm常用命令

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  2. spring4 离线doc和api(自制)

    spring mvc api 文档(英文版) 链接: https://pan.baidu.com/s/1c25Ml4 密码: ufb9 spring MVC 学习文档(英文版) 链接: https:/ ...

  3. c/c++ qsort 函数 结构体简单使用(1)

    #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct student ...

  4. Windows 服务为宿主的WCF服务,详细图解。

    废话不多说,直接进入主题: 1.打开vs2010新建项目,选择Windows服务. 2.选中WindowsService右击,添加WCF服务. 3.添加成功后,为下图.将接口类ITestService ...

  5. Shopex4.85商派2014年商业模板和商业插件共600多套仅售600元送分销王2代SEO排名神具。

    这批shopex商业插 件+模板都是本人从官方模板网站收购.高价.交换.以及收藏得来.本人因现实工作太忙不得不转手出售这批源代码,限时低价出售给和我一样从事shopex 系统网店电子商务的兄弟姐妹们, ...

  6. URL请求工具

    工作中有个需求,定期请求多个URL.“定期”采用计划任务实现,请求URL,虽说start url可以实现,但不灵活.自己制作了个专门请求URL的工具,并记录请求结果. 控制台程序代码: class P ...

  7. Spring学习笔记之二----基于XML的Spring AOP配置

    在Spring配置文件中,通常使用<aop:config>元素来设置AOP,其中应包括: <aop:aspect>指定aspect,aspect是一个POJO类,包含了很多的a ...

  8. 从零开始调用一个手机号归属地查询API

    自从过上程序员的生活,身边总是或多或少的提及一些API(应用程序接口),网上各种入门教程.实例大把大把,有的只是贴上部分代码,也不给注释, 写Demo的时候连编译都无法通过.下面我从小白开始来介绍下调 ...

  9. <input type='file'/>把默认样式改成框框

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Linux:-防火墙iptables如何个性化定制?

    身份标签/usr/local/etc/identity,主脚本iptables.sh,附属目录functions/iptables.d ├── iptables.sh ├── functions│   ...