前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Seurat4.0系列教程11:使用sctransform

Seurat4.0系列教程11:使用sctransform

作者头像
生信技能树jimmy
发布2022-01-10 08:55:28
2.4K0
发布2022-01-10 08:55:28
举报
文章被收录于专栏:单细胞天地

单细胞RNA-seq数据中的生物异质性经常受技术因素(包括测序深度)影响。每个细胞中检测到的分子数量在细胞之间可能显著变化,即使在相同的细胞类型内也是如此。对 scRNA-seq 数据的解释需要有效的预处理和标准化才能消除这种技术差异。

在此教程中,我们演示了使用基于标准化的sctransform ,能够得到log后较清晰的生物学差异。

代码语言:javascript
复制
library(Seurat)
library(ggplot2)
library(sctransform)

加载数据并创建seurat对象

代码语言:javascript
复制
pbmc_data <- Read10X(data.dir = "../data/pbmc3k/filtered_gene_bc_matrices/hg19/")
pbmc <- CreateSeuratObject(counts = pbmc_data)

应用sctransform标准化

  • 请注意,此单个命令替换了NormalizeData()ScaleData()FindVariableFeatures()
  • sctransform后的数据默认存贮在 SCT assay
  • 在标准化过程中,我们还可以删除干扰变异的因素,例如线粒体
代码语言:javascript
复制
# store mitochondrial percentage in object meta data
pbmc <- PercentageFeatureSet(pbmc, pattern = "^MT-", col.name = "percent.mt")

# run sctransform
pbmc <- SCTransform(pbmc, vars.to.regress = "percent.mt", verbose = FALSE)

最新版本还支持使用glmGamPoi包,这大大提高了运行的速度。它可以通过指定sctransformmethod=glmGamPoi来调用。

代码语言:javascript
复制
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")

BiocManager::install("glmGamPoi")
pbmc <- SCTransform(pbmc, method = "glmGamPoi", vars.to.regress = "percent.mt", verbose = FALSE)

PCA 和 UMAP 降维

代码语言:javascript
复制
# These are now standard steps in the Seurat workflow for visualization and clustering
pbmc <- RunPCA(pbmc, verbose = FALSE)
pbmc <- RunUMAP(pbmc, dims = 1:30, verbose = FALSE)

pbmc <- FindNeighbors(pbmc, dims = 1:30, verbose = FALSE)
pbmc <- FindClusters(pbmc, verbose = FALSE)
DimPlot(pbmc, label = TRUE) + NoLegend()

用户可以根据传统marker单独注释亚群。与标准的 Seurat 工作流程相比,sctransform在几个方面揭示了更清晰的生物学区别,如:

  • 基于CD8A、GZMK、CCL5、GZMK表达的至少3个CD8+T细胞群(naive, memory, effector)的分离
  • 基于S100A4、CCR7、IL32和ISG15的三个CD4+T细胞群(naive, memory, IFN-activated)的清晰分离
  • 基于 TCL1A、FCER2 的 B 细胞群中的其他亚型
  • 基于 XCL1 和 FCGR3A 的 NK 细胞CD56dim vs. bright亚群的进一步分离
代码语言:javascript
复制
# These are now standard steps in the Seurat workflow for visualization and clustering Visualize
# canonical marker genes as violin plots.
VlnPlot(pbmc, features = c("CD8A", "GZMK", "CCL5", "S100A4", "ANXA1", "CCR7", "ISG15", "CD3D"), 
    pt.size = 0.2, ncol = 4)
代码语言:javascript
复制
# Visualize canonical marker genes on the sctransform embedding.
FeaturePlot(pbmc, features = c("CD8A", "GZMK", "CCL5", "S100A4", "ANXA1", "CCR7"), pt.size = 0.2, 
    ncol = 3)
代码语言:javascript
复制
FeaturePlot(pbmc, features = c("CD3D", "ISG15", "TCL1A", "FCER2", "XCL1", "FCGR3A"), pt.size = 0.2, 
    ncol = 3)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档