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 - ...
随机推荐
- Noip模拟52 2021.9.13
T1 异或 比较稳的切掉 观察数据范围,无法线性筛啥的,根号复杂度也会死,于是只能考虑$log$级 然后打表 发现当$n$为$2^i$时的答案是一个可递归数列: $1,3,7,15,31,63,127 ...
- STM32 PWM功能在关闭时GPIO电平不确定的情况
刚开始接触STM32,遇到一个项目中出现在产品调试中出现在关闭PWM输出时,GPIO电平有不确定的情况.在网上查阅资料发现大神们是这样解释的:PWM在一个脉冲没有结束时关闭输出,会导致GPIO电平不确 ...
- netty系列之:netty实现http2中的流控制
目录 简介 http2中的流控制 netty对http2流控制的封装 Http2FlowController Http2LocalFlowController Http2RemoteFlowContr ...
- 第K个数 牛客网 程序员面试金典 C++ Python
第K个数 牛客网 程序员面试金典 C++ Python 题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测 ...
- 你们不要再吵了! Java只有值传递..
写在前边 上次聊到Java8新特性 lambda时,有小伙伴在评论区提及到了lambda对于局部变量的引用,补充着博客的时候,知识点一发散就有了这篇对于值传递还是引用传递的思考.关于这个问题为何会有如 ...
- .net core 和 WPF 开发升讯威在线客服系统:把 .Net Framework 打包进安装程序
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程. 系列文章目录: https://blog.shengxunwei.com/Home/Post/44a3 ...
- 攻防世界 Misc 新手练习区 如来十三掌 Writeup
攻防世界 Misc 新手练习区 如来十三掌 Writeup 题目介绍 题目考点 佛曰加密.base64.Rot13等加密方法的了解 Writeup 下载并打开附件 联想到佛曰加密,复制内容到 佛曰加密 ...
- Linux curl 命令 使用总结
简介 curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. 它支持多种协议 查看网页源码 直接在curl命令后加上网址,就可以 ...
- Integer.valueOf()和Integer.parseInt()区别
他们返回类型的不同是最大的原因. static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析. static Integer valueOf(int i) ...
- Kafka面试题总结
1.Kafka 都有哪些特点? 高吞吐量.低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partit ...