单细胞工具箱|singleR-单细胞类型自动注释(含数据版)

简介: 单细胞工具箱|singleR-单细胞类型自动注释(含数据版)


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

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


(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")


后台回复“注释”即可获取注释数据库以及测试数据的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   labels
AAACATACAACCAC-1     pbmc3k       2419          779  3.0177759          0               0               0  T_cells
AAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958          0               3               3   B_cell
AAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363          0               2               2  T_cells
AAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845          0               1               1 Monocyte
AAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898          0               6               6  NK_cell
AAACGCACTGGTAC-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 <- pbmc
pbmc3.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
print(DimPlot(pbmc3, group.by = c("seurat_clusters", "labels"),reduction = "umap"))


可以看到多了一些hpca没有注视到的细胞类型。

四 注释结果诊断


4.1 基于scores within cells

print(plotScoreHeatmap(pbmc.hesc))



细胞在一个标签的得分很显著的高于其他标签得分,注释结果比较清晰。


4.2 基于 per-cell “deltas”诊断

plotDeltaDistribution(pbmc.hesc, ncol = 3)


Delta值低,说明注释结果不是很明确。


4.3 与cluster结果比较

tab <- table(label = pbmc.hesc$labels,
             cluster = meta$seurat_clusters)
pheatmap(log10(tab + 10))




相关文章
|
2月前
单细胞分析|映射和注释查询数据集
单细胞分析|映射和注释查询数据集
27 3
|
9月前
|
搜索推荐 Linux Python
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
|
2天前
|
数据可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
11 0
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
|
移动开发 文字识别 算法
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
本文简要介绍Pattern Recognition 2019论文“SegLink++: Detecting Dense and Arbitrary-shaped Scene Text by Instance-aware Component Grouping”的主要工作。该论文提出一种对文字实例敏感的自下而上的文字检测方法,解决了自然场景中密集文本和不规则文本的检测问题。
1875 0
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
|
21天前
|
数据可视化
cfDNAPro|cfDNA片段数据生物学表征及可视化的R包
cfDNA是指存在于血液中的游离DNA片段,来源于正常和异常细胞的死亡。这些片段长度通常为160-180碱基对,研究cfDNA在非侵入性诊断、疾病监测、早期检测和理解生理及病理状态方面有重要意义。cfDNAPro是一个工具,用于分析cfDNA的片段长度分布,提供数据表征和可视化。它能展示片段长度的整体、中位数和众数,以及峰和谷的分布,还有振荡周期性。通过上图和下图的对比,可以观察到不同队列中cfDNA片段长度的差异。此外,cfDNAPro还能展示DNA片段的模态长度,分析10bp周期性振荡模式,帮助科学家深入了解cfDNA的特征。
21 0
|
2月前
|
存储 算法 算法框架/工具
基于HSV色度空间的图像深度信息提取算法FPGA实现,包含testbench和MATLAB辅助验证程序
该文档介绍了在一个FPGA项目中使用HSV色彩模型提取图像深度信息的过程。通过将RGB图像转换为HSV,然后利用明度与深度的非线性映射估计深度。软件版本为Vivado 2019.2和MATLAB 2022a。算法在MATLAB中进行了对比测试,并在FPGA上实现了优化,包括流水线并行处理和查找表技术。提供的Verilog代码段展示了RGB到灰度的转换。实验结果和核心程序的图片未显示。
|
5月前
|
自然语言处理 数据挖掘 Java
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
140 0
|
6月前
|
机器学习/深度学习 算法 测试技术
【网安专题10.25】10 TitanFuzz完全自动化执行基于变异的模糊测试:生成式(如Codex)生成种子程序,逐步提示工程+第一个应用LLM填充模型(如InCoder)+差分测试
【网安专题10.25】10 TitanFuzz完全自动化执行基于变异的模糊测试:生成式(如Codex)生成种子程序,逐步提示工程+第一个应用LLM填充模型(如InCoder)+差分测试
122 0
|
6月前
|
机器学习/深度学习 自然语言处理 安全
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
100 0
|
9月前
|
数据可视化 数据挖掘 Linux
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改