单细胞分析(二)——细胞注释(SingleR自动注释)

单细胞分析数据后,得到族群后,如何将族群进行细胞名称注释是重要的步骤。这里使用SingleR 进行简单的自动注释。

安装需要的R包

需要两个包SingleRcelldex

if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager")
if (!require("SingleR", quietly = TRUE)) install.packages("BiocManager")
library(SingleR)

if (!require("celldex", quietly = TRUE)) install.packages("BiocManager")
library(celldex)

hpca.se <- celldex::HumanPrimaryCellAtlasData()
hpca.se
hpca.se@metadata

bpe.se<-celldex::BlueprintEncodeData() 
bpe.se@metadata

save(hpca.se,file='./data/HumanPrimaryCellAtlas_hpca.se_human.RData')
save(bpe.se,file='./data/BlueprintEncode_bpe.se_human.RData')

安装和加载SingleR包时注意大小写即可。(个人踩坑经历,安装几次,发现加载不上)

保存数据之后,后续可以直接加载进行分析

SingleR进行细胞注释

# 获取标准化的矩阵数据
scobj4SingleR <- GetAssayData(scobj, slot = "data")  ##获取标准化矩阵

pred.scobj <- SingleR(test = scobj4SingleR, ref = hpca.se, assay.type.test=1,
                     labels = hpca.se$label.main)
class(pred.scobj)
pred.scobj

table(pred.scobj$labels)

PCA降维展示

# PCA降维聚类 
scobj <- RunPCA(scobj, features = VariableFeatures(object = scobj))
DimPlot(scobj, reduction = "pca")
PCAPlot(scobj)

# seurat 和 singleR的table表
table(pred.scobj$labels, scobj$seurat_clusters)

[email protected]$labels <- pred.scobj$labels
DimPlot(scobj, group.by = c("seurat_clusters", "labels"), reduction = "pca")

同时也可以使用umaptSNE 降维的结果,使用自动注释的结果进行展示

当然,这种注释的方法,还是有一定的局限性。因为SingleR 这个package注释的依据是Human Primary Cell Atlas An expression atlas of human primary cells: inference of gene function from coexpression networks
使用的是人类原代细胞的一些标志物,如果研究的是比较特殊的一些项目,可能就需要根据个人的项目的情况,进行人工注释,这个时候就是和个人的知识背景相关。

参考文章

SCS【6】单细胞转录组之细胞类型自动注释 (SingleR)

单细胞自动注释与手动注释

Using SingleR to annotate single-cell RNA-seq data

An expression atlas of human primary cells: inference of gene function from coexpression networks

你可能感兴趣的:(单细胞分析(二)——细胞注释(SingleR自动注释))