跳转至

864. 宏基因组学习路线

一句话概述:宏基因组 = 直接测环境中所有微生物的DNA——不需要培养就能知道"谁在那里(物种)、能干什么(功能)、在干什么(活性)"。

核心知识点速查表

阶段内容工具时长
基础16S/ITS扩增子分析QIIME22-3周
进阶宏基因组Reads分析Kraken2/MetaPhlAn2-3周
高级宏基因组组装+分箱MEGAHIT/MetaBAT23-4周
前沿宏转录组/宏蛋白组HUMAnN/MetaProt2-3周

一、学习路线详解

# === 宏基因组学习路线(12周计划) ===

# 第1-2周: 微生物组基础
必学内容:
  - 微生物组概念(什么是微生物组)
  - 16S rRNA基因和物种分类
  - Alpha/Beta多样性的含义
  - 常见微生物组研究设计
实操:
  - 下载QIIME2移动端数据集
  - 完成QIIME2官方入门教程

# 第3-4周: 扩增子分析(QIIME2)
必学内容:
  - 数据导入和质控
  - DADA2去噪(ASV方法)
  - 物种分类(SILVA/Greengenes2)
  - Alpha多样性(Shannon/Chao1)
  - Beta多样性(UniFrac/Bray-Curtis)
  - 差异分析(LEfSe/ANCOM-BC)
实操:
  - 用公开数据完成完整16S分析
  - 画出物种组成堆叠图

# 第5-6周: 宏基因组Reads分析
必学内容:
  - 宏基因组 vs 扩增子的区别
  - 质控和宿主去除(fastp+Bowtie2)
  - 物种注释(Kraken2/MetaPhlAn4)
  - 功能注释(HUMAnN3)
  - 通路丰度分析
实操:
  - 用HMP数据跑完整流程
  - 比较16S和宏基因组结果差异

# 第7-9周: 宏基因组组装+分箱
必学内容:
  - 宏基因组组装(MEGAHIT/metaSPAdes)
  - 组装质量评估(QUAST/MetaQUAST)
  - 分箱(MetaBAT2/MaxBin2/CONCOCT)
  - 分箱优化(DAS Tool整合)
  - MAG质量评估(CheckM2)
  - 基因预测(Prodigal)
  - 功能注释(eggNOG-mapper)
实操:
  - 从宏基因组数据中恢复MAGs
  - 对MAGs做系统发育分析

# 第10-12周: 进阶分析
必学内容:
  - 菌株层面分析(StrainPhlAn)
  - 抗性基因检测(AMRFinderPlus)
  - 代谢通路重建(KEGG/MetaCyc)
  - 机器学习建模(随机森林/XGBoost)
  - 网络分析(SparCC/SPIEC-EASI)
实操:
  - 完成一个完整的宏基因组研究项目
  - 写分析报告(含图表和方法学)

二、核心工具实操

# === 宏基因组分析核心命令 ===

# 1. 质控 + 宿主去除
fastp -i raw_R1.fq.gz -I raw_R2.fq.gz \  # fastp质控
    -o clean_R1.fq.gz -O clean_R2.fq.gz \
    -q 20 -l 50                            # Q20 + 50bp最短

bowtie2 -x human_genome \                 # 去除人类reads
    -1 clean_R1.fq.gz -2 clean_R2.fq.gz \
    --un-conc-gz nonhost_%.fq.gz \         # 非人类reads
    -S /dev/null                           # 丢弃比对结果

# 2. 物种注释
kraken2 --db k2_standard \                # Kraken2分类
    --paired nonhost_1.fq.gz nonhost_2.fq.gz \
    --output kraken2.out \                 # 分类结果
    --report kraken2.report \              # 报告
    --threads 16

bracken -d k2_standard \                  # Bracken丰度估计
    -i kraken2.report \
    -o bracken.txt \
    -l S                                   # 种水平

# 3. 功能注释
humann3 --input nonhost_cat.fq.gz \       # HUMAnN3功能分析
    --output humann3_out/ \
    --threads 16

# 4. 组装
megahit -1 nonhost_1.fq.gz \              # MEGAHIT组装
    -2 nonhost_2.fq.gz \
    -o megahit_out/ \
    -t 32 --min-contig-len 1000           # 最短contig 1kb

# 5. 分箱
metabat2 -i contigs.fa \                  # MetaBAT2分箱
    -a depth.txt \                        # 覆盖度信息
    -o bins/bin \                         # 输出前缀
    -m 1500                               # 最短contig 1.5kb

