跳转至

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

面试方向:宏基因组/16S/细菌基因组 | 结合百迈客实习经历


1. 一句话概述

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


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

2.1 数据库对照表

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

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 核心概念

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

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

KEGG 在宏基因组中的应用

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

2.3 COG/eggNOG 详解

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

字母 英文全称 中文含义 类别
信息存储与处理
J Translation, ribosomal structure and biogenesis 翻译、核糖体结构和生物合成 信息
A RNA processing and modification RNA加工和修饰 信息
K Transcription 转录 信息
L Replication, recombination and repair 复制、重组和修复 信息
B Chromatin structure and dynamics 染色质结构和动力学 信息
细胞过程和信号传导
D Cell cycle control, cell division, chromosome partitioning 细胞周期控制、细胞分裂 细胞
Y Nuclear structure 核结构 细胞
V Defense mechanisms 防御机制 细胞
T Signal transduction mechanisms 信号转导机制 细胞
M Cell wall/membrane/envelope biogenesis 细胞壁/膜/包膜生物合成 细胞
N Cell motility 细胞运动 细胞
Z Cytoskeleton 细胞骨架 细胞
W Extracellular structures 胞外结构 细胞
U Intracellular trafficking, secretion, and vesicular transport 胞内转运、分泌 细胞
O Posttranslational modification, protein turnover, chaperones 翻译后修饰、蛋白质周转 细胞
代谢
C Energy production and conversion 能量产生和转化 代谢
G Carbohydrate transport and metabolism 碳水化合物转运和代谢 代谢
E Amino acid transport and metabolism 氨基酸转运和代谢 代谢
F Nucleotide transport and metabolism 核苷酸转运和代谢 代谢
H Coenzyme transport and metabolism 辅酶转运和代谢 代谢
I Lipid transport and metabolism 脂质转运和代谢 代谢
P Inorganic ion transport and metabolism 无机离子转运和代谢 代谢
Q Secondary metabolites biosynthesis, transport, catabolism 次生代谢物合成 代谢
功能不明
R General function prediction only 仅一般功能预测 未知
S Function unknown 功能未知 未知

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


2.4 CAZy 详解(Carbohydrate-Active enZYmes)

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

家族缩写 英文全称 中文 功能 示例
GH Glycoside Hydrolases 糖苷水解酶 水解糖苷键 GH13(淀粉酶), GH5(纤维素酶)
GT Glycosyl Transferases 糖基转移酶 催化糖基转移 GT2(纤维素合酶), GT4
PL Polysaccharide Lyases 多糖裂解酶 裂解多糖 PL1(果胶酸裂解酶)
CE Carbohydrate Esterases 碳水化合物酯酶 水解酯键 CE1(乙酰木聚糖酯酶)
AA Auxiliary Activities 辅助活性酶 氧化还原辅助 AA1(漆酶), AA9(LPMO)
CBM Carbohydrate-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 对比

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

2.7 GO 详解(Gene Ontology)

三大类别(面试必知)

缩写 英文全称 中文 回答的问题 示例
BP Biological Process 生物过程 这个基因参与什么过程? GO:0006412 translation(翻译)
MF Molecular Function 分子功能 这个基因产物有什么分子功能? GO:0003677 DNA binding(DNA结合)
CC Cellular 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 (最新)
三种方法 HMMER (vs dbCAN HMMs) + DIAMOND (vs CAZy) + eCAMI (基于深度学习)
判断标准 至少2种方法同时注释到才认为可靠
与CAZy关系 dbCAN是CAZy的注释工具,CAZy是数据库本身

3. 注释工具及命令

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

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

# ---- Step 1: 下载eggNOG数据库 ----
# download_eggnog_data.py 会下载eggNOG5数据库(约50GB)
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 "--bowtie2db /path/to/metaphlan_db"  # MetaPhlAn数据库

# ---- 输出文件(三个核心结果) ----
# 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(CAZy注释专用工具)

# ============================================================
# dbCAN3 (run_dbcan): CAZy碳水化合物活性酶注释
# 整合三种方法:HMMER + DIAMOND + eCAMI
# ============================================================

# ---- 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工具做注释,它整合了HMMER、DIAMOND和eCAMI三种方法,推荐至少两种方法同时注释到才认为结果可靠。


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

参考答案:

做功能注释一般分几步:

  1. 基因预测:先用Prodigal或MetaGeneMark从组装的contigs中预测ORF(开放阅读框),得到蛋白序列。
  2. 综合注释:用eggNOG-mapper做综合注释,一次运行可以同时得到COG分类、GO注释、KEGG KO号和Pfam结构域。
  3. 专项注释:根据项目需求用专门工具,比如CAZy注释用dbCAN3,耐药基因用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-mapper DIAMOND blastp + KEGG
注释方法 先找直系同源组,再转移注释 直接序列比对
数据库 eggNOG5(整合多库) KEGG蛋白数据库
输出内容 COG + GO + KEGG + Pfam + 描述 仅KEGG相关
准确性 基于直系同源关系,更准确 基于序列相似性,可能有假阳性
速度 较慢但全面 快速
推荐 首选,一次多库注释 需要KEGG专项且追求速度时

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


5.3 CAZy vs dbCAN

CAZy dbCAN
本质 数据库(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 → CAZy碳水化合物活性酶注释
    ├─→ ABRicate/RGI → 耐药基因注释
    ├─→ ABRicate → 毒力因子注释
    └─→ InterProScan → Pfam/GO/IPR综合注释
         ↓
    丰度定量(reads mapping回基因 → TPM/RPKM)
         ↓
    差异分析(DESeq2/LEfSe)
         ↓
    富集分析(KEGG通路富集/GO富集)

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

数据库 官方网址 更新频率 备注
KEGG https://www.kegg.jp 月更新 商业需许可
eggNOG http://eggnog5.embl.de 大版本更新 免费
CAZy http://www.cazy.org 持续更新 免费浏览
dbCAN https://bcb.unl.edu/dbCAN2 年更新 免费
CARD https://card.mcmaster.ca 季度更新 免费
VFDB http://www.mgc.ac.cn/VFs 持续更新 免费
GO http://geneontology.org 月更新 免费
Pfam/InterPro https://www.ebi.ac.uk/interpro 年更新 免费,Pfam已整合
MEROPS https://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 功能注释的局限性

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