目录
二、Setup the Seurat Object(设置Seurat对象)
三、Standard pre-processing workflow(标准的预处理流程)
1、QC and selecting cells for further analysis(QC和细胞筛选)
五、Assigning cell type identity to clusters(细胞类型鉴定)
一、数据下载
我们将分析从10X Genomics免费提供的外周血单个核细胞(PBMC)数据集。在Illumina NextSeq 500上测序了2700个单细胞。原始数据可使用下方链接下载:
https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz
二、Setup the Seurat Object(设置Seurat对象)
1、安装R包
install.packages("Seurat")
install.packages("dplyr")
install.packages("patchwork")
2、加载R包
library(dplyr)
library(Seurat)
library(patchwork)
3、读入数据
# Load the PBMC dataset(导入数据)
pbmc.data <- Read10X(data.dir = "../data/pbmc3k/filtered_gene_bc_matrices/hg19/")
# Initialize the Seurat object with the raw (non-normalized data)(创建Seurat对象).
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
#过滤检测少于200个基因的细胞(min.features = 200)和少于3个细胞检测出的基因(min.cells = 3)
pbmc
#注释
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
counts:#未标准化的数据,如原始计数或TPMs
project:#设置Seurat对象的项目名称
min.cells:#包含至少在这些细胞检测到的features。
min.features:#包含至少检测到这些features的细胞
三、Standard pre-processing workflow(标准的预处理流程)
1、QC and selecting cells for further analysis(QC和细胞筛选)
常规质控标准
(1)在每个细胞中检测到的特异基因的数量:低质量的细胞或空液滴通常只有很少的基因,两个或多个细胞被捕获后可能表现出异常高的基因计数。
(2)细胞内检测到的分子总数(与特异基因密切相关)
(3)每个细胞中线粒体基因的占比:低质量细胞会出现异常的线粒体污染,使用PercentageFeatureSet()函数计算线粒体QC指标,同时,使用以MT-开头的所有基因集作为线粒体基因集。
# The [[ operator can add columns to object metadata. This is a great place to stash QC stats
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
可视化QC指标
# FeatureScatter is typically used to visualize feature-feature relationships, but can be used
# for anything calculated by the object, i.e. columns in object metadata, PC scores etc.
plot1 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
plot1 + plot2
pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 5)
#过滤线粒体基因表达占比过高的细胞,和一些极值细胞(可以根据小提琴图判断,查看两端离群值)。
数据标准化
从数据集中删除不需要的单元格之后,下一步是规范化数据。默认情况下,我们使用全局缩放归一化方法“LogNormalize”,该方法通过总表达式对每个单元的特征表达式测量进行归一化,将其乘以一个比例因子(默认为10,000),然后对结果进行对数转换。
pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000)
为了清晰起见,在前面这行代码中(以及在以后的命令中),我们为函数调用中的某些参数提供默认值。然而,这不是必需的,同样的行为可以通过以下方式实现:
pbmc <- NormalizeData(pbmc)
高变基因鉴定
计算在数据集中显示高细胞间变异的特征子集(即,它们在一些细胞中高度表达,在另一些细胞中低表达)。在下游分析中,这些基因有助于突出单细胞数据集中的生物信号。这一过程在FindVariableFeatures()函数中实现。默认情况下,每个数据集选择2000个特征。这些将用于下游分析,如PCA。
pbmc <- FindVariableFeatures(pbmc, selection.method = "vst", nfeatures = 2000)
# Identify the 10 most highly variable genes(显示top10的高变基因,也可根据实际需要调整参数,如top20)
top10 <- head(VariableFeatures(pbmc), 10)
# plot variable features with and without labels
plot1 <- VariableFeaturePlot(pbmc)
plot2 <- LabelPoints(plot = plot1, points = top10, repel = TRUE)
plot1 + plot2
数据归一化
这是PCA降维前的一个标准出来步骤,改变每个基因的表达,使细胞间的平均表达为0,缩放每个基因的表达,使细胞间的方差为1(这一步骤在下游分析中具有同等的权重,因此高表达基因不会占主导地位)。
all.genes <- rownames(pbmc)
pbmc <- ScaleData(pbmc, features = all.genes)
2、线性降维
接下来我们对缩放后的数据进行PCA分析。默认情况下,只使用先前确定的变量特征作为输入,但如果希望选择不同的子集,可以使用feature