Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)

1写在前面

为了做进一步的分析,我们需要对数据进行归一化Normalization)和标准化Z-score)。
这里我们介绍一下经典的Normalization方法,这个方法假设所有细胞均含有10,000UMI

2用到的包

rm(list = ls())
library(Seurat)
library(tidyverse)
library(SingleR)
library(celldex)
library(RColorBrewer)
library(SingleCellExperiment)

3示例数据

这里我们还是使用之前建好的srat文件,我之前保存成了.Rdata,这里就直接加载了。✌️

load("./srat.Rdata")
srat
alt

4归一化

Note! 这里做的是log-normalization, 大家不要重复取log

srat <- NormalizeData(srat)
alt

5高变基因

5.1 计算高变基因

找一下高变基因吧,这里补充一下可用的方法:

  • vst
  • mvp
  • disp
srat <- FindVariableFeatures(srat, selection.method = "vst", nfeatures = 2000)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第1张图片

5.2 Top 10

我们取一下高变基因top10,在后面的可视化中标注出来。

top10 <- head(VariableFeatures(srat), 10)
top10
alt

5.3 可视化

plot1 <- VariableFeaturePlot(srat)
LabelPoints(plot = plot1,
points = top10,
repel = TRUE,
xnudge = 0,
ynudge = 0)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第2张图片

6标准化

细心的小伙伴肯定发现了gene的表达差异较大,这样做出来的图就会不好看
我们在这里接着做一个Z-score, 将Normalization后的数据转为均值0标准差1的数据。

all.genes <- rownames(srat)
srat <- ScaleData(srat, features = all.genes)
alt

7主成分分析

大家可以通过features参数设置纳入PCA基因数
这里我们取前2000高变基因进行分析。

srat <- RunPCA(srat, 
features = VariableFeatures(object = srat))
## 可视化
VizDimLoadings(srat, dims = 1:9,
reduction = "pca") +
theme(axis.text=element_text(size=5),
axis.title=element_text(size=8,face="bold"))

当然你也可以用热图的形式来展示结果。

DimHeatmap(srat, dims = 1:6, nfeatures = 20, cells = 500, balanced = T)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第3张图片

8选取多少PC才合适?

我们先看一下UMAP图。

DimPlot(srat) # umap, then tsne, then pca
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第4张图片

通过ElbowPlot我们可以发现,在10的地方有明显的下降

ElbowPlot(srat)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第5张图片

9聚类

9.1 开始聚类

之前确定了10PCs最合适,这里我们将PC1:10纳入,进行聚类
这一步非常重要,因为后面marker的选择要基于聚类的结果。

srat <- FindNeighbors(srat, dims = 1:10)
srat <- FindClusters(srat, resolution = 0.8)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第6张图片

UMAP降维。

srat <- RunUMAP(srat, dims = 1:10, verbose = T)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第7张图片

这个时候我们就有一个新的clusters信息了,看一下吧。

table([email protected]$seurat_clusters)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第8张图片

9.2 聚类结果可视化

1️⃣ 质控前~

DimPlot(srat,label.size = 4,repel = T,label = T)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第9张图片

2️⃣ 质控后~

srat <- subset(srat, subset = QC == 'Pass')
DimPlot(srat,label.size = 4,repel = T,label = T)
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第10张图片

9.3 聚类效果简单评价

这里给大家提供一个简单的评价方法,假设我们已知:

  • 树突状细胞( DCs)的 marker是: LILRA4TPM2;
  • 血小板( platelets)的 marker是: PPBPGP1BB

我们看下这些marker是否都显著表达在一类细胞群中。

FeaturePlot(srat, features = c("LILRA4", "TPM2", "PPBP", "GP1BB"))
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第11张图片
Seurat | 强烈建议收藏的单细胞分析标准流程(经典归一化与降维方法)(二)_第12张图片
最后祝大家早日不卷!~

需要示例数据的小伙伴,在公众号回复Seurat获取吧!

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)