1. eggNOG简介

最近考虑到所用的一些数据库太旧了,需要更新。在整理的时候发现eggNOG数据库在去年的时候已经做了一次更新eggNOG 5.0: a hierarchical, functionally and phylogenetically annotated orthology resource based on 5090 organisms and 2502 viruses。距离上个版本eggNOG4.5已经过去了3-4年,更新频率相对来说比较慢。但这次更新的内容是翻倍式增加的,以下是4.5和5.0比较。



eggNOG数据库全称是:直系同源蛋白分组比对(evolutionary genealogy of genes: Non-supervised Orthologous Groups)数据库,由EMBL创建维护,是对NCBI的COG数据库进行拓展,提供不同分类水平蛋白的直系同源分组(Orthologous Groups,OG),包括真核、原核及病毒的数据信息。它扩展了COG数据库的分类方法,采用无监督聚类算法在全基因组范围内推导基因功能,更适用于谱系特征基因的分析。

2. eggNOG-Mapper注释原理

常规功能注释方法基于序列相似性寻找直系同源基因,常用blast+blast2goInterProscan来注释,这种方法可能找到旁系同源基因,而eggNOG能区分旁系和直系同源基因,因此开发出eggNOG-mapper来进行功能注释。eggNOG v5.0对应的工具是eggNOG-mapper v2

注释的过程可分为图下四个过程:

  • A. 序列比对:通过HMMER搜索HMMs数据库找到OG,或者通过DIAMOND搜索蛋白数据库(速度更快,更适合宏组学),每条序列的最佳匹配结果以 seed ortholog 形式存放,用于获取其他直系同源基因。
  • B. 获取直系同源基因:通过seed ortholog来提取一个或一组精细的直系同源基因。
  • C.去除关系较远的直系同源基因:根据bit-score或E-value对结果进行一次过滤,剔除同源性不高的结果。
  • D. 功能注释:蛋白序列搜索到的直系同源基因的功能描述就是最终的注释结果,如GO、KEGG、COG等。

3. eggNOG 5.0数据资源

数据库是生物信息的基础,每个生物数据库都有各自的特点(主要是从不同角度说明生物问题),但信息的全面、分类和准确性是数据库的关键。eggNOG 5.0的下载数据在:http://eggnog5.embl.de/download/eggnog_5.0/

其中e5.proteomes.faa为所有的蛋白组序列,e5.viruses.faa为所有的病毒蛋白序列,e5.taxid_info.tsv为Taxid对应的物种名称以及完整的谱系信息,e5.og_annotations.tsv为所有的NOG信息,其第一列为Taxid,第二列为NOG groups,第三列为COG归属,第四列为Function。

除了功能,每个物种都有相应的注释信息http://eggnog5.embl.de/download/eggnog_5.0/per_tax_level/,比如1060(TaxID):



5000余个物种对功能注释来说是比较全面的了,但如果要做物种注释,那是远远不够的。

4. eggNOG-Mapper使用

在eggnog-mapper使用之前应该准备好:python、hmmer、diamond、fasta、注释数据库。

# 下载软件
git clone https://github.com/jhcepas/eggnog-mapper.git
# 下载数据库
cd eggnog-mapper ./download_eggnog_data.py euk #euk真核,bact原核,arch古菌,viruses病毒 #注释
python emapper.py -i test.fa --output ./ -d euk #默认以HMMER搜索
python emapper.py -m diamond -i test.fa --output ./ -d euk #指定搜索数据库类型,可大类、小类
python emapper.py -i test.fa --output ./ -d maNOG #哺乳动物NOG
python emapper.py -i test.fa --output ./ -d maNOG --usemem --cpu 10 #内存和线程

至于eggNOG注释的结果,包括了一些匹配和得分信息,以及GO,KEGG,BiGG,COG,KOG,NOG等功能注释结果。但不建议用它的GO和KEGG结果,因为这两个数据库是生信领域更新最快的,信息最全,eggNOG注释的结果可能会跟不上。可以采纳下它的COG、KOG、NOG的注释信息,因为COG/KOG几乎没有更新了,还停留在2003-2014年:https://www.ncbi.nlm.nih.gov/COG/

5. NOG、KOG、COG、KEGG、GO区别?

KEGG(Encyclopedia of Genes and Genomes)和GO(Gene Ontology)耳熟能详就不解释了,至少是目前权威公认的两大数据库。

主要是NOG和KOG、COG有点懵。

相同点:三者都是同源分类数据库,即都是OG(Orthologous Groups)。

