1. 宏基因组分析概述

各位同行,咱们开始上课。今天要聊的,是宏基因组分析——说白了,就是研究一个环境里所有微生物的DNA。土壤、海水、人的肠道,甚至是一间病房的空调过滤网,都能拿来分析。你想想看,传统我们养细菌,只能培养出不到1%的物种,剩下的99%都在那儿“装死”。宏基因组学就是绕开培养这一步,直接把所有DNA提出来测序。我个人习惯这么定义它:一门不需要“养”就能看见“全貌”的学科。

1.1 宏基因组学到底是个啥?

宏基因组这个概念,早在上世纪90年代就被提出来了。那时候叫“环境基因组学”,直到高通量测序成本降下来,这门学科才真正火了。

我刚开始接触这个领域,接手的是一个粪便样本项目。用户想知道肠道菌群中哪些细菌在“作怪”。当时的流程还不成熟,我拿着原始的测序数据,光是去接头就折腾了两天。嗯,这里要提醒各位:原始数据质量决定分析成败,后面咱们会反复强调这一点。

宏基因组分析的核心是:

  • 样本采集:土壤、水体、粪便、唾液……什么都能测,但采集方式、保存条件直接影响结果。
  • DNA提取:提取效率决定了你能“看到”多少物种。我曾经遇到过粪便样本反复提不出高质量DNA的情况,后来发现是样本里腐殖酸干扰太大。
  • 文库构建 & 测序:Illumina、PacBio、Nanopore,各有各的坑。
  • 生信分析:质控、组装、分箱、功能注释……一步步搭起来。

一句话总结:宏基因组学 = 不用培养 + 测序所有微生物DNA + 通过生物信息学解开微生物“密码”。

1.2 应用领域——能拿来干嘛?

说实话,这年头宏基因组学几乎无孔不入。我在项目里见过的典型应用包括:

领域典型应用我遇到过的问题
人类健康肠道菌群与2型糖尿病、IBD、自闭症的关联分析样本量太小,统计效力不够;宿主DNA污染严重
环境微生物土壤微生物多样性评估、污水处理厂菌群监测土壤样本的腐殖酸共提,抑制了PCR反应
食品安全致病菌溯源、发酵食品微生物组成低生物量样本(比如包装食品)容易引入环境背景菌
农业根际微生物组与作物抗逆性数据中植物叶绿体、线粒体污染严重,过滤脚本写得太粗暴

每个领域都有自己的“坑”。你说食品样本里检出大肠杆菌,但到底是不是污染?我曾经就因为这个,花了一周时间重新分析数据。所以后来我在流程里加了一个严格对照的环节——从采样空白到文库阴性对照,一个都不能少。

1.3 分析流程总览——从头到尾走一遍

现在我带你把整个流程过一遍。别急,先看这张图,心里有个谱:

宏基因组分析流程总览 样本采集 土壤/粪便/水 DNA提取 & 建库 NanoDrop / Qubit 高通量测序 Illumina / PacBio 质控 & 预处理 FastQC / Cutadapt 物种组成分析 MetaPhlAn / Kraken2 功能注释 HUMAnN / eggNOG 组装 & 分箱 MEGAHIT / metaBAT2 统计分析 & 可视化 LEfSe / Vegan 注:具体软件和参数选择需根据数据特点与资源环境灵活调整

1.4 流程的每一步都踩过坑

上面这张图看着挺规整,但实际操作中每一步都有讲究。我按先后顺序给你拆解一下:

步骤一:样本准备与DNA提取

这是整个流程的基础。提取质量不好,后面再花哨的分析都白搭。我个人习惯用Qiagen DNeasy PowerSoil Pro Kit处理土壤样本,针对高腐殖酸样本效果不错。但注意:不同样本类型最好用对应的专用试剂盒。我曾经用通用试剂盒提取唾液样本,结果宿主DNA比例高达90%,最后只能加一步宿主DNA去除。

步骤二:测序文库构建与上机

建库的插入片段长度、PCR循环数都会影响结果。如果你做的是鸟枪法宏基因组(shotgun metagenomics),建议插入片段控制在350-500 bp之间。PCR循环数尽量控制在8-12轮,避免扩增偏好性。

