3. R 语言环境准备:安装 Bioconductor 包、加载常用质检工具
好,我们正式开始动手。R 装好了?RStudio 也打开了?嗯,这一步其实比你想的重要。我见过太多人,上来就急着跑代码,结果报错大多都是环境没配好。说白了,咱们做组学数据分析,就是在 R 的基础上搭积木——Bioconductor 就是那套最核心的积木箱。
3.1 安装 Bioconductor 核心包
Bioconductor 的安装方式和普通 R 包不太一样。它有自己的仓库和发布周期。我自己的习惯是,不管新项目老项目,先把 BiocManager 装上。这个是总开关。
一句话原则:用 BiocManager::install() 代替 install.packages() 来装 Bioconductor 的包。
打开 RStudio,在控制台里敲下面这行:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
装完 BiocManager 之后,再装其他包就简单了。比如我们做批次质控最常用的几个包:
BiocManager::install("limma")
BiocManager::install("edgeR")
BiocManager::install("sva")
BiocManager::install("bladderbatch")
BiocManager::install("BiocParallel")
等一下,为什么要装 BiocParallel?你想想看,后面咱们做批量校正的时候,数据量一大,单核跑起来确实慢。这个包能帮你自动启用多核运算。我有个项目,跑 Combat 校正一万多个基因,开 4 个核,速度直接快了 3 倍。
3.2 安装过程中常见的那几个坑
说实话,R 装包有时候挺让人头疼的。我在培训课上经常被问到:“为什么我复制了你的代码,还是报错?”嗯,这里我帮你列几个最常见的问题。
我曾经帮一个学生排查了一下午,最后发现他网络代理没设对。如果你在公司内网或者学校网络,记得先配一下镜像。
- 网络超时:中国大陆用户建议设置清华镜像
- 依赖缺失:有些包需要系统库(如 zlib、curl-dev)
- R 版本太老:Bioconductor 3.20 以上要求 R 4.4+
- 权限不足:Windows 上尽量用管理员身份打开 RStudio
配镜像的方法也很简单,在 R 里运行:
options("repos" = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
BiocManager::install(version = "3.20",
site_repository = "https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
小技巧:装包的时候如果卡住不动,别急着关窗口。先看控制台有没有输出 "trying URL",如果有,等一等就好。5分钟没反应再考虑中断重试。
3.3 加载常用质检工具
包装好了,怎么用?每次启动新会话,你需要手动加载这些包。记住,安装是一次性的,加载是每次都要做的。
library(BiocManager)
library(limma)
library(edgeR)
library(sva)
library(bladderbatch)
library(BiocParallel)
# 确认版本
sessionInfo()
sessionInfo() 这个函数我非常推荐你养成习惯。它会把当前加载的 R 版本、各包版本、系统信息一股脑都告诉你。我在写文章或者做分析报告时,一定会跑一遍 sessionInfo(),然后贴到文档最后。目的是什么?让别人能完全复现你的环境。
下面这个表,我把常用的包和它的核心功能整理了一下,方便你快速查阅。
| 包名 | 主要功能 | 在批次质控中的角色 |
|---|---|---|
| limma | 线性模型 + 经验贝叶斯 | 差异分析、批次效应检测 |
| edgeR | 负二项模型 | RNA-seq 数据预处理、标准化 |
| sva | 代理变量分析 | 估计未知批次效应、ComBat 校正 |
| bladderbatch | 标准测试数据集 | 本章和后续章节的练习数据 |
| BiocParallel | 并行计算框架 | 加速批量校正和降维 |
你看这个表,其实每个包都有自己的定位。limma 和 edgeR 更多是做分析,sva 和 BiocParallel 是帮我们做校正和提速。bladderbatch 这个包,虽然小,但特别实用——里面有一个膀胱癌表达数据集,自带明确的批次信息,非常适合拿来练手。
3.4 知识结构总览
为了让你对整个环境准备阶段有个全局概念,我画了一张图。你跟着这个流程走一遍,基本不会迷路。
这个图怎么用?从左到右看,先装 R 和 RStudio,再装 BiocManager,然后挑你需要用的包。我标了三个分支:分析、校正加速、练习数据。最后统一用 library() 加载,sessionInfo() 收尾验证。每一步都跑通了,再往下走。
3.5 验证环境是否配置成功
好,到这里我不妨多说一句。很多新手会犯一个错——安装完就直接跳到分析代码,结果怎么都跑不通,一查发现是某个包的版本不兼容。我个人习惯是,每次装完新环境,都跑一次端到端的“冒烟测试”。
你可以把下面这段代码复制到 RStudio 里,如果能顺滑运行完不出错,那环境就算配好了。
library(limma)
library(sva)
library(BiocParallel)
# 看能否启用多核
param <- SnowParam(workers = 2, type = "SOCK")
bplapply(1:2, function(x) x^2, BPPARAM = param)
# 加载测试数据
library(bladderbatch)
data(bladderdata)
pheno <- pData(bladderEset)
table(pheno$batch)
cat("环境配置成功!可以正式开始了。\n")
如果你是在 Windows 上跑,SnowParam 可能会提示缺少包。别慌,用 MulticoreParam(workers=2) 走不了 Windows,那就换成 SerialParam(),只是慢一点,不影响功能。
踩完这些坑,环境就算稳了。下一步我们就可以正式拿数据来实操了。记住,你的工具箱现在有了 limma、sva、edgeR,还有一个好用的测试集 bladderbatch。咱们后面会反复用到它们。