不同点

  • COG:Clusters of Orthologous Groups of proteins,即同源蛋白簇,是NCBI的一个数据库。根据生物完整基因组的编码蛋白系统进化关系分类构建而成,每一簇COG由直系同源序列构成,从而可以推测该序列的功能,按功能共可以分为二十六类。
  • KOG:EuKaryotic Orthologous Groups(为什么不叫EOG?问号脸)。广义上COG分为真核和原核生物两类,原核的一般称为COG数据库,真核的一般称为KOG数据库。
  • NOG:Non-supervised Orthologous Groups,注意是非监督,因COG未及时更新,EMBL EggNOG对COG进行了完善,极大拓展了基因组信息,主要是基于HMM分析提供更细致的OG分析。

做了eggNOG,还有必要做COG/KOG吗?做不做都可以,主要看心情,看哪个更能解释你的生物学问题。一般来说,差别不会太大,COG虽然过时,但权威性还在呀。

附:不同功能数据库的层级划分

Ref:

应该是最好的eggnog-mapper功能注释教程

时隔四年,NOG数据库更新啦!

宏基因组功能注释(以COG为例)

https://www.biostars.org/p/286615/

eggNOG 5.0数据库介绍的更多相关文章

  1. 从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍(附源码)

    前面几章主要是概念性的东西为主,向初学者们介绍项目开始前的一些知识与内容,从本章开始将会进入实操阶段,希望跟着本系统学习的朋友认真按说明做好每一步操作(对于代码最好是直接照着文档内容在你的IDE中打一 ...

  2. .Net Core 2.0生态(4):Entity Framework Core 2.0 特性介绍和使用指南

    前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...

  3. 数据库介绍(MySQL安装 体系结构、基本管理)

    第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式 ...

  4. MongoDB:数据库介绍与基础操作

    二.部署在本地服务器 在上次的学习过程中,我们主要进行了MongoDB运行环境的搭建和可视化工具的安装.此次我们将学习MongoDB有关的基本概念和在adminmongo上的基本操作.该文档中的数据库 ...

  5. 【转】数据库介绍(MySQL安装 体系结构、基本管理)

    [转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...

  6. Redis数据库介绍

    引言 redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. redis数据结构 redis是一种高级的key:value存储系统,其中value支 ...

  7. 【EF】Entity Framework Core 2.0 特性介绍和使用指南

    阅读目录 前言 获取和使用 新特性 项目升级和核心API变化 下一步计划 遗憾的地方 回到目录 前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升 ...

  8. Mysql数据库介绍、安装和配置文件

    Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...

  9. MySQL数据库 介绍,安装,基本操作

    - 数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 - Project: - conf - bin - ...

随机推荐

  1. MySQL:基础语法-1

    MySQL:基础语法-1 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 关于数据库的安装操 ...

  2. [对对子队]会议记录4.19(Scrum Meeting10)

    今天已完成的工作 何瑞 ​ 工作内容:搭建第2关,基本完成第3关 ​ 相关issue:搭建关卡2.3 ​ 相关签入:4.19签入1 4.19签入2 刘子航 ​ 工作内容:完成关卡选择界面的设计图 ​ ...

  3. Noip模拟37 2021.8.12

    T1 数列 真是考场上不是数学的乱推柿子,想定理,是数学的没想出来.. 比较悲伤... 列柿子不用动脑子,就是没有想出来$EXgcd$解不定方程,淦.. 解处一组解后利用比较显然的性质: $x+\fr ...

  4. 一文读懂Android进程及TCP动态心跳保活

    一直以来,APP进程保活都是 各软件提供商 和 个人开发者 头疼的问题.毕竟一切的商业模式都建立在用户对APP的使用上,因此保证APP进程的唤醒,提升用户的使用时间,便是软件提供商和个人开发者的永恒追 ...

  5. 攻防世界 web2.robots

    输入ip/robots.txt,显示出了flag目录,直接访问.

  6. Sharding-JDBC基本使用,整合Springboot实现分库分表,读写分离

    结合上一篇docker部署的mysql主从, 本篇主要讲解SpringBoot项目结合Sharding-JDBC如何实现分库分表.读写分离. 一.Sharding-JDBC介绍 1.这里引用官网上的介 ...

  7. S 锁与 X 锁的爱恨情仇《死磕MySQL系列 四》

    系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...

  8. Python技法4:闭包

    闭包:用函数代替类 有时我们会定义只有一个方法(除了__init__()之外)的类,而这种类可以通过使用闭包(closure)来替代.闭包是被外层函数包围的内层函数,它能够获取外层函数范围中的变量(即 ...

  9. Linux 文本三剑客之 awk

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  10. pl/sql 远程连接oracle数据库问题(TNS:丢失连接)

    前几天还可以连接的,突然就连接失效,别的电脑也连接不上 1.ping 远程数据库的IP,可以ping通. 2.检查服务端的tnsnames.ora文件和本机客户端比较,没问题. 3.查看监听是否启动  ...