跳转至

功能注释数据库(Functional Annotation Databases)

面试方向:宏基因组/16S/细菌基因组


1. 一句话概述

功能注释将基因/蛋白序列映射到已知数据库,揭示微生物群落的代谢潜力和功能特征。这是宏基因组分析中从"谁在那里"(物种组成)到"它们能做什么"(功能潜力)的关键跨越。


2. 核心知识点:数据库总览

2.1 数据库对照表

数据库全称注释内容常用注释工具结果解读要点
KEGGKyoto Encyclopedia of Genes and Genomes代谢通路、KO编号、模块KofamScan, eggNOG-mapper, HUMAnN3, DIAMOND+KEGG关注pathway层级(Level 1/2/3),KO号关联通路
COGClusters of Orthologous Groups直系同源基因簇,功能大类eggNOG-mapper, RPS-BLAST26个功能类别字母编码(J/K/L等)
eggNOGevolutionary genealogy of genes: Non-supervised Orthologous Groups直系同源基因扩展注释eggNOG-mapper v2整合COG/KOG/arCOG,提供GO/KEGG交叉注释
CAZyCarbohydrate-Active enZYmes碳水化合物活性酶dbCAN3 (run_dbcan), DIAMOND vs CAZy六大家族:GH/GT/PL/CE/AA/CBM
VFDBVirulence Factor Database毒力因子ABRicate, DIAMOND vs VFDB毒力因子类型、致病机制
CARDComprehensive Antibiotic Resistance Database抗生素耐药基因RGI (Resistance Gene Identifier), ABRicate耐药机制分类(efflux/target modification等)
ResFinderResistance Finder获得性耐药基因ResFinder在线/ABRicate耐药表型预测
MEROPSMEROPS the Peptidase Database蛋白酶/肽酶DIAMOND blastp vs MEROPS蛋白酶家族和clan分类
P450Cytochrome P450 Engineering Database细胞色素P450酶DIAMOND blastpP450家族命名和功能
GOGene Ontology基因功能本体论InterProScan, eggNOG-mapper三大类:BP/MF/CC
PfamProtein families database蛋白质结构域/家族HMMER (hmmscan), InterProScan结构域组合、家族归属
dbCANDataBase for automated Carbohydrate-active enzyme ANnotationCAZy的HMM注释平台run_dbcan v5 (dbCAN3)整合pyHMMER+DIAMOND+dbCAN_sub三种方法

2.2 KEGG 详解(Kyoto Encyclopedia of Genes and Genomes)

KEGG 层级结构(面试高频)

Level 1 (大类,共7类)
├── Metabolism(代谢)          ← 宏基因组最关注
├── Genetic Information Processing(遗传信息处理)
├── Environmental Information Processing(环境信息处理)
├── Cellular Processes(细胞过程)
├── Organismal Systems(有机体系统)
├── Human Diseases(人类疾病)
└── Drug Development(药物开发)

Level 2 (亚类,约50类)
├── Carbohydrate metabolism(碳水化合物代谢)
├── Amino acid metabolism(氨基酸代谢)
├── Lipid metabolism(脂质代谢)
└── ...

Level 3 (具体通路,约500条)
├── ko00010 Glycolysis/Gluconeogenesis(糖酵解/糖异生)
├── ko00020 Citrate cycle (TCA cycle)(三羧酸循环)
├── ko00030 Pentose phosphate pathway(磷酸戊糖途径)
└── ...

KEGG 核心概念

概念英文说明编号示例
KOKEGG Orthology直系同源基因功能单元K00001
PathwayKEGG Pathway代谢通路图ko00010
ModuleKEGG Module通路中的功能单元M00001
ReactionKEGG Reaction生化反应R00001
CompoundKEGG Compound化合物/代谢物C00001

KO号是核心枢纽:一个KO号可以关联到多个pathway、module和reaction。

KEGG 在宏基因组中的应用

基因序列 → KO注释 → Pathway映射 → 功能富集分析
                               比较不同样本/分组间的代谢差异

2.3 COG/eggNOG 详解

COG 功能分类字母含义(面试常考)

