单细胞RNA测序(scRNA-seq)技术已经成为了解生命体系的重要途径之一。然而,scRNA-seq通常会产生大量异质性高的单细胞数据,如何有效和准确地对这些数据进行处理和分析,是当前研究的重要挑战之一。为了解决这个问题,近些年来,出现了许多数据分析工具,其中 CellMarker 是一个针对于单细胞RNA测序数据进行细胞类型注释的工具,该工具具有快速,准确,易用性高等特点。
一、简介
CellMarker 是由中国科学院生物物理研究所的研究团队开发的一个R包,该工具能够自动引用一系列已知的细胞标记物数据库模式匹配,快速准确地对单细胞RNA-seq数据进行细胞类型注释。它还提供了区分浸润和正常细胞的算法,比细胞表达标记物更准确。
CellMarker 目前最新版本为1.1.0,可在CRAN上查找并安装,同时也支持在本地从Github上安装,支持多种文件格式的读取,包括单细胞表达矩阵(counts 或 TPM)、基因 ID 到基因名和细胞 ID 到细胞类型的表格。
二、使用
CellMarker 工具的使用十分简单,大致流程如下:
1、在 R 环境下安装和读入 CellMarker 工具,可以使用如下命令:
install.packages("CellMarker") library(CellMarker)
2、将单细胞表达矩阵读取到 R 中,可以使用如下命令:
#读取文件 exprs <- read.table(counts_file_name, header = TRUE, stringsAsFactors = FALSE) #将基因ID转成gene symbol if(ncol(exprs)>6000) { rownames(exprs) <- GeneID2Sym[match(rownames(exprs), GeneID2Sym$GeneID), "GeneSymbol"] } else { rownames(exprs) <- GeneID2Sym[match(rownames(exprs), GeneID2Sym$GeneID), "Symbol"] }
3、运行 CellMarker 工具,对单细胞表达矩阵进行细胞类型注释,可以使用如下命令:
# 默认版本:使用Human Cell Atlas, hca = T cell_type_pred <- predict_marker_genes(exprs, hca = T, cell_number = 1000)
其中,cell_number 参数表示从第一个细胞到这个数据集中第 n 个细胞,这些细胞将被用来搜索每个类型中的标志基因。
三、优化
CellMarker 工具虽然方便易用,但在实际应用中,我们也需要注意一些有关数据准备和参数设置的问题。
首先,第一个问题是关于数据的准备。我们需要保证单细胞表达矩阵中的基因ID与预先下载的基因名称列表相对应。如果基因 ID 和基因名称列表不匹配,则命令会警告或停止执行。
其次,对于大规模数据集,CellMarker 的默认存储库可能会不足以覆盖所有细胞亚型/类型。因此,我们可以自行建立新的数据库并添加到 CellMarker 中。为了获取最大的参考列表,可以从已知数据库,如Human Protein Atlas导入蛋白质组数据或通过RNA-seq和单细胞RNA-seq公共数据库添加自定义细胞类型。
最后,CellMarker 目前默认使用的是 Human Cell Atlas,这也只是当前可用的模式之一。尽管 CellMarker 已通过其他单细胞数据集的成功应用得到了验证,但是对于新的细胞类型组合数据,正确性和准确性还需要进一步评估。
参考文献: Qiu, X., Hill, A., Packer, J., Lin, D., Ma, Y., & Trapnell, C. (2017). Single-cell mRNA quantification and differential analysis with Census. Nature methods, 14(3), 309. Zhang, X., Lan, Y., Xu, J., Quan, F., Zhao, E., Deng, C., ... & Liu, S. (2019). CellMarker: a manually curated resource of cell markers in human and mouse. Nucleic acids research, 47(D1), D721-D728. 完整代码示例:https://github.com/Lulab/CellMarker/blob/master/vignettes/CellMarker.Rmd