# 6. MAG质量评估
checkm2 predict \                         # CheckM2评估
    --input bins/ \                       # 分箱目录
    --output checkm2_out/ \
    --threads 16
# 高质量MAG: 完整度>90%, 污染<5%
# 中质量MAG: 完整度>50%, 污染<10%

三、关键概念解释

# === 宏基因组关键概念白话解释 ===

concepts = {
    "16S vs 宏基因组": """
    16S: 只测一个基因(16S rRNA),告诉你"谁在那里"
    宏基因组: 测所有DNA,告诉你"谁在那里+能干什么"
    类比: 16S是人口普查(只统计人数),宏基因组是全面调查(连职业都查)
    """,

    "ASV vs OTU": """
    OTU: 把97%相似的序列归为一类(分辨率低)
    ASV: 精确到每个独特序列(分辨率高)
    2026年推荐: ASV (DADA2方法)
    """,

    "Alpha多样性 vs Beta多样性": """
    Alpha: 单个样本内部的多样性(一个人肠道里有多少种菌)
      - Shannon指数: 考虑丰富度和均匀度
      - Chao1指数: 估计总物种数
    Beta: 样本之间的差异(两个人的菌群有多不同)
      - UniFrac: 考虑进化关系
      - Bray-Curtis: 只看丰度差异
    """,

    "MAG(Metagenome-Assembled Genome)": """
    从宏基因组数据中"拼出"单个微生物的基因组
    类比: 从一堆混在一起的拼图中分离出每幅画
    步骤: 组装(拼接) → 分箱(分离) → 评估(检查质量)
    """,

    "LEfSe vs ANCOM-BC": """
    LEfSe: 经典差异分析工具,用LDA效应值排序
    ANCOM-BC: 更新的方法,解决了组成数据的偏差问题
    2026年推荐: ANCOM-BC (统计上更严谨)
    """
}

四、面试准备要点

# === 宏基因组方向面试高频问题 ===

interview_prep = {
    "Q: 16S和宏基因组怎么选?": """
    16S: 便宜、样本量大、只看物种组成时
    宏基因组: 需要功能信息、菌株分辨率、或MAGs时
    混合方案: 先用16S做大规模筛查,再选关键样本做宏基因组
    """,

    "Q: Kraken2和MetaPhlAn4的区别?": """
    Kraken2: 基于k-mer的分类,速度快,需要大数据库(64GB+)
    MetaPhlAn4: 基于marker基因,更保守,数据库小(<1GB)
    选择: 快速分析用Kraken2,发表论文两个都跑
    """,

    "Q: 宏基因组数据量怎么确定?": """
    - 人肠道: 5-10GB/样本 (30-50M reads)
    - 土壤: 10-20GB/样本 (复杂度更高)
    - 组装需要: 建议10GB+/样本
    - reads分析: 3-5GB足够
    """,

    "Q: 组成数据(compositional data)有什么问题?": """
    微生物丰度是相对的(比例数据,总和为1)
    问题: 一个物种增加,其他物种的比例会"被动"下降
    解决: 用CLR转换、ANCOM-BC、或ALDEx2处理
    """
}

常见报错与解决

报错信息原因解决方法
Kraken2 database too large数据库需要64GB+ RAM用MiniKraken或增加内存
MEGAHIT out of memory组装需要大量内存增加内存或减少k值范围
CheckM2 low completeness分箱质量差增加测序深度或优化分箱参数
HUMAnN3 too slow数据量大先用MetaPhlAn预筛再运行
QIIME2 plugin error版本不兼容用对应版本的QIIME2

速查表

# 宏基因组分析路线
扩增子: QIIME2(DADA2) → 物种+多样性+差异
Reads:  fastp → Kraken2/MetaPhlAn → HUMAnN3
组装:   MEGAHIT → MetaBAT2 → CheckM2 → 注释

# 工具对应关系
物种注释: Kraken2(快) / MetaPhlAn4(准)
功能注释: HUMAnN3(通路) / eggNOG-mapper(基因)
组装:     MEGAHIT(快) / metaSPAdes(准)
分箱:     MetaBAT2 + MaxBin2 + DAS Tool
质控:     CheckM2(MAG) / QUAST(组装)
差异:     LEfSe / ANCOM-BC / ALDEx2

# 数据下载
GEO/SRA: NCBI公共数据库
HMP:     人类微生物组计划
EBI/MGnify: 欧洲宏基因组数据库
国家基因组: GSA(国内数据)

# 学习资源
官方教程: QIIME2 docs + MetaPhlAn wiki
视频: B站"宏基因组"频道
论文: Nature Reviews Microbiology综述
实战: HMP数据 + 自己的课题数据