字母英文全称中文含义类别
信息存储与处理
JTranslation, ribosomal structure and biogenesis翻译、核糖体结构和生物合成信息
ARNA processing and modificationRNA加工和修饰信息
KTranscription转录信息
LReplication, recombination and repair复制、重组和修复信息
BChromatin structure and dynamics染色质结构和动力学信息
细胞过程和信号传导
DCell cycle control, cell division, chromosome partitioning细胞周期控制、细胞分裂细胞
YNuclear structure核结构细胞
VDefense mechanisms防御机制细胞
TSignal transduction mechanisms信号转导机制细胞
MCell wall/membrane/envelope biogenesis细胞壁/膜/包膜生物合成细胞
NCell motility细胞运动细胞
ZCytoskeleton细胞骨架细胞
WExtracellular structures胞外结构细胞
UIntracellular trafficking, secretion, and vesicular transport胞内转运、分泌细胞
OPosttranslational modification, protein turnover, chaperones翻译后修饰、蛋白质周转细胞
代谢
CEnergy production and conversion能量产生和转化代谢
GCarbohydrate transport and metabolism碳水化合物转运和代谢代谢
EAmino acid transport and metabolism氨基酸转运和代谢代谢
FNucleotide transport and metabolism核苷酸转运和代谢代谢
HCoenzyme transport and metabolism辅酶转运和代谢代谢
ILipid transport and metabolism脂质转运和代谢代谢
PInorganic ion transport and metabolism无机离子转运和代谢代谢
QSecondary metabolites biosynthesis, transport, catabolism次生代谢物合成代谢
功能不明
RGeneral function prediction only仅一般功能预测未知
SFunction unknown功能未知未知

面试技巧:记住三大类(信息/细胞/代谢)+ 各2-3个代表字母即可,不用全背。


2.4 CAZy 详解(Carbohydrate-Active enZYmes)

六大家族分类(面试高频)

家族缩写英文全称中文功能示例
GHGlycoside Hydrolases糖苷水解酶水解糖苷键GH13(淀粉酶), GH5(纤维素酶)
GTGlycosyl Transferases糖基转移酶催化糖基转移GT2(纤维素合酶), GT4
PLPolysaccharide Lyases多糖裂解酶裂解多糖PL1(果胶酸裂解酶)
CECarbohydrate Esterases碳水化合物酯酶水解酯键CE1(乙酰木聚糖酯酶)
AAAuxiliary Activities辅助活性酶氧化还原辅助AA1(漆酶), AA9(LPMO)
CBMCarbohydrate-Binding Modules碳水化合物结合模块结合底物,不催化CBM1(纤维素结合)

CAZy 在宏基因组中的意义

  • 揭示微生物群落的碳水化合物降解能力
  • 研究肠道菌群如何分解膳食纤维
  • 分析土壤/海洋微生物的有机碳循环
  • GH家族最多样,是研究重点

2.5 VFDB 详解(Virulence Factor Database)

毒力因子分类

类型英文功能示例
黏附因子Adherence帮助细菌附着宿主细胞fimbriae(菌毛), pili(纤毛)
侵袭因子Invasion侵入宿主细胞/组织invasin
毒素Toxin直接损伤宿主hemolysin(溶血素), enterotoxin(肠毒素)
免疫逃避Immune evasion逃避宿主免疫capsule(荚膜)
铁摄取系统Iron uptake从宿主获取铁siderophore(铁载体)
分泌系统Secretion system分泌效应蛋白T3SS, T6SS

2.6 CARD 与耐药基因分析

耐药机制分类

机制英文说明
抗生素外排Antibiotic efflux将抗生素泵出细胞
靶点修饰Target alteration修改抗生素作用靶点
抗生素灭活Antibiotic inactivation酶解/修饰抗生素
靶点保护Target protection保护靶点不被抗生素结合
靶点替换Target replacement用不敏感靶点替换
通透性降低Reduced permeability减少抗生素进入细胞

CARD vs ResFinder 对比

特征CARDResFinder
范围全面,含突变型耐药偏重获得性耐药基因
工具RGI (命令行)ResFinder (在线+命令行)
特色ARO本体论,机制分类详细表型预测,临床相关性
整合ABRicate可调用ABRicate可调用

2.7 GO 详解(Gene Ontology)

三大类别(面试必知)

缩写英文全称中文回答的问题示例
BPBiological Process生物过程这个基因参与什么过程?GO:0006412 translation(翻译)
MFMolecular Function分子功能这个基因产物有什么分子功能?GO:0003677 DNA binding(DNA结合)
CCCellular Component细胞组分这个基因产物在细胞哪里?GO:0005737 cytoplasm(细胞质)

