第二章 环境配置:搭建你的RNA-seq质控工作台

做RNA-seq分析,第一步不是跑数据,而是先把工具箱备齐。我见过不少同学兴冲冲拿个示例数据就开始跑,结果跑一半报错「Java未安装」或者「FastQC找不到」,特别耽误时间。咱们这一章就把这几个工具一次性装好,后面就能一门心思看质控图了。

核心思路:用包管理器统一管理环境,避免各个工具各自为政。我个人强烈推荐用 Miniconda 做基底,再建一个独立的 RNA-seq 环境,所有工具都装在里面,清爽又干净。

2.1 整体工具链

先看看咱们要装哪几样东西,它们之间的关系是怎样的。说白了就是一条流水线:原始数据进来,先去 FastQC 做单样本质检,然后 Trimmomatic 做修剪,修剪完再跑一遍 FastQC,最后用 MultiQC 把多个报告汇总成一个整体报告。R 用于后续的统计绘图(比如后面章节的画图),Python 则是很多工具的运行基础(MultiQC 基于 Python)。

RNA-seq 质控工具链全景 原始 FASTQ 数据 FastQC 初检 Trimmomatic 修剪 FastQC 复检 MultiQC 汇总报告 Python 和 R 是运行这些工具的基础环境,建议用 Conda 统一管理

2.2 安装 Python 与 Miniconda

Python 是后面很多工具的运行基础,尤其是 MultiQC。但我不建议你去官网单独下载 Python,然后手动 pip 装包——那样很容易把系统 Python 搞乱。我的做法是用 Miniconda,它自带 Python,还能创建隔离环境。

2.2.1 下载并安装 Miniconda

去 Miniconda 官网 选对应操作系统的安装包。Linux 用户推荐用 .sh 脚本,macOS 用户选 pkg 或 sh,Windows 用户用 exe 安装器。

# Linux / macOS 终端执行
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按提示完成安装,默认会加 conda 到 PATH
小提示:安装过程中问你是否要运行 conda init,选 yes。这样以后打开终端就能直接用 conda 命令了。

2.2.2 创建 RNA-seq 专用环境

我个人习惯给每个项目建一个独立环境,避免包版本冲突。这里我们创建一个叫 rnaseq 的环境,指定 Python 3.9(比较稳定)。

conda create -n rnaseq python=3.9 -y
conda activate rnaseq

看到命令行前面出现 (rnaseq) 就说明环境激活成功了。后面装的所有工具都会放在这个环境里,不会污染系统 Python。

2.3 安装 R 与必备包

R 是我们后期画图的主力。虽然质控阶段用 R 不多,但后面的 PCA、热图、火山图全得靠它。我建议装 R 4.2 以上版本,对 Tidyverse 和 BiocManager 支持更好。

2.3.1 通过 Conda 安装 R

在刚才创建的 rnaseq 环境里直接装 R 和几个常用包:

conda install -c conda-forge r-base=4.2 r-essentials -y

r-essentials 包含 tidyverse、ggplot2、dplyr 等核心包,省得一个一个装。装完后在终端输入 R 就能进入 R 控制台。

注意:如果你在 macOS 上遇到 R 启动报错「locale not supported」,可以用 export LANG=en_US.UTF-8 临时解决。我当初在 macOS 上第一次跑 R 时就卡在这了,后来在 .bashrc 里加了一行就没再出过问题。

2.3.2 安装 Bioconductor 包

RNA-seq 分析经常用到 DESeq2、edgeR 这些包,它们属于 Bioconductor。安装方式如下:

# 在 R 控制台中执行
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(c("DESeq2", "edgeR", "limma"))

这个过程可能需要一些时间,因为要编译源码。耐心等就好。

2.4 安装 FastQC 与 MultiQC

这两兄弟是质控阶段的核心工具。FastQC 给单个样本做「体检」,MultiQC 把多个样本的报告合并成一个,方便横向对比。

2.4.1 FastQC 安装

FastQC 用 Java 写的,所以系统要先有 Java 运行时(JRE)——这个很容易被忽略。我记得有一次帮同事调试,他装完 FastQC 运行直接报「无法找到 Java」,后来发现系统根本没有 JRE。好在 Conda 能一并解决依赖。

# 在 rnaseq 环境中安装 FastQC
conda install -c bioconda fastqc -y

Conda 会自动帮你装好 Java(OpenJDK),什么都不用操心。装完验证一下:

fastqc --version
# 输出类似:FastQC v0.12.1

2.4.2 MultiQC 安装

MultiQC 是 Python 写的,所以用 pip 或 conda 装都行。我个人习惯用 conda,保持跟环境一致:

conda install -c bioconda multiqc -y

安装完成后同样验证:

multiqc --version
# 输出类似:multiqc, version 1.19
避坑指南:我曾经遇到过 MultiQC 因为 Python 版本太高而报错(3.11 的某些旧包不兼容)。用 conda 装会自动选择兼容版本,基本不会出问题。如果你用 pip 装,建议先看看它的 requirements.txt。

2.5 安装 Trimmomatic

Trimmomatic 用于去除低质量碱基和接头序列。它也是 Java 写的,所以同样需要 JRE。好消息是,conda 的 bioconda 频道已经打包好了。

conda install -c bioconda trimmomatic -y

装完后试一下:

trimmomatic.sh -version
# 输出类似:Trimmomatic 0.39

注意实际执行时命令是 trimmomatic(不带 .sh),但在某些系统中可能需要写完整路径。如果你找不到命令,可以试试 which trimmomatic 看看装在哪。

Trimmomatic 的参数比较复杂,后面章节我们会专门讲。现在只要确认它能跑就行。

2.6 验证整体环境

装完所有工具后,我建议做一次快速验收,确保每个工具都能正常调用。你可以写个小脚本批量检查。

# 在终端逐项验证
echo "Python: $(python --version)"
echo "R: $(R --version | head -1)"
echo "FastQC: $(fastqc --version)"
echo "MultiQC: $(multiqc --version)"
echo "Trimmomatic: $(trimmomatic.sh -version 2>&1)"

如果所有命令都能打印出版本号,恭喜你,环境配置完毕!

工具 用途 安装方式(推荐) 语言/依赖
Miniconda 环境管理器 官网下载 .sh 或 .exe —
Python 3.9 MultiQC 运行基础 conda create —
R 4.2 统计绘图 conda install -c conda-forge r-base —
FastQC 单个样本质控 conda install -c bioconda fastqc Java (OpenJDK)
MultiQC 汇总多个质控报告 conda install -c bioconda multiqc Python
Trimmomatic 序列修剪去接头 conda install -c bioconda trimmomatic Java
常见踩坑记录:
  • 路径中有空格:Windows 用户如果用户名含中文或空格,Conda 安装可能报错。我建议把 Conda 装到纯英文路径下,比如 C:\tools\miniconda3。
  • Java 版本不匹配:FastQC 和 Trimmomatic 需要 Java 8 或以上。如果你系统里装了多个 Java,要确认默认的是否足够新。用 java -version 看一下。
  • conda 网络慢:可以考虑配置国内镜像,比如清华 tuna 源。在 ~/.condarc 里加上 channels: [defaults] 并设置 channel_alias。