在R语言中进行单细胞RNA测序(scRNA-seq)数据分析时,SeuratSingleCellExperiment 是常用的工具包。Seurat特别适合处理、分析和可视化scRNA-seq数据。下面将介绍如何使用这些R包进行单细胞RNA测序的基本分析,包括数据读取、预处理、降维、聚类和差异表达分析等步骤。

1. 安装和加载所需的R包

如果还没有安装Seurat包,可以使用以下命令安装。还会用到ggplot2包用于可视化。

install.packages("Seurat")
install.packages("ggplot2")

加载Seurat和ggplot2库:

library(Seurat)
library(ggplot2)

2. 导入数据

Seurat支持多种格式的数据读取,例如10X Genomics的h5格式和CSV文件等。

# 从10X Genomics的h5文件读取数据
data <- Read10X_h5("filtered_feature_bc_matrix.h5")

# 创建Seurat对象
seurat_obj <- CreateSeuratObject(counts = data, project = "scRNAseq", min.cells = 3, min.features = 200)

3. 数据预处理

预处理包括过滤低质量细胞和低表达基因、标准化、对数变换和高变基因的识别。

3.1 过滤低质量细胞和基因

过滤出在200个以上基因中有表达的细胞,以及至少在3个细胞中表达的基因。

seurat_obj <- subset(seurat_obj, subset = nFeature_RNA > 200 & nCount_RNA < 2500)

3.2 计算线粒体基因比例

在过滤过程中,可以计算线粒体基因的比例以去除线粒体基因含量较高的细胞(可能为低质量或死亡细胞)。

seurat_obj[["percent.mt"]] <- PercentageFeatureSet(seurat_obj, pattern = "^MT-")
seurat_obj <- subset(seurat_obj, subset = percent.mt < 5)

3.3 数据标准化和对数变换

将数据进行标准化和对数变换,以便进行下游分析。

seurat_obj <- NormalizeData(seurat_obj, normalization.method = "LogNormalize", scale.factor = 10000)