单细胞scRNA-seq
单细胞RNA测序(scRNA-seq)技术已成为解开单个细胞内RNA转录物的异质性和复杂性,以及揭示高度组织化组织/器官/生物体内不同细胞类型和功能的组成的最先进方法。通过单细胞RNA测序,现在可以在一项研究中分析超过数百万个细胞的单细胞水平的转录组。这使我们能够在转录组水平上对每个细胞进行分类、表征和区分,从而识别出稀有但功能重要的细胞群。
在本教程中,我们将分析来自 10X Genomics 的免费提供的外周血单个核细胞(PBMC)数据集。有 2700 个单细胞在 Illumina NextSeq 500 上进行了测序。
数据下载
创建Seurat对象
首先读取数据。Read10X() 函数读取 10X 的 cellranger 管道输出,返回一个唯一分子标识(UMI)计数矩阵。该矩阵中的值表示每个特征(即基因;行)在每个细胞(列)中检测到的分子数量。
接下来,我们使用计数矩阵创建一个 Seurat 对象。该对象充当一个容器,其中包含单细胞数据集的数据(如计数矩阵)和分析(如主成分分析或聚类结果)。
#下载需要的R包
install.packages("Seurat")
install.packages("dplyr")
install.packages("cowplot")
install.packages("patchwork")
#加载包
library(dplyr)
library(patchwork)
library(Seurat)
#用Read10x()函数读取刚才下载的文件,文件路径就是之前下载数据的路径
pbmc.data <- Read10X(data.dir = "D:/R/seurat/filtered_gene_bc_matrices/hg19/")
#挑选细胞个数和特征集,创建Seurat对象
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
pbmc
标准数据预处理流程
这部分包括基于质量控制(QC)指标选择和过滤细胞、数据标准化和缩放以及检测高变特征。
质量控制以及挑选细胞以作进一步分析
Seurat允许根据任何自定义的标准来进行QC质控和过滤细胞
- 在每个细胞中检测到的独特基因的数量
- 低质量的细胞或空液滴通常只有很少的基因
- 细胞双核或多核会表现出更高的基因表达
- 细胞内检测到的分子总数(与独特的基因密切相关)
- 读取到线粒体基因组的百分比
- 低质量/死亡细胞通常表现出广泛的线粒体污染
- 我们可以使用
PercentageFeatureSet()
函数来计算线粒体计算线粒体QC指标,该函数计算源自一组特征的计数百分比 - 使用以MT-开头的所有基因集合作为一组线粒体基因
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
#显示前5个细胞的QC指标
head(pbmc@meta.data, 5)
在下面的示例中,我们可视化QC指标,并使用它们来过滤单元格。
#可视化QC指标看一下三者的分布状态
VlnPlot(pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
#关闭打开的图
while (!is.null(dev.list()))dev.off()
#FeatureScatter()函数常被用来可视化feature-feature关系
plot1 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(pbmc, feature1 &#