建议:上机前一定要跑一个凝胶电泳或Agilent Bioanalyzer检查文库质量,别等数据出来才发现建库失败。

步骤三:下机数据质控

原始FASTQ文件到手后,第一步永远是质控。跑个FastQC看一眼:

fastqc sample_R1.fastq.gz sample_R2.fastq.gz -t 4 -o qc_results/

如果看到前面10-15个碱基的Q值偏低,不用慌——这是Illumina测序的正常现象。但整体Q30比例低于80%就需要注意了,可能是建库或上机有问题。

接下来用Cutadapt或Trimmomatic去接头、去低质量:

cutadapt -a AGATCGGAAGAGC -A AGATCGGAAGAGC \
         -q 20,20 --min-length 50 \
         -o clean_R1.fastq.gz -p clean_R2.fastq.gz \
         raw_R1.fastq.gz raw_R2.fastq.gz

步骤四:物种分类与相对丰度分析

常用的工具有MetaPhlAn和Kraken2。我一般先用Kraken2建一个标准库做快速鉴定,再用MetaPhlAn做精细分析。注意:数据库更新很重要。你想想看,用2020年的数据库去分析2024年采集的样本,肯定会漏掉不少新发现的物种。

步骤五:功能基因与通路注释

跑HUMAnN时,我遇到过数据库兼容性问题。这里建议严格按照官方文档准备数据库:

humann_databases --download chocophlan full /path/to/db
humann_databases --download uniref uniref90_diamond /path/to/db
humann_databases --download utility_mapping full /path/to/db

然后运行:

humann --input clean.fastq.gz --output humann_out --threads 8

步骤六:组装与分箱(可选)

如果你手里的样本是低复杂度群落(比如单一污染源),可以跳过组装直接做全基因组组装。但对于复杂的土壤或肠道样本,我建议做宏基因组组装,然后分箱(binning)来重建物种的基因组草图。常用的组装软件是MEGAHIT或metaSPAdes。

megahit -1 clean_R1.fastq.gz -2 clean_R2.fastq.gz \
        -o megahit_out --min-contig-len 1000 \
        --k-list 21,41,61,81,99

步骤七:下游统计与可视化

无论是差异丰度分析(LEfSe、ANCOM-BC),还是Beta多样性(PCoA、NMDS),最后都要落到图表上。我个人习惯用Python的scikit-bio或者R的vegan包。但注意:统计检验要看数据分布,假阳性控制不能用默认P值一刀切。

1.5 常见的“坑”与避坑技巧

  • 样本间的交叉污染——我曾在一个项目中,阴性对照里检出了高丰度的假单胞菌,后来发现是核酸提取过程中样品盖未及时关闭。解决办法:每批样本都带至少一个无模板阴性对照。
  • 宿主DNA污染——测人类粪便样本时,宿主DNA占比可达50%-90%。建议在提取后做一步宿主DNA去除,或者使用专用试剂盒。
  • 数据库过时——我见过不少论文用的还是2019年的Kraken数据库,导致许多新发现的物种被归为未分类。务必定期更新数据库,或者使用加注了最新注释的参考库。
  • 资源管理不当——组装步骤比较吃内存。MEGAHIT在默认条件下需要约16-32GB内存,但超大的土壤数据集可能吃掉上百GB。提前预估好资源,别让服务器跑一半挂掉。

特别注意:不要在一个服务器上同时跑多个大内存任务。我曾经把8个组装任务同时丢到一台256GB的机器上,结果内存耗尽导致全部失败。最好使用任务调度系统(如SLURM)或手动控制并发数。

1.6 这份课程会怎么讲?

我的想法很简单:每章给你一个可复现的流程。从安装软件到运行参数调整,每一步都有具体的命令和配置文件。你拿回去,换自己的数据就能跑起来。

说白了,我不教你“大道理”,而是带你“走一遍”。遇到报错、遇到奇怪的输出,我都把常见原因和解决方法列出来。毕竟,在生信这条路上,能解决问题比背出10个理论更有用。