GO的层级结构

  • GO是有向无环图(DAG),不是简单的树状
  • 越靠近根节点越笼统(general),越靠近叶节点越具体(specific)
  • 一个GO term可以有多个父节点
  • 面试时理解三大类即可,不需要背具体term

2.8 Pfam 详解

特征说明
内容蛋白质家族和结构域的HMM模型集合
方法基于HMM (Hidden Markov Model) 比对
工具HMMER (hmmscan/hmmsearch), InterProScan
编号PF00001 格式
应用鉴定蛋白质的功能域、预测蛋白功能
现状已整合入InterPro数据库

2.9 dbCAN 详解

特征说明
全称DataBase for automated Carbohydrate-active enzyme ANnotation
本质CAZy数据库的自动化HMM注释平台
版本dbCAN3 平台(工具 run_dbcan 最新 v5.x,HMMdb 最新 v14)
三种方法pyHMMER (vs dbCAN HMMs) + DIAMOND (vs CAZy) + dbCAN_sub(v5起用pyHMMER替代HMMER)
判断标准至少2种方法同时注释到才认为可靠
与CAZy关系dbCAN是CAZy的注释工具,CAZy是数据库本身

3. 注释工具及命令

3.1 eggNOG-mapper(最常用的综合注释工具)

# ============================================================
# eggNOG-mapper: 综合功能注释(可同时得到COG/GO/KEGG/Pfam注释)
# ============================================================

# ---- Step 1: 下载eggNOG数据库 ----
# download_eggnog_data.py 会下载eggNOG v5.0数据库(约50GB,eggNOG-mapper v2 默认版本)
download_eggnog_data.py \
    --data_dir /path/to/eggnog_db/    # 数据库存放目录

# ---- Step 2: 运行注释(蛋白序列输入) ----
emapper.py \
    -i proteins.faa \                  # 输入:蛋白质序列(FASTA格式)
    -o output_prefix \                 # 输出文件前缀
    --data_dir /path/to/eggnog_db/ \   # eggNOG数据库路径
    -m diamond \                       # 比对方法:diamond(快速)或hmmer(敏感)
    --cpu 16 \                         # 使用16个CPU线程
    --override                         # 覆盖已有输出文件

# ---- Step 2b: 也可以直接注释核酸序列 ----
emapper.py \
    -i genes.fna \                     # 输入:核酸序列
    --itype CDS \                      # 输入类型:CDS(编码序列)
    -o output_prefix \
    --data_dir /path/to/eggnog_db/ \
    -m diamond \
    --cpu 16

# ---- 输出文件说明 ----
# output_prefix.emapper.annotations  ← 主结果文件,包含:
#   - COG类别(COG_category列)
#   - GO注释(GOs列)
#   - KEGG KO号(KEGG_ko列)
#   - KEGG Pathway(KEGG_Pathway列)
#   - Pfam域(PFAMs列)
#   - eggNOG OG(eggNOG_OGs列)
#   - 描述(Description列)

eggNOG-mapper 输出格式解读

# 输出文件是TSV格式,关键列:
#  列1:  query             基因/蛋白ID
#  列5:  eggNOG_OGs        直系同源组
#  列7:  Description       功能描述
#  列10: GOs               GO注释
#  列12: KEGG_ko           KO号(如 ko:K00001)
#  列13: KEGG_Pathway      通路号(如 ko00010)
#  列14: KEGG_Module       模块号
#  列16: CAZy              CAZy注释
#  列21: COG_category      COG功能类别字母
#  列22: PFAMs             Pfam域

3.2 HUMAnN3(宏基因组功能注释专用流程)

# ============================================================
# HUMAnN3: 宏基因组功能组成定量(MetaPhlAn配套工具)
# 输出通路丰度和基因家族丰度
# ============================================================

# ---- Step 1: 下载数据库 ----
# 下载ChocoPhlAn核酸数据库(微生物pangenome)
humann_databases --download chocophlan full /path/to/db/
# 下载UniRef蛋白数据库
humann_databases --download uniref uniref90_diamond /path/to/db/

