使用CHETAH包进行单细胞类型注释分析

使用CHETAH包进行单细胞类型注释分析,第1张

CHETAH (CHaracterization of cEll Types Aided by Hierarchical classification,通过层级分类辅助鉴定细胞类型)是用于单细胞RNA-seq测序(scRNA-seq)数据的细胞类型识别的R包。

CHETAH包通过以层级分类方式将输入数据与参考数据集相关联来分配细胞类型。如果输入数据不能完全分类为参考数据中的一种细胞类型,则可能被分配给中间类型。CHETAH可以与scRNA-seq参考数据集一起使用,也可以与常规RNA-seq或micro-array的参考数据集一起使用。因此,要运行CHETAH,我们只需要提供两个输入文件,它们都是 SingleCellExperiment 对象:

CHETAH包通过对参考数据集进行分层聚类(hierarchically clustering)来构建分类树,并以此分类树为指导,在分类树的每个节点中,输入细胞要么分配给右边的分支,要么分配给左边的分支。CHETAH会为每个分配结果计算一个置信度分数,当分配的置信度得分低于阈值(default = 0.1)时,则该细胞的分类将在该节点处停止。

这会产生两种类型的分类结果:

CHETAH will be a part of Bioconductor starting at release 2.9 (30th of April), and will be available by:

The development version can be downloaded from the development version of Bioconductor (in R v3.6).

To run chetah on an input count matrix input_counts with t-SNE coordinates in input_tsne , and a reference count matrix ref_counts with celltypes vector ref_ct , run:

如果输入数据存储为 SingleCellExperiments 对象,请继续执行下一步。否则,在开始运行CHETAH之前,我们需要准备以下数据:

作为有关如何准备数据的示例,我们将使用Tirosh等人的黑色素瘤数据作为输入数据,以Puram等人的头颈肿瘤数据作为参考数据集。

CHETAH包以 SingleCellExperiment 对象格式的数据作为输入,这是一种将不同类型的数据存储在一起的简便方法。

A SingleCellExperiment holds three things:

CHETAH needs

For the example data, we would make the two objects by running:

Now that the data is prepared, running chetah is easy:

CHETAH returns the input object, but added:

我们可以使用 PlotCHETAH 函数查看CHETAH的分类结果,此函数可绘制分类树和t-SNE(或其他提供的降维)图。在这些图中,最终类型(final types)或中间类型(intermediate types)都带有颜色,非彩色类型(non-colored types)以灰度表示。

To plot the final types :

请注意,每种类型的“NodeX”对应于编号为X的节点,而“Unassigned”类型对应于节点0

Conversely, to color the intermediate types :

If you would like to use the classification, and thus the colors, in another package (e.g. Seurat2), you can extract the colors using:

CHEETAH的分类结果及其他输出(如配置文件和置信度得分)可以在一个shiny应用程序中显示,该应用程序可以轻松、交互式地进行分类分析。

Here you can view:

CHETAH计算输入细胞到任一节点分支的每次分配的置信度得分,这些置信度得分:

CHETAH的默认置信度阈值为0.1

这意味着只要将一个细胞分配给一个分支,并且该分配的置信度小于0.1,分类就会在该节点停止。

可以调整置信度阈值,以便将更多或更少的细胞分类为最终类型

For example, to only classify cells with very high confidence:

Conversely, to classify all cells:

CHETAH包提供了 RenameBelowNode 函数,可以对分类树中的细胞类型进行重命名。

对于示例数据,假设我们对T细胞的不同子类型(在Node6和Node7下)都不感兴趣,我们可以通过运行以下命令将所有这些细胞命都名为“T细胞”:

To reset the classification to its default, just run Classify again:

CHETAH可以使用任何scRNA-seq数据集作为参考,但是使用不同的参考数据集会极大地影响最终的细胞分类结果。

以下一般规则可以用于选择和创建参考数据集:

为了减少使用大参考数据集的计算时间,我们尝试将每种细胞类型下采样为100-200个细胞。对于具有细胞类型元数据“celltypes”的SingleCellExperiment对象的“ref”参考数据集,可以通过以下方式完成:

对于输入数据,CHETAH不需要进行了标准化的输入数据,但是参考数据必须事先进行标准化处理。此示例中使用的参考数据已经做了标准化处理。但出于示例的目的,我们还是对此数据集进行标准化处理:

当然,在drop-out率较高的情况下,CHETAH可能会受到高表达基因(具有高度可变性)的影响。根据我们的经验,主要是核糖体蛋白基因会产生这种影响。因此,我们在此处删除那些“核糖体”基因。

CHETAH的性能在很大程度上取决于参考数据集的质量。

参考数据集的质量会受到以下因素的影响:

要检查CHETAH在参考数据集中区分不同细胞类型的能力,我们可以运行 CorrelateReference 函数,也可以使用 ClassifyReference 函数进行查看。

1)CorrelateReference

CorrelateReference 函数会对两种细胞类型的每种组合,寻找两者之间具有最高差异倍数变化的基因,并使用这些基因对它们进行相关性分析。如果参考数据集是好的,则所有细胞类型的关联性都会变差甚至更好,并且会反相关。

在上图中,大多数细胞的类型都是可以区分的:许多细胞类型不相关或反相关。但是,某些细胞类型非常相似,如调节性和CD4阳性的T细胞,或CD4和CD8阳性的T细胞,这些细胞可能很难在输入数据中区分开。

2)ClassifyReference

我们还可以使用 ClassifyReference 函数检查CHETAH是否可以区分参考数据中的细胞类型。此函数使用参考数据对本身进行分类,如果CHETAH与参考数据集分类的结果较好,则分类中应该几乎没有混淆的细胞类型,即所有A型细胞应被分类为A型。

在此图中,每一行是原始细胞类型标签,每一列是在CHETAH分类后分配的细胞标签。正方形的颜色和大小指示行类型细胞中的哪一部分被分类为列类型。如,第4行第2列显示5-10%的CD4 T细胞被归类为调节性T细胞。

在此参考数据集中,两种细胞类型之间的混合比例不会超过10%。另外,低百分比的细胞被分类为中间类型。大多数混淆发生在T细胞的不同亚型之间。在这种情况下,我们应注意,这些细胞类型标签具有最高的互换机会。

CHETAH包经过优化,可以在大多数的分析中获得良好的结果,但是也可能会发生分类不完善的情况。 如果CHETAH无法提供所需的输出(分类的细胞太少,视觉上的随机分类等),我们可以执行以下步骤(按此顺序)进行完善:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11362461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存