1. 宏基因组学概述与R语言基础环境搭建

1.1 宏基因组学是什么?

宏基因组学,说白了就是直接对环境样本里所有微生物的 DNA 进行测序和分析。你不需要培养任何细菌,把土壤、海水、肠道内容物拿来一抽提,就能知道里面住着哪些微生物,它们各自有多少,以及它们可能在干什么活。

我第一次接触这个领域是在一个肠道微生物项目中。当时用户问:「我们送检的粪便样本,能不能找出里面所有的细菌种类?」我一开始有点懵——传统方法只能研究少数可培养菌,而宏基因组直接扫全部 DNA,一网打尽。从那以后,我就彻底入了坑。

宏基因组分析的核心难点在于:数据量巨大、流程复杂、结果解读需要统计功底。这也是为什么我们要用 R 语言来搞定后面的丰度分析。

1.2 为什么要用 R 语言?

市面上有很多宏基因组分析工具——QIIME 2、MetaPhlAn、Kraken2 等等。但它们要么偏重物种分类,要么偏重功能注释。真正到了可视化、统计检验、个性化画图这一步,R 语言几乎是不二之选。

核心观点: 宏基因组物种丰度数据本质是一个「样本 × 物种」的矩阵。R 语言处理这类矩阵有天然优势——数据框操作、tidyverse 生态、ggplot2 画图、vegan 生态统计分析……你想想看,哪个 Python 库能像 R 这样一件事干到底?
  • 数据整理: dplyr / tidyr 清洗、合并、重塑丰度表
  • 统计检验: 差异丰度分析(DESeq2 / edgeR / ANCOM-BC)
  • 可视化: ggplot2 绘制堆叠柱状图、热图、PCoA、LEfSe 等效图
  • 社区生态: vegan 包做 α/β 多样性、NMDS、PERMANOVA

这堂课我们就聚焦 R 语言在物种丰度数据上的实战。我不会跟你讲太多原理,直接上手敲代码。

1.3 第一章知识体系

下面这张图帮你快速建立本章的知识框架——从宏基因组概念到 R 环境搭好,然后正式进入数据实战。

第1章:宏基因组学概述与R环境搭建 宏基因组学基础 环境DNA测序原理 物种丰度概念 R与RStudio安装 版本选择 & 配置 基础操作 项目环境准备 工作目录 & 包管理 第一次加载数据 实战起点:准备一个工作目录 + 加载第一个丰度数据框 后续章节:数据清洗 → 多样性分析 → 差异比较 → 可视化

1.4 R 与 RStudio 的安装

1.4.1 版本选择

我个人习惯:永远安装最新的正式版。R 每年更新一个主版本(如 4.4.x),很多包会跟着走。如果你用旧版,有可能装不上最新的 Bioconductor 包。

建议: Windows 用户直接去 CRAN 下载 R-4.4.x-win.exe;macOS 用户选 R-4.4.x.pkg;Linux 用户用包管理器或者从源代码编译。RStudio 也请装最新版(目前是 2024.04.x)。

安装过程基本都是「下一步 → 下一步」。但我踩过一次坑:Windows 上如果路径含中文,R 加载某些包时会报乱码。所以请确保用户名和安装路径都是纯英文。

注意: 安装 R 前先检查系统是否已安装 RTools(Windows 编译 C 扩展包的工具)。如果以后要装 devtools 或 BiocManager,没 RTools 会失败。下载地址:https://cran.r-project.org/bin/windows/Rtools/

1.4.2 验证安装

打开 RStudio,在 Console 里输入以下命令:

# 检查 R 版本
version$version.string

# 检查是否可调出帮助
help(mean)

如果返回版本信息且帮助页面能弹出,恭喜,环境搞定了。

1.5 包管理——你的工具箱

宏基因组分析离不开几个核心包。我用一个项目举个例子:

  • tidyverse —— 数据清洗与管道操作
  • phyloseq —— 宏基因组/扩增子生态数据的统一对象
  • vegan —— 多样性指数与排序
  • DESeq2 / edgeR —— 差异丰度分析
  • ggplot2 —— 你懂的,画图天花板

安装命令:

install.packages("tidyverse")
install.packages("vegan")
install.packages("devtools")

# Bioconductor 包
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("phyloseq")
BiocManager::install("DESeq2")

这里要提醒一下:phyloseq 依赖很多 C++ 扩展包,第一次安装可能要编译几分钟。别急,去喝杯水。如果报错,八成是缺少系统库——Linux 用户装 libgsl-dev,macOS 用户装 Xcode Command Line Tools。

1.6 设置工作目录与项目结构

我建议每个分析项目都用一个独立的 RStudio Project。这样所有路径都变成相对路径,换电脑也不用改。

步骤:

  1. 新建文件夹,比如 metagenome_project
  2. 在里面创建子文件夹:data/ 放原始丰度表,scripts/ 放 R 脚本,results/ 放输出图和表格
  3. 在 RStudio 中点击 File → New Project → Existing Directory,选中这个文件夹

完成后,Console 里输入 getwd() 应该指向你那个项目目录。

1.7 加载第一个宏基因组丰度数据

为了让你立刻上手,我们用一个模拟的物种丰度表(CSV 格式)。假设数据长这样:

# 模拟数据前几行
sample_id,Escherichia_coli,Bacteroides_fragilis,Lactobacillus_acidophilus,Clostridium_difficile
S01,1200,4500,230,890
S02,980,5200,310,760
S03,1500,3800,280,920
S04,2100,4100,190,1100

在 R 中读入:

library(tidyverse)
abundance <- read_csv("data/abundance_example.csv")
abundance

看到数据框了么?这就是我们整个课程的核心对象——行是样本,列是物种,值是丰度计数。后面的所有操作都围绕它展开。

小窍门: 用 glimpse(abundance) 快速浏览数据结构和类型;用 summary(abundance) 看丰度分布范围。我经常在第一步就用它检查有没有异常的 0 值或超大值。

1.8 避坑指南(个人经验)

  • 我曾经因为 R 版本太老,装 phyloseq 报了一堆链接错误。后来把所有包重新安装一遍才解决。建议你装完新 R 后,别急着装旧项目的包,先更新所有包。
  • 路径问题: 如果用中文目录或文件名含有空格,read_csv 会报 cannot open file。我习惯所有文件名只含字母、数字和下划线。
  • 内存问题: 宏基因组数据动辄几百 MB 甚至几 GB。32 位 R 最多用 2GB 内存。我自己在服务器上用 64 位 R,同时使用 data.table::fread() 比 read_csv 快 5 倍以上。

1.9 本章小结

回头看,这一章其实只做了三件事:理解宏基因组数据是什么、搭好 R 环境、读入第一个丰度数据表。别小看这些基础工作——我见过太多人在环境搭建上卡一整天,后面信心全无。

你按照我上面的步骤走,顺利的话 20 分钟就能跑起来。如果遇到报错,先检查版本和路径,这是 80% 问题的根源。下一章我们将正式进入数据清洗——把丑陋的原始丰度表变成 tidy 格式。