# ---- Step 2: 运行HUMAnN3 ----
humann \
    --input sample_R1R2.fastq.gz \       # 输入:质控后的宏基因组reads
    --output humann3_output/ \           # 输出目录
    --nucleotide-database /path/to/db/chocophlan/ \  # ChocoPhlAn数据库
    --protein-database /path/to/db/uniref/ \         # UniRef数据库
    --threads 16 \                       # 线程数
    --metaphlan-options "--db_dir /path/to/metaphlan_db"  # MetaPhlAn 4.2+ 参数变更:--bowtie2db 已更名为 --db_dir

# ---- 输出文件(三个核心结果) ----
# 1. *_genefamilies.tsv     基因家族丰度(UniRef90/KO/EC编号)
# 2. *_pathabundance.tsv    通路丰度(MetaCyc通路)
# 3. *_pathcoverage.tsv     通路覆盖度

# ---- Step 3: 转换为KEGG注释 ----
# 将基因家族丰度从UniRef90转换为KO
humann_regroup_table \
    --input sample_genefamilies.tsv \    # 输入:基因家族丰度
    --output sample_ko.tsv \             # 输出:KO丰度
    --groups uniref90_ko                 # 分组方式:按KO号

# ---- Step 4: 标准化 ----
# CPM标准化(Copies Per Million,每百万拷贝数)
humann_renorm_table \
    --input sample_ko.tsv \              # 输入
    --output sample_ko_cpm.tsv \         # 输出
    --units cpm                          # 标准化单位

# ---- Step 5: 合并多样本 ----
humann_join_tables \
    --input humann3_output/ \            # 输入目录(包含所有样本结果)
    --output merged_ko.tsv               # 合并后的KO丰度表

3.3 dbCAN3 / run_dbcan v5(CAZy注释专用工具)

# ============================================================
# dbCAN3 / run_dbcan v5: CAZy碳水化合物活性酶注释
# 整合三种方法:pyHMMER + DIAMOND + dbCAN_sub(v5用pyHMMER替代HMMER)
# ============================================================

# ---- Step 1: 下载dbCAN数据库 ----
# 下载HMM数据库、DIAMOND数据库等
dbcan_build --cpus 8 --db-dir /path/to/dbcan_db/

# ---- Step 2: 运行CAZy注释 ----
run_dbcan \
    proteins.faa \                       # 输入:蛋白质序列(FASTA)
    protein \                            # 输入类型:protein(蛋白序列)
    --db_dir /path/to/dbcan_db/ \        # dbCAN数据库路径
    --out_dir dbcan_output/ \            # 输出目录
    --dia_cpu 8 \                        # DIAMOND使用的CPU数
    --hmm_cpu 8 \                        # HMMER使用的CPU数
    --tf_cpu 8                           # eCAMI使用的CPU数

# ---- 输出文件 ----
# overview.txt         ← 汇总结果(最重要)
#   包含三种方法的结果,推荐至少2种方法同时注释到才可靠
# hmmer.out            ← HMMER结果
# diamond.out          ← DIAMOND结果
# eCAMI.out            ← 深度学习方法结果

3.4 ABRicate(快速耐药/毒力基因注释)

# ============================================================
# ABRicate: 快速注释耐药基因、毒力因子等
# 支持多种数据库:CARD, ResFinder, VFDB, NCBI等
# ============================================================

# ---- 查看可用数据库 ----
abricate --list                          # 列出所有可用数据库

# ---- 耐药基因注释(使用CARD数据库) ----
abricate \
    --db card \                          # 数据库:card(耐药基因)
    --minid 80 \                         # 最低序列一致性:80%
    --mincov 80 \                        # 最低覆盖度:80%
    --threads 8 \                        # 线程数
    contigs.fasta \                      # 输入:组装序列
    > abricate_card_results.tsv          # 输出:TSV格式结果

# ---- 毒力因子注释(使用VFDB数据库) ----
abricate \
    --db vfdb \                          # 数据库:vfdb(毒力因子)
    --minid 70 \                         # 最低一致性:70%
    --mincov 70 \                        # 最低覆盖度:70%
    contigs.fasta \
    > abricate_vfdb_results.tsv

# ---- 多样本结果汇总 ----
abricate --summary \
    sample1_card.tsv \                   # 样本1结果
    sample2_card.tsv \                   # 样本2结果
    sample3_card.tsv \                   # 样本3结果
    > summary_card.tsv                   # 汇总矩阵

# ---- 更新数据库 ----
abricate-get_db --db card --force        # 强制更新CARD数据库

