介绍一款单细胞细胞类型注释软件-scibet
引言
随着技术的进步,测序成本的降低,单细胞转录组的数据呈指数级的爆发。许多组织都发布了关于详细的单细胞图谱计划,例如小鼠单细胞开源数据库Tabula Muris,小鼠器官发生细胞图谱MOCA,人类细胞图谱HCA等。
之前注释和分类方法大多是根据机器学习的非监督聚类的方法,例如随机森林(RF)或者支持向量机(SVM),这些工具耗时长,计算资源消耗大。
因此,使用已有标注的数据,利用监督学习的方法,可以很快速的实现对细胞进行聚类和注释。
下面跟着小编来看看scibet这个工具的一些算法。
算法介绍
机器学习基本步骤
首先,我们来回忆一下,机器学习的基本的步骤
搜集数据
特征工程
选择模型
训练模型
评估模型
参数微调
预测
下面,我们看看这篇文章在这几步的大概原理和方法吧。
搜集数据
所有数据的来源都是来自于文献。具体的列表大家可以去看看文章。
特征筛选
数据转换
对于普通单细胞数据,将read count转换成TPM,并进行log(TPM+1)的转换
对于10x UMI的数据,使用seurat v3的方法进行预处理数据,将UMI标准化到10000,然后进行log(TPM+1)的处理。
特征(基因)选择
借鉴信息熵的原理来对基因进行选择,示意图如下,各类中基因表达量均值差别越大,对分类的贡献越大:
公式如下:
首先计算每个类别的信息熵
其中Xij是对于第j类中第i个基因的表达量的均值,hi是一个特定的常量;
计算背景的信息熵
背景的信息熵是把所有类别合并到一起的均值
计算差值,即每个基因的是否有效性的度量值
最后,选择前500个,作为特征进行聚类和注释
选择模型
使用多项式分布的模型来进行训练
训练模型
使用train_test_split对数据进行分割,training:test = 7:3,并且重复50次;
使用后验概率来计算一个新的细胞属于某一类的概率,使用KL距离来衡量新细胞同参考数据库中细胞类型概率分布的距离,并分配一个最近的分类。
评估模型
使用以下几个指标来评估:
accuracy score:sklearn.metrics.accuracy_score
balanced accuracy_score : metrics. balanced_accuracy_score
结果
使用Seurat和scmap作为对照,来比较软件的差异。
准确度的比较
基因数对分类的影响,在使用不同的基因数目的i情况下,三个软件的准确度的结果,可以看出E-test的结果是很好的。
三个软件在准确度上比较,可以看出scibet还是比较准的。
速度的比较
E-test基本是一个线性的算法,所以随着细胞的增加,时间并没有显著增加。
使用E-test挑选特征基因在分类中的表现
如下图,挑选出来的基因的代表性还是很不错。
结语
整个文章测评很全面,算法也比较好,小编着重理解了算法方面,并没有对全文进行详细的翻译,大家如果有兴趣可以去阅读原文。
由于小编的能力有限,有些地方可能也不是理解很透彻,有错误的地方,请大家可以给我们留言,我们会进行修改。
参考文献
Li C, Liu B, Kang B, Liu Z, Liu Y, Chen C, Ren X, Zhang Z. SciBet as a portable and fast single cell type identifier. Nat Commun. 2020 Apr 14;11(1):1818. doi: 10.1038/s41467-020-15523-2. PMID: 32286268; PMCID: PMC7156687.
作者:童蒙
编辑:amethyst
往期回顾