相关文章推荐
另类的蚂蚁  ·  使用pandas读取csv文件指定的前几行_ ...·  4 月前    · 
光明磊落的花生  ·  退出页面前发送请求实现方案 - 公瑾当年 ·  1 月前    · 
飘逸的口罩  ·  如何将CSV导入的嵌套列表转换为指定列数据类 ...·  3 周前    · 
坚韧的丝瓜  ·  qt设置tabwidget背景透明 - ...·  1 年前    · 
踏实的水煮鱼  ·  在XML中添加实体_xml中id绑定实体-C ...·  2 年前    · 
直爽的香烟  ·  Linux sed命令在指定行前后添加内容 ...·  2 年前    · 
老实的雪糕  ·  基于Reworld、Roblox的团队协作_ ...·  2 年前    · 
飞翔的创口贴  ·  pgsql插入数据报id主键违反非空约束解决 ...·  2 年前    · 
Code  ›  单细胞工具箱|singleR-单细胞类型自动注释开发者社区
云数据库 data
https://cloud.tencent.com/developer/article/1899970
慷慨大方的仙人掌
2 年前
生信补给站
0 篇文章

单细胞工具箱|singleR-单细胞类型自动注释

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
生信补给站
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 生信补给站 > 单细胞工具箱|singleR-单细胞类型自动注释

单细胞工具箱|singleR-单细胞类型自动注释

作者头像
生信补给站
发布 于 2021-11-11 10:10:16
2.9K 0
发布 于 2021-11-11 10:10:16
举报

单细胞研究中细胞类型注释是很重要的环节,大致分为人工注释和软件注释。

(1)人工注释需要借助文献检索marker或者结合常用的注释数据库-

cellMarker(http://biocc.hrbmu.edu.cn/CellMarker/),

PanglaoDB(https://panglaodb.se/),

CancerSEA(http://biocc.hrbmu.edu.cn/CancerSEA/)等,比较考验研究者的相关背景和精力,优点在于准确性相对较好。

(2)软件自动化注释一般是使用软件内置数据集进行注释,操作相对简单。但是准确性会相对稍差,不过可以作为一种很好的辅助注释手段。

自动化注释的软件很多,本次先简单的分享如何使用singleR进行自动注释。

SingleR是一个用于对单细胞RNA-seq测序(scRNA-seq)数据进行细胞类型自动注释的R包(Aran et al.2019)。依据已知类型标签的细胞样本作为参考数据集,对测试数据集中的细胞进行标记注释。

一 内置数据库

使用SingleR的最简单方法是使用内置参考对细胞进行注释。singleR自带的7个参考数据集,其中5个是人类数据,2个是小鼠的数据: BlueprintEncodeData Blueprint (Martens and Stunnenberg 2013) and Encode (The ENCODE Project Consortium 2012) (人) DatabaseImmuneCellExpressionData The Database for Immune Cell Expression(/eQTLs/Epigenomics)(Schmiedel et al. 2018)(人) HumanPrimaryCellAtlasData the Human Primary Cell Atlas (Mabbott et al. 2013)(人) MonacoImmuneData , Monaco Immune Cell Data - GSE107011 (Monaco et al. 2019)(人) NovershternHematopoieticData Novershtern Hematopoietic Cell Data - GSE24759(人) ImmGenData the murine ImmGen (Heng et al. 2008) (鼠) MouseRNAseqData a collection of mouse data sets downloaded from GEO (Benayoun et al. 2019).鼠)

二 数据库,R包

2.1 singleR包安装
#if (!requireNamespace("BiocManager", quietly = TRUE))#    install.packages("BiocManager")
BiocManager::install("SingleR")
BiocManager::install("Seurat")
2.2 加载数据集,数据

加载数据库,可能会比较慢。建议下载好数据库后进行保存。

library(SingleR)library(celldex)
library(Seurat)
library(pheatmap)
##下载注释数据库
hpca.se <- HumanPrimaryCellAtlasData()
hpca.se
#直接load下载好的数据库load("HumanPrimaryCellAtlas_hpca.se_human.RData")load("BlueprintEncode_bpe.se_human.RData")
2.3 查看seurat结果

使用 单细胞工具箱|Seurat官网标准流程 得到的pbmc的seurat的结果,

(1)查看seuret聚类结果

load("pbmc_tutorial.RData")pbmc
meta=pbmc@meta.data #pbmc的meta文件,包含了seurat的聚类结果
head(meta)
                 orig.ident nCount_RNA nFeature_RNA percent.mt percent.HB RNA_snn_res.0.5 seurat_clusters   labelsAAACATACAACCAC-1     pbmc3k       2419          779  3.0177759          0               0               0  T_cellsAAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958          0               3               3   B_cellAAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363          0               2               2  T_cellsAAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845          0               1               1 MonocyteAAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898          0               6               6  NK_cellAAACGCACTGGTAC-1     pbmc3k       2163          781  1.6643551          0               2               2  T_cells

(2)查看umap和tsne图

plot1 <- DimPlot(pbmc, reduction = "umap", label = TRUE)
plot2<-DimPlot(pbmc, reduction = "tsne",
               label = TRUE)
plot1 + plot2

三 singleR注释

3.1 singleR使用内置数据集注释
#进行singleR注释
pbmc_for_SingleR <- GetAssayData(pbmc, slot="data") ##获取标准化矩阵
pbmc.hesc <- SingleR(test = pbmc_for_SingleR, ref = hpca.se, labels = hpca.se$label.main) #
pbmc.hesc
#seurat 和 singleR的table表
table(pbmc.hesc$labels,meta$seurat_clusters)
3.2 绘制umap/tsne图
pbmc@meta.data$labels <-pbmc.hesc$labels
print(DimPlot(pbmc, group.by = c("seurat_clusters", "labels"),reduction = "umap"))
3.3 使用多个数据库注释

使用BP和HPCA两个数据库综合注释,使用list函数读入多个数据库

pbmc3 <- pbmcpbmc3.hesc <- SingleR(test = pbmc_for_SingleR, ref = list(BP=bpe.se, HPCA=hpca.se), 
                      labels = list(bpe.se$label.main, hpca.se$label.main)) 
table(pbmc3.hesc$labels,meta$seurat_clusters)
pbmc3@meta.data$labels <-pbmc3.hesc$labels
 
推荐文章
另类的蚂蚁  ·  使用pandas读取csv文件指定的前几行_pandas读取csv前几行
4 月前
光明磊落的花生  ·  退出页面前发送请求实现方案 - 公瑾当年
1 月前
飘逸的口罩  ·  如何将CSV导入的嵌套列表转换为指定列数据类型的NumPy数组?
3 周前
坚韧的丝瓜  ·  qt设置tabwidget背景透明 - CSDN文库
1 年前
踏实的水煮鱼  ·  在XML中添加实体_xml中id绑定实体-CSDN博客
2 年前
直爽的香烟  ·  Linux sed命令在指定行前后添加内容 - 陌上归人的博客 - 博客园
2 年前
老实的雪糕  ·  基于Reworld、Roblox的团队协作_roblox国际服官网入口_爱coding的小杨的博客-CSDN博客
2 年前
飞翔的创口贴  ·  pgsql插入数据报id主键违反非空约束解决办法_违反列id非空约束_骄傲的行动家的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号