3.5 RGI(Resistance Gene Identifier,CARD官方工具)

# ============================================================
# RGI: CARD数据库官方耐药基因注释工具
# 比ABRicate更详细,可注释突变型耐药
# ============================================================

# ---- 加载CARD数据库 ----
rgi load \
    --card_json /path/to/card.json \     # CARD数据库JSON文件
    --local                              # 加载到本地

# ---- 运行注释 ----
rgi main \
    --input_sequence contigs.fasta \     # 输入:组装序列或蛋白序列
    --output_file rgi_results \          # 输出文件前缀
    --input_type contig \                # 输入类型:contig / protein / read
    --local \                            # 使用本地数据库
    --clean \                            # 清理临时文件
    --num_threads 8                      # 线程数

# ---- 输出解读 ----
# rgi_results.txt 关键列:
#   Best_Hit_ARO       最佳匹配的ARO编号(抗性基因本体论)
#   Drug Class          耐药的药物类别
#   Resistance Mechanism 耐药机制
#   AMR Gene Family     耐药基因家族

3.6 KofamScan(KEGG官方KO注释工具)

# ============================================================
# KofamScan: 基于KOfam HMM的KEGG KO注释
# KEGG官方推荐,准确性高于BLAST方法
# ============================================================

# ---- 下载KOfam数据库 ----
wget ftp://ftp.genome.jp/pub/db/kofam/ko_list.gz
wget ftp://ftp.genome.jp/pub/db/kofam/profiles.tar.gz
gunzip ko_list.gz
tar xzf profiles.tar.gz

# ---- 运行注释 ----
exec_annotation \
    -f detail-tsv \                      # 输出格式:详细TSV
    -o kofamscan_results.tsv \           # 输出文件
    --cpu 16 \                           # CPU线程数
    --ko-list /path/to/ko_list \         # KO列表文件
    --profile /path/to/profiles/ \       # HMM profile目录
    --tmp-dir /tmp/kofamscan/ \          # 临时目录
    proteins.faa                         # 输入:蛋白质序列

# ---- 输出说明 ----
# 带 * 号的行表示该注释通过了阈值,可信度高
# 列:gene_name | KO | threshold | score | E-value | definition

4. 面试常问点

★ Q1: KEGG的层级结构是怎样的?KO号是什么?

参考答案:

KEGG数据库有三个层级结构。Level 1是最大的功能分类,比如Metabolism代谢、Genetic Information Processing遗传信息处理等共7大类。Level 2是亚类,比如Carbohydrate metabolism碳水化合物代谢等约50类。Level 3是具体的代谢通路,比如ko00010糖酵解、ko00020 TCA循环等约500条通路。

KO号就是KEGG Orthology编号,代表一个直系同源基因的功能单元,格式是K加5位数字,比如K00001。KO号是KEGG注释的核心枢纽,一个KO号可以同时关联到多个pathway和module。

在我们生信公司做宏基因组项目时,通常用eggNOG-mapper注释得到KO号,然后把KO号映射到KEGG pathway上,做不同样本组间的通路富集分析,看微生物群落在功能上有什么差异。


★ Q2: CAZy数据库中GH/GT/PL分别代表什么?

参考答案:

CAZy数据库将碳水化合物活性酶分为六大家族:

  • GH(Glycoside Hydrolases,糖苷水解酶):水解糖苷键,是最大也最多样的家族。比如GH13家族是淀粉酶,GH5包含纤维素酶。
  • GT(Glycosyl Transferases,糖基转移酶):催化糖基团的转移反应。
  • PL(Polysaccharide Lyases,多糖裂解酶):通过消除反应(非水解)裂解多糖。
  • 另外还有CE(碳水化合物酯酶)、AA(辅助活性酶,做氧化还原反应辅助降解)和CBM(碳水化合物结合模块,只结合底物不催化)。

在宏基因组中,CAZy注释可以揭示微生物群落降解不同碳水化合物的能力。我们通常用dbCAN3(run_dbcan v5)工具做注释,它整合了pyHMMER、DIAMOND和dbCAN_sub三种方法,推荐至少两种方法同时注释到才认为结果可靠。


★ Q3: 怎么做功能注释?你用什么工具?

参考答案:

