介绍一款单细胞细胞类型注释软件-scibet

作者:童蒙
编辑:amethyst

引言

随着技术的进步,测序成本的降低,单细胞转录组的数据呈指数级的爆发。许多组织都发布了关于详细的单细胞图谱计划,例如小鼠单细胞开源数据库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.

你可能感兴趣的:(介绍一款单细胞细胞类型注释软件-scibet)