在R语言中进行单细胞RNA测序(scRNA-seq)数据分析时,Seurat 和 SingleCellExperiment 是常用的工具包。Seurat特别适合处理、分析和可视化scRNA-seq数据。下面将介绍如何使用这些R包进行单细胞RNA测序的基本分析,包括数据读取、预处理、降维、聚类和差异表达分析等步骤。
如果还没有安装Seurat
包,可以使用以下命令安装。还会用到ggplot2
包用于可视化。
install.packages("Seurat")
install.packages("ggplot2")
加载Seurat和ggplot2库:
library(Seurat)
library(ggplot2)
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)
预处理包括过滤低质量细胞和低表达基因、标准化、对数变换和高变基因的识别。
过滤出在200个以上基因中有表达的细胞,以及至少在3个细胞中表达的基因。
seurat_obj <- subset(seurat_obj, subset = nFeature_RNA > 200 & nCount_RNA < 2500)
在过滤过程中,可以计算线粒体基因的比例以去除线粒体基因含量较高的细胞(可能为低质量或死亡细胞)。
seurat_obj[["percent.mt"]] <- PercentageFeatureSet(seurat_obj, pattern = "^MT-")
seurat_obj <- subset(seurat_obj, subset = percent.mt < 5)
将数据进行标准化和对数变换,以便进行下游分析。
seurat_obj <- NormalizeData(seurat_obj, normalization.method = "LogNormalize", scale.factor = 10000)