做功能注释一般分几步:

  1. 基因预测:先用Prodigal或MetaGeneMark从组装的contigs中预测ORF(开放阅读框),得到蛋白序列。
  2. 综合注释:用eggNOG-mapper做综合注释,一次运行可以同时得到COG分类、GO注释、KEGG KO号和Pfam结构域。
  3. 专项注释:根据项目需求用专门工具,比如CAZy注释用dbCAN3(run_dbcan v5),耐药基因用ABRicate或RGI,毒力因子用ABRicate调VFDB数据库。

在生信公司做宏基因组项目时,我主要用eggNOG-mapper做综合功能注释,因为它一个工具就能整合多个数据库的结果,效率很高。对于特殊需求(比如碳水化合物降解、耐药基因),再用专门的工具做针对性注释。


★ Q4: 如何解读KEGG pathway的富集结果?

参考答案:

KEGG pathway富集分析是看某些功能通路在实验组和对照组之间是否有显著差异。解读时我主要关注:

  1. 统计显著性:看p值或校正后的q值(FDR),一般取q < 0.05作为阈值。
  2. 富集方向:看是上调富集还是下调富集,即该通路在哪个组中基因/KO丰度更高。
  3. 生物学意义:不能只看p值,要结合研究背景解读。比如土壤宏基因组中Nitrogen metabolism(氮代谢)通路富集,要看具体是哪些KO富集了,是硝化相关还是反硝化相关。
  4. 通路图可视化:可以把差异显著的KO标注到KEGG pathway图上,看差异基因在通路中的位置关系。

在生信公司做项目时,我们通常用R包(如clusterProfiler)做KEGG富集分析,然后用气泡图或柱状图展示top20富集通路,让客户直观看到功能差异。


★ Q5: COG功能分类的字母代表什么意思?

参考答案:

COG功能分类用26个字母代表不同的功能类别,分为四大类:

  1. 信息存储与处理:比如J(翻译和核糖体)、K(转录)、L(复制和修复)。
  2. 细胞过程和信号传导:比如T(信号转导)、M(细胞壁/膜合成)、V(防御机制)。
  3. 代谢:比如C(能量代谢)、G(碳水化合物代谢)、E(氨基酸代谢)、I(脂质代谢)。
  4. 功能不明:R(一般功能预测)和S(功能未知)。

在宏基因组分析中,用COG注释结果做柱状图,可以直观看到微生物群落的功能分布。通常代谢类(C/G/E/I等)占比最高,因为微生物最基本的活动就是物质代谢。


★ Q6: 耐药基因分析用什么数据库和工具?

参考答案:

耐药基因分析常用两个数据库:

  1. CARD(Comprehensive Antibiotic Resistance Database):最全面的耐药基因数据库,包含获得性耐药基因和突变型耐药。官方工具是RGI(Resistance Gene Identifier),可以注释出具体的耐药机制(如外排泵、靶点修饰、抗生素灭活等)和对应的药物类别。
  2. ResFinder:偏重获得性耐药基因,可以预测耐药表型。

工具方面: - ABRicate是最方便的快速注释工具,支持CARD、ResFinder、NCBI等多个数据库,一行命令就能出结果。 - RGI是CARD官方工具,更详细,能区分perfect hit、strict hit和loose hit。

在生信公司做细菌基因组项目时,如果客户需要耐药分析,我们一般用ABRicate快速扫描,重要的再用RGI做详细注释。


5. 易错/易混淆点

5.1 KEGG的KO vs Pathway vs Module

概念含义关系类比
KO单个基因的功能单元最小单位一块砖
Module通路中的功能子单元由多个KO组成一面墙
Pathway完整代谢通路由多个Module/KO组成一栋房子
KO (K00001) → Module (M00001) → Pathway (ko00010)
  基因级别        模块级别          通路级别

易错点:面试时被问"你注释到了哪些通路",不要只说KO号,要说清楚是映射到了哪条pathway。


5.2 eggNOG-mapper vs DIAMOND blastp 直接注释

对比项eggNOG-mapperDIAMOND blastp + KEGG
注释方法先找直系同源组,再转移注释直接序列比对
数据库eggNOG v5.0(整合多库;eggNOG v7 数据库已发布,但 eggNOG-mapper 默认仍使用 v5.0,v7 整合开发中)KEGG蛋白数据库
输出内容COG + GO + KEGG + Pfam + 描述仅KEGG相关
准确性基于直系同源关系,更准确基于序列相似性,可能有假阳性
速度较慢但全面快速
推荐首选,一次多库注释需要KEGG专项且追求速度时

