第二章 环境配置:搭建你的RNA-seq质控工作台
做RNA-seq分析,第一步不是跑数据,而是先把工具箱备齐。我见过不少同学兴冲冲拿个示例数据就开始跑,结果跑一半报错「Java未安装」或者「FastQC找不到」,特别耽误时间。咱们这一章就把这几个工具一次性装好,后面就能一门心思看质控图了。
核心思路:用包管理器统一管理环境,避免各个工具各自为政。我个人强烈推荐用 Miniconda 做基底,再建一个独立的 RNA-seq 环境,所有工具都装在里面,清爽又干净。
2.1 整体工具链
先看看咱们要装哪几样东西,它们之间的关系是怎样的。说白了就是一条流水线:原始数据进来,先去 FastQC 做单样本质检,然后 Trimmomatic 做修剪,修剪完再跑一遍 FastQC,最后用 MultiQC 把多个报告汇总成一个整体报告。R 用于后续的统计绘图(比如后面章节的画图),Python 则是很多工具的运行基础(MultiQC 基于 Python)。
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
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 控制台。
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
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。