单细胞转录组测序的差异基因表达分析是一种用于比较不同细胞之间基因表达水平的方法。在单细胞RNA测序数据中,每个细胞的基因表达水平都被测量,并以基因计数矩阵的形式进行存储。差异基因表达分析旨在识别不同细胞群体之间的基因表达水平差异,从而揭示细胞群体之间的功能和特征。Seurat 提供了一个 FindAllMarkers
方法用于在单细胞RNA测序数据中寻找差异表达基因。然而,对于大型数据集的DE分析,使用Seurat软件包的FindAllMarkers方法 在数据集的全部细胞上执行DE搜索将变得非常缓慢。即使开启了future
并行,速度也并不会显著提升,因为多线程模式只能在某些特定的计算环节中发挥作用,而在其他计算环节中仍然需要使用单线程模式。在加速搜索差异基因, FindAllMarkers
函数本身提供了对基因或细胞进行预过滤的参数,特别是设置 max.cells.per.ident
对每个类别进行降采样,使其中用于比较的细胞数量不超过设置的阈值。虽然通常会出现一定的性能损失,但速度增加会比较显,并且差异表达最高的基因可能仍会排列在最前面。
如果计算平台允许,并不推荐使用
FindAllMarkers(max.cells.per.ident = *)
通过降采样加速来执行DEG 搜索,而是推荐基于 Rcpp 实现的SeuratWrappers::RunPrestoAll
方法,具有与Seurat::FindAllMarkers
一样的功能,并提供更迅速的搜索。
1、FindAllMarkers 降采样DEG计算性能损失评估
降采样差异基因搜索代码示例: