||
估计大家都有一个这样的感觉就是单细胞数据具有一定的数据依赖性,好多的marker在相同的组织中,别人的数据就表达的十分明显,在你的数据中就是不太显著,比如NK细胞的KLRF1。于是,细胞自动注释也就应运而生了,其实已经有很多的细胞注释的R包,比如SingleR,Cellassign(cellassign:用于肿瘤微环境分析的单细胞注释工具(9月Nature))等。
今天介绍的也是自动注释R包,由浙江大学研究团队开发,并在2020年3月27日在iScience上发表了题为 scCATCH: Automatic Annotation on Cell Types of Clusters from Single-Cell RNA Sequencing Data 的研究内容,并且表明在6种不同组织的测试数据中的平均标注准确率为83%(Pancreas、Brain、Lung、PBMCs、Brain和Brain)。你也可以试一试哦:https://github.com/ZJUFanLab/scCATCH
注释原理
步骤:
(A) Paired comparison of clusters to identify the potential marker genes for each cluster. Compared with every other cluster, genes significantly upregulated in only one cluster (log10 fold change ≥0.25, p < 0.05) and expressed in more than a quarter of cells (≥25%) would be considered marker genes. p values were obtained through the Wilcoxon test. ∗ indicates p < 0.05.
(B) Construction of tissue-specific cell taxonomy reference databases (CellMatch) with tissue-specific cell markers reported in the literature from humans or mice.
(C) Evidence-based score and annotation. For each cluster, cell types were scored on the basis of validated marker genes and their supporting literature, and the cell type with the highest score (top 1) was determined for the cluster.
特点:
CellMatch包含353种细胞类型和686种亚型,与184种组织类型,20,792种细胞特异性标记基因以及2,097个人类和小鼠参考文献。
scCATCH主要包括两个函数“findmarkergenes”和“scCATCH”,以实现对每个已识别集群的自动注释。
scCATCH可用于注释癌组织的scRNA-seq数据。
scCATCH可以处理包含超过10,000个细胞和15个以上clusters的大型单细胞转录组数据集。
Note: (1)只能注释人或小鼠;(2)在数据库中,人的组织和肿瘤以及小鼠的正常组织的参比资源很多,小鼠的肿瘤组织较少。
安装R包
# download the source package of scCATCH_2.0.tar.gz and install it install.packages(pkgs = 'scCATCH_2.0.tar.gz')
或者
# install devtools and install scCATCH install.packages(pkgs = 'devtools') devtools::install_github('ZJUFanLab/scCATCH')
加载数据
我们使用作者的测试数据,是小鼠肾脏的203个细胞,作者直接在这里加载的seurat对象,你可以点击https://github.com/ZJUFanLab/scCATCH/tree/master/data进行下载:
load("mouse_kidney_203_Seurat.RData")
构建marker基因列表
clu_markers <- findmarkergenes(object = mouse_kidney_203_Seurat, species = 'Mouse' cluster = 'All', match_CellMatch = FALSE, cancer = NULL, tissue = NULL, cell_min_pct = 0.25, logfc = 0.25, pvalue = 0.05)
这里的match_CellMatch = FALSE表明不优先和CellMatch进行匹配(当细胞数大于10000,或分群数大于15,强烈建议优先匹配CellMatch参考数据集)
返回的是一个list,包括new_data_matrix和clu_markers两个dataframe。
对潜在标记基因进行注释
clu_ann <- scCATCH(object = clu_markers$clu_markers, species = 'Mouse', cancer = NULL, tissue = 'Kidney')
注释前:
DimPlot(mouse_kidney_203_Seurat, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()
new.cluster.ids <- clu_ann$cell_type#把预测细胞类型与cluser进行匹配 names(new.cluster.ids) <- clu_ann$cluster mouse_kidney_203_Seurat <- RenameIdents(mouse_kidney_203_Seurat, new.cluster.ids)#进行重新命名 DimPlot(mouse_kidney_203_Seurat, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()
(1)于是我又想看看如果我在物种species =’Mouse’中改为Human,会发生什么?出现的是一下的结果:
原因,很明显嘛,,,marker大小写都不一样,怎么可能进行标注啊!
(2)那如果我把tissue换成‘Bone marrow’,会发生什么呢?
这其实也就说明它怎么到最后都会指定细胞类型的,所以组织类型可是不能搞错哈!
(3)我又想试一试在cancer中换成Renal Cell Carcinoma时会出现什么后果?
但其实在应用我自己的PBMC数据中,我其实发现了部分的标注错误,比如他会把很高比例的并且比较明显的单核细胞标注成了Treg,但在B细胞中的分型较好。下图是作者用不同数据集对不同的自动注释R包进行测试后的结果:
作者肯定要说自己的准确性较高,表明其R包的实用性较强,但其实我们一定要明白这种自动注释也是有一定的数据依赖性的,不同的R包在不同数据中进行标注的准确性也没法保证,这能都试一试,毕竟多数情况下这是作为辅助自己手动分细胞亚群的佐证。
参考文献
Shao et al., scCATCH:Automatic Annotation on Cell Types of Clusters from Single-Cell RNA Sequencing Data, iScience, Volume 23, Issue 3, 27 March 2020. [doi: 10.1016/j.isci.2020.100882](https://www.sciencedirect.com/science/article/pii/S2589004220300663). PMID:[32062421](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7031312/)
你可能还想看
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-25 09:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社