3、R语言基础与clusterProfiler安装:R/RStudio环境配置、clusterProfiler包安装与依赖管理
好,咱们开始动手搭建环境。我见过不少同学,写GO富集分析的代码本身没问题,结果卡在包装不上、依赖冲突、报错看半天。说白了,环境配置是生物信息学分析的地基,地基打不好,后面画出来的图再漂亮也经不起推敲。
这一章,我们就来把R和RStudio装好,再把clusterProfiler这个核心包请进来,顺便把它的“七大姑八大姨”(依赖包)也安顿好。
3.1 安装R与RStudio:先打个好底子
为什么先说这个?因为我见过有人直接在服务器上装了个R基础环境就开始跑,连个IDE都没有,调试起来那叫一个痛苦。RStudio不是必需品,但绝对是提升效率的神器。
R的安装很简单,去CRAN(Comprehensive R Archive Network)下载对应操作系统的安装包就行。我个人习惯是用4.x版本,太老的版本有些依赖包兼容性会有问题。
装完R之后,再装RStudio。同样地,去RStudio官网下载免费的开源桌面版。安装完成后,打开RStudio,你应该能看到四个面板:脚本编辑器、控制台、环境变量和文件/图表查看器。嗯,到这里R和RStudio的基本环境就搭好了。
3.2 安装clusterProfiler:直奔主题
clusterProfiler是Y叔(Guangchuang Yu)开发的R包,专门用来做GO和KEGG富集分析,还能直接出图。它在CRAN上有一个版本,但我建议用Bioconductor版本,功能更全,更新也更及时。
装它的第一步,是先装BiocManager。这是一个专门管理Bioconductor包的管家工具。
# 安装BiocManager(如果还没装的话)
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
# 通过BiocManager安装clusterProfiler
BiocManager::install("clusterProfiler")
为什么要走BiocManager而不是直接install.packages?因为clusterProfiler依赖于很多Bioconductor生态的包,比如DOSE、enrichplot、ggplot2等。BiocManager会自动帮你处理好这些依赖关系,省得你一个一个手动装。
3.3 依赖管理:clusterProfiler的“朋友圈”
clusterProfiler本身不算大,但它依赖的包却不少。我把核心依赖包整理了一下,方便你有个整体概念。
| 依赖包 | 作用 | 来源 |
|---|---|---|
| DOSE | 疾病本体语义和富集分析底层框架 | Bioconductor |
| enrichplot | 富集结果的可化化(dotplot、cnetplot等) | Bioconductor |
| ggplot2 | R语言数据可视化核心包 | CRAN |
| GO.db | GO(基因本体)注释数据库 | Bioconductor |
| AnnotationDbi | 生物注释数据接口 | Bioconductor |
| tidyr / dplyr | 数据处理与整理 | CRAN |
这些包你不需要手动一个个装,BiocManager::install("clusterProfiler")会一次性拉取全部。但如果你的网络环境不太好(比如在某些高校或企业内部网),有可能会超时。这时候可以换个镜像源。
# 设置国内镜像(以清华大学镜像为例)
options("repos" = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
BiocManager::install("clusterProfiler", site_repository = "https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
3.4 验证安装:装好没?跑一下就知道
装完之后,别急着关。在RStudio控制台里跑下面几行代码,看有没有报错。
library(clusterProfiler)
library(enrichplot)
library(ggplot2)
# 查看版本号(确认加载成功)
packageVersion("clusterProfiler")
如果输出了类似“4.8.1”这样的版本号,就说明安装成功了。如果报错,比如提示“不存在叫’clusterProfiler’这个名字的包”,那多半是没装成功,或者是装到了另一个library路径里。
# 查看包的安装路径
find.package("clusterProfiler")
# 查看当前R的library路径
.libPaths()
这里有个小坑:如果你系统里有多个R版本,或者在用conda管理环境,很容易装到一个R里,但启动的是另一个R。我之前就犯过这个错——明明装了包,一加载就说找不到,折腾半天发现是RStudio默认调用了系统自带的旧版R。
R.version.string查看当前R的版本和路径,确认和你装包时用的是同一个R。如果发现不对,可以在RStudio的Tools → Global Options → General → R version里手动切换。
3.5 权限与扩展包管理
还有一个容易被忽视的问题:包安装到哪了?在服务器或共享工作站上,普通用户可能没有写入系统级library的权限。这时候会提示“无法创建目录”之类的错误。
解决方法很简单,手动指定一个用户目录安装。
# 创建个人R包目录(假设没有的话)
dir.create("~/R/library", recursive = TRUE)
# 设置个人library路径
.libPaths(c("~/R/library", .libPaths()))
# 然后再安装
BiocManager::install("clusterProfiler")
这样包就会装到你的用户目录下,不干扰系统其他用户的环境。尤其适合实验室多人共用一个计算节点的情况。
3.6 本章小结
总结一下这章的重点:R和RStudio是基础,先搭好;clusterProfiler通过BiocManager安装最省心;依赖包会自动处理,但镜像源和library路径需要自己关注;装完后一定验证一下。
环境搭好之后,下一步就是真正导入数据、跑富集分析了。不过别急,先确认你控制台里能顺利跑通library(clusterProfiler),再往下走。嗯,这一步稳了,后面就快了。