核心区别:eggNOG-mapper是"找到同源组→转移注释",DIAMOND是"直接BLAST到数据库序列"。前者利用了进化关系,更可靠。


5.3 CAZy vs dbCAN

CAZydbCAN
本质数据库(Database)注释工具/平台(Tool)
内容碳水化合物活性酶的分类和信息CAZy的自动化注释流程
使用方式网站浏览、DIAMOND比对run_dbcan命令行工具
关系数据来源基于CAZy数据构建的HMM

类比:CAZy就像一本字典,dbCAN就像一个查字典的App。


5.4 GO的三个维度

                    Gene Ontology
                    /      |      \
                  BP       MF      CC
              生物过程   分子功能  细胞组分
              "做什么"   "怎么做"  "在哪里"

示例(一个转录因子):
  BP: transcription regulation(转录调控)    → 它参与的过程
  MF: DNA binding(DNA结合活性)             → 它的分子能力
  CC: nucleus(细胞核)                      → 它在细胞的位置

易错点:GO三个维度是独立的,一个基因可以同时有多个BP、MF和CC注释,不要以为一个基因只有一个GO term。


5.5 KEGG注释的版本问题

注意事项说明
KEGG不完全免费商业使用需要付费许可
KO号可能更新新版本可能合并/拆分/废弃KO号
不同工具结果可能不同eggNOG-mapper和KofamScan对同一基因的KO注释可能不完全一致
建议论文中注明使用的KEGG版本和注释工具版本

6. 功能注释在宏基因组中的完整流程图

原始reads
质控(fastp/Trimmomatic)
去宿主(Bowtie2 vs 宿主基因组)
组装(MEGAHIT/SPAdes)
基因预测(Prodigal/MetaGeneMark)
    ↓ 得到蛋白序列
    ├─→ eggNOG-mapper → COG/GO/KEGG/Pfam 综合注释
    ├─→ KofamScan → KEGG KO精准注释
    ├─→ dbCAN3/run_dbcan v5 → CAZy碳水化合物活性酶注释
    ├─→ ABRicate/RGI → 耐药基因注释
    ├─→ ABRicate → 毒力因子注释
    └─→ InterProScan → Pfam/GO/IPR综合注释
    丰度定量(reads mapping回基因 → TPM/RPKM)
    差异分析(DESeq2/LEfSe)
    富集分析(KEGG通路富集/GO富集)

7. 数据库访问与版本信息速查

数据库官方网址更新频率备注
KEGGhttps://www.kegg.jp月更新商业需许可
eggNOGhttp://eggnog6.embl.de大版本更新免费,eggNOG v7 数据库已发布(2025),但 eggNOG-mapper 工具目前默认仍使用 v5.0 数据库,v7 的官方整合正在开发中
CAZyhttp://www.cazy.org持续更新免费浏览
dbCANhttps://bcb.unl.edu/dbCAN2年更新免费
CARDhttps://card.mcmaster.ca季度更新免费
VFDBhttp://www.mgc.ac.cn/VFs持续更新免费
GOhttp://geneontology.org月更新免费
Pfam/InterProhttps://www.ebi.ac.uk/interpro年更新免费,Pfam已整合
MEROPShttps://www.ebi.ac.uk/merops不定期免费

8. 面试加分点

8.1 生信公司实习中的功能注释经验总结

在生信公司做宏基因组项目时,功能注释是标准流程的一部分: 1. 基因预测后,先用eggNOG-mapper做综合注释,一次跑就能得到COG/KEGG/GO/Pfam全套结果 2. 根据客户需求,追加专项注释(CAZy/耐药/毒力) 3. 统计KO丰度表,做组间差异分析和KEGG通路富集 4. 出图:COG功能分布柱状图、KEGG通路气泡图、CAZy家族热图等

8.2 功能注释的局限性

  • 数据库不完整:很多基因(尤其是未培养微生物的)没有功能注释
  • 功能预测 ≠ 功能验证:注释只是预测,不代表该功能真正在表达
  • 不同数据库结果可能不一致:同一基因在不同数据库的注释可能有出入
  • 宏转录组可以补充:如果要看"实际在做什么"而非"有能力做什么",需要宏转录组