2. Seurat环境搭建:R语言与RStudio安装、Seurat包安装、依赖包管理

做空间转录组分析,第一步就是把环境搭稳。我见过太多人花半天在报错上,结果发现是R版本不对或者某个依赖没装。说白了,环境搭建就像是打地基——地基歪了,后面再漂亮的代码也跑不起来。

这一章我会带你走一遍完整的安装流程,包括R语言、RStudio、Seurat以及几个关键依赖包。每一步我都会标注避坑点,你跟着敲就行。

2.1 R语言与RStudio的安装

先装R,再装RStudio。顺序别搞反了——RStudio只是一个IDE,它依赖底层的R解释器。如果你先装了RStudio再装R,可能会遇到RStudio找不到R的尴尬。嗯,我之前就犯过这个错。

2.1.1 下载R

打开CRAN官网,选择对应你操作系统的版本:

  • Windows:点击 "Download R for Windows",然后选 "base",下载安装包。
  • macOS:点击 "Download R for macOS",根据你的芯片(Intel / Apple Silicon)选对应的 .pkg 文件。
  • Linux (Ubuntu/Debian):我建议用终端命令添加 CRAN 源后安装,比手动下载更不容易出错。

我个人习惯用 R >= 4.2,因为 Seurat v5 官方推荐这个版本。你安装时留意一下版本号,别装太老的。

提示: macOS 用户装完 R 后,记得在终端运行 xcode-select --install,否则编译某些包时会报错。

2.1.2 安装RStudio

去Posit官网下载免费的RStudio Desktop版本。安装过程很简单——下一步下一步就行。

我遇到过一个问题:装完RStudio后打开,R版本识别错了(比如它用了系统自带的旧版R)。解决办法是在RStudio里手动指定R路径:Tools → Global Options → General → R version,选你刚装的那个。macOS用户尤其要注意这个。

2.2 Seurat包安装

Seurat是空间转录组整合的核心包。它依赖很多底层C++和Fortran库,安装过程可能会有点波折。

2.2.1 通过CRAN安装(推荐)

打开RStudio,在Console里直接运行:

install.packages("Seurat")

这会自动拉取最新稳定版。第一次安装时,R会提示你是否编译一些包,选"Yes"或按回车接受默认。

但!如果你网速慢,或者网络不稳定,可能会下载到一半断掉。这时候可以换国内镜像:

install.packages("Seurat", repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")

我习惯在安装前先配好镜像,省得每次手动写参数:

options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))

2.2.2 如果CRAN安装失败怎么办?

遇到缺少系统依赖的情况(比如 libgfortran 或 xml2 相关报错),分两步走:

  1. macOS: 确保装了 gfortran,从 CRAN的工具页面 下载安装。
  2. Ubuntu: 运行这条命令安装系统依赖:
sudo apt install libhdf5-dev libcurl4-openssl-dev libxml2-dev libssl-dev libgmp-dev libmpfr-dev

然后重新安装Seurat:

install.packages("Seurat")

警告: 千万不要直接 sudo apt install r-cran-seurat。系统源的版本往往严重滞后,而且依赖不全,后面整合分析时会频繁报错。我踩过这个坑,后来全重装了。

2.2.3 从GitHub安装开发版(可选)

如果你想尝鲜Seurat的开发功能,可以用 devtools:

install.packages("remotes")
remotes::install_github("satijalab/seurat", ref = "develop")

不过我个人建议初学者先用CRAN稳定版,等走上正轨了再考虑升级。

2.3 依赖包管理

Seurat本身会自带大部分依赖,但有些你写分析脚本时一定会用到的包需要手动装:

包名 用途 安装命令
dplyr 数据操作与管道处理 install.packages("dplyr")
ggplot2 高级可视化 install.packages("ggplot2")
patchwork 将多个ggplot图形拼合到一张图 install.packages("patchwork")
tidyr 数据清洗与长宽转换 install.packages("tidyr")
Matrix 高维稀疏矩阵支持 install.packages("Matrix")
SeuratData 示例数据集(非必须,但练手方便) install.packages("SeuratData")

我建议一次性安装全部:

install.packages(c("dplyr", "ggplot2", "patchwork", "tidyr", "Matrix"))

如果想验证某个包是否可用,用 library() 加载即可:

library(dplyr)
library(ggplot2)
library(patchwork)

如果没有报错,说明装好了。你想想看,这一步其实比想象中快,只要网络流畅,五分钟就能搞定。

核心经验: 依赖包之间的版本冲突是最常见的安装失败原因。我建议每次装完一批包后,用 sessionInfo() 检查一下加载的版本。如果出现类似 namespace ‘rlang’ is imported by ‘Seurat’ but not exported 的警告,就重启R会话,再 install.packages("rlang") 更新一下。

2.4 检查安装成功

最后一步,写一段简单的测试代码。我正好可以用它来确认整个环境没毛病。

library(Seurat)
library(ggplot2)
library(patchwork)

# 创建一个假的Seurat对象来测试
pbmc_test <- CreateSeuratObject(counts = matrix(rpois(2000, lambda = 3), nrow = 100, ncol = 20))
pbmc_test <- NormalizeData(pbmc_test)
pbmc_test <- FindVariableFeatures(pbmc_test)
pbmc_test <- ScaleData(pbmc_test)
pbmc_test <- RunPCA(pbmc_test)

# 用 patchwork 拼几个基础图
p1 <- DimPlot(pbmc_test, reduction = "pca", group.by = "orig.ident")
p2 <- FeatureScatter(pbmc_test, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
p1 + p2 + plot_layout(ncol = 2)

# 打印对象信息
pbmc_test

如果最后能看到控制台输出 An object of class Seurat 以及 100 features across 20 samples 之类的信息,且弹出了图形窗口(或绘图),那就大功告成了。

我见过有人运行这段代码后报错 FindVariableFeatures 找不到,那是因为之前安装的Seurat版本太老。解决办法就是重新安装最新版。还有一种情况是 ggplot2 版本太低导致 DimPlot 报错,升级一下就行。

下面这张图总结了从零到运行环境的完整流程:

Seurat环境搭建流程 安装R语言 安装RStudio 安装Seurat包 安装依赖包(dplyr等) 检查安装成功 运行测试代码 注意点 • R版本≥4.2 • 国内用户换CRAN镜像 • 不要用系统源装Seurat • 安装后运行sessionInfo()确认

看到这里,你的环境应该已经跑起来了。记住:如果某个包报错提示「不存在」,别慌,大概率是没安装或者包名打错了。用 installed.packages() 查看已安装列表,一一核对。嗯,这一步很笨但最靠谱。

好了,环境搭好,后面就可以开始真正的空间转录组分析了。