本系列继续更新Seurat单细胞剖析教程,欢迎重视!
标准化
从数据会集删去不需要的细胞后,下一步是数据标准化。默许情况下,咱们采用大局缩放标准化办法“LogNormalize”,该办法将每个单元格的特征表达测量值标准化为总表达,将其乘以份额因子(默许为 10,000),并对结果进行对数转化。在 Seurat v5 中,标准化值存储在 pbmc[[“RNA”]]$data 中。
pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000)
为了清楚起见,在前面的代码行中,咱们为函数调用中的某些参数提供了默许值。
pbmc <- NormalizeData(pbmc)
尽管这种标准化办法是标准办法并广泛用于 scRNA-seq 剖析,但大局缩放依赖于每个细胞开始包含相同数量的 RNA 分子的假定。咱们和其他人现已为单细胞预处理开发了代替作业流程,但不做出这些假定。关于感兴趣的用户,请检查 SCTransform() 标准化作业流程,论文中描述了该办法。
特征选择:识别高度可变的特征
接下来,咱们计算数据会集表现出高细胞间差异的特征子集(即它们在某些细胞中高度表达,而在其他细胞中表达较低)。在下流剖析中重视这些基因有助于杰出单细胞数据会集的生物信号。
默许情况下Seurat每个数据集返回 2,000 个特征。这些将用于下流剖析,例如 PCA。
pbmc <- FindVariableFeatures(pbmc, selection.method = "vst", nfeatures = 2000)
# Identify the 10 most highly variable genes
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 等降维技能之前的标准预处理过程。 ScaleData() 函数:
- 改动每个基因的表达值,使细胞间的平均表达为 0
- 缩放每个基因的表达,使细胞间的方差为 1
- 此过程在下流剖析中给予平等的权重,因此高表达的基因不会占主导地位
- 结果存储在 pbmc[[“RNA”]]$scale.data 中
- 默许情况下,仅缩放可变特征。
- 您可以指定 features 参数来缩放附加功用
all.genes <- rownames(pbmc)
pbmc <- ScaleData(pbmc, features = all.genes)
- 如何消除不需要的变异源
在 Seurat 中,运用 ScaleData() 函数从单细胞数据会集删去不需要的变异源。例如,咱们可以“回归”与细胞周期阶段或线粒体污染相关的异质性,即:
pbmc <- ScaleData(pbmc, vars.to.regress = "percent.mt")
但是,特别是关于想要运用此功用的高级用户,咱们强烈建议运用新的规范化作业流程 SCTransform()。与 ScaleData() 相同,函数 SCTransform() 也包含 vars.to.regress 参数。
线性降维
接下来咱们对缩放后的数据履行 PCA。默许情况下,仅将从前确认的可变特征用作输入,但如果您期望选择不同的子集,则可以运用 features 参数进行界说(如果您的确想运用自界说的特征子集,请确保首要将它们传递给 ScaleData )。
关于第一个主成分,Seurat 输出具有最大正负载荷的基因列表,代表在数据会集的单细胞之间表现出相关(或反相关)的基因模块。
pbmc <- RunPCA(pbmc, features = VariableFeatures(object = pbmc))
Seurat 提供了几种有用的办法来可视化界说 PCA 的单元格和特征,包含 VizDimReduction()、DimPlot() 和 DimHeatmap()
# Examine and visualize PCA results a few different ways
print(pbmc[["pca"]], dims = 1:5, nfeatures = 5)
## PC_ 1
## Positive: CST3, TYROBP, LST1, AIF1, FTL
## Negative: MALAT1, LTB, IL32, IL7R, CD2
## PC_ 2
## Positive: CD79A, MS4A1, TCL1A, HLA-DQA1, HLA-DQB1
## Negative: NKG7, PRF1, CST7, GZMB, GZMA
## PC_ 3
## Positive: HLA-DQA1, CD79A, CD79B, HLA-DQB1, HLA-DPB1
## Negative: PPBP, PF4, SDPR, SPARC, GNG11
## PC_ 4
## Positive: HLA-DQA1, CD79B, CD79A, MS4A1, HLA-DQB1
## Negative: VIM, IL7R, S100A6, IL32, S100A8
## PC_ 5
## Positive: GZMB, NKG7, S100A8, FGFBP2, GNLY
## Negative: LTB, IL7R, CKB, VIM, MS4A7
VizDimLoadings(pbmc, dims = 1:2, reduction = "pca")
DimPlot(pbmc, reduction = "pca") NoLegend()
特别是 DimHeatmap() 答应轻松探究数据会集异质性的主要来历,并且在测验决议包含哪些 PC 进行进一步的下流剖析时非常有用。细胞和特征均根据其 PCA 分数进行排序。将细胞设置为数字会在频谱两端绘制“极点”细胞,这会明显加快大型数据集的绘图速度。尽管是一种监督剖析,但咱们发现这是探究相关特征集的宝贵工具。
DimHeatmap(pbmc, dims = 1, cells = 500, balanced = TRUE)
DimHeatmap(pbmc, dims = 1:15, cells = 500, balanced = TRUE)
未完待续,继续更新,欢迎重视!
本文由mdnice多平台发布