eggNOG 5.0数据库介绍
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+blast2go或InterProscan来注释,这种方法可能找到旁系同源基因,而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数据库介绍的更多相关文章
- 从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍(附源码)
前面几章主要是概念性的东西为主,向初学者们介绍项目开始前的一些知识与内容,从本章开始将会进入实操阶段,希望跟着本系统学习的朋友认真按说明做好每一步操作(对于代码最好是直接照着文档内容在你的IDE中打一 ...
- .Net Core 2.0生态(4):Entity Framework Core 2.0 特性介绍和使用指南
前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...
- 数据库介绍(MySQL安装 体系结构、基本管理)
第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式 ...
- MongoDB:数据库介绍与基础操作
二.部署在本地服务器 在上次的学习过程中,我们主要进行了MongoDB运行环境的搭建和可视化工具的安装.此次我们将学习MongoDB有关的基本概念和在adminmongo上的基本操作.该文档中的数据库 ...
- 【转】数据库介绍(MySQL安装 体系结构、基本管理)
[转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...
- Redis数据库介绍
引言 redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. redis数据结构 redis是一种高级的key:value存储系统,其中value支 ...
- 【EF】Entity Framework Core 2.0 特性介绍和使用指南
阅读目录 前言 获取和使用 新特性 项目升级和核心API变化 下一步计划 遗憾的地方 回到目录 前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升 ...
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- MySQL数据库 介绍,安装,基本操作
- 数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 - Project: - conf - bin - ...
随机推荐
- MySQL:基础语法-1
MySQL:基础语法-1 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 关于数据库的安装操 ...
- [对对子队]会议记录4.19(Scrum Meeting10)
今天已完成的工作 何瑞 工作内容:搭建第2关,基本完成第3关 相关issue:搭建关卡2.3 相关签入:4.19签入1 4.19签入2 刘子航 工作内容:完成关卡选择界面的设计图 ...
- Noip模拟37 2021.8.12
T1 数列 真是考场上不是数学的乱推柿子,想定理,是数学的没想出来.. 比较悲伤... 列柿子不用动脑子,就是没有想出来$EXgcd$解不定方程,淦.. 解处一组解后利用比较显然的性质: $x+\fr ...
- 一文读懂Android进程及TCP动态心跳保活
一直以来,APP进程保活都是 各软件提供商 和 个人开发者 头疼的问题.毕竟一切的商业模式都建立在用户对APP的使用上,因此保证APP进程的唤醒,提升用户的使用时间,便是软件提供商和个人开发者的永恒追 ...
- 攻防世界 web2.robots
输入ip/robots.txt,显示出了flag目录,直接访问.
- Sharding-JDBC基本使用,整合Springboot实现分库分表,读写分离
结合上一篇docker部署的mysql主从, 本篇主要讲解SpringBoot项目结合Sharding-JDBC如何实现分库分表.读写分离. 一.Sharding-JDBC介绍 1.这里引用官网上的介 ...
- S 锁与 X 锁的爱恨情仇《死磕MySQL系列 四》
系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强 ...
- Python技法4:闭包
闭包:用函数代替类 有时我们会定义只有一个方法(除了__init__()之外)的类,而这种类可以通过使用闭包(closure)来替代.闭包是被外层函数包围的内层函数,它能够获取外层函数范围中的变量(即 ...
- Linux 文本三剑客之 awk
Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...
- pl/sql 远程连接oracle数据库问题(TNS:丢失连接)
前几天还可以连接的,突然就连接失效,别的电脑也连接不上 1.ping 远程数据库的IP,可以ping通. 2.检查服务端的tnsnames.ora文件和本机客户端比较,没问题. 3.查看监听是否启动 ...