使用自定义基因集对单细胞数据打分,应该用什么函数或者R包呢?

2023-09-29 10:38:30 浏览数 (1)

群里小伙伴在前几天有提到这个问题,想了一下我的确没写过相关的推文,但是我发现相关的推文在微信公众号上还是能搜索到不少的。我来写个总结性的推文吧~

使用自定义基因集对单细胞数据打分常常是为了深入分析单细胞数据用到,像由于测序深度不足而导致某些基因表达量低或者是某些基因并没有表达。当然现在有很多文章数据分析用到整合多样本,本身就会产生的批次效应,也需要寻找合适的基因富集方法。在bulk-RNA-seq中我们也会用到富集的方法(GO, KEGG富集等等),都有异曲同工之处,利用相似原理的算法来计算得到基因之间相互联系的结果。

目前针对单细胞数据基因集打分有不同的R包和多种函数

代码语言:javascript复制
GSEA、GSVA、ssGSEA #这三个也常常用在bulk转录组的富集分析中
Pagoda2、Vision、PLAGE、Zscore、Seurat包的AddModuleScore函数、
AUCell、UCell和singscore
scgmt包
Pagoda2

https://github.com/kharchenkolab/pagoda2

一个用于分析和交互式探索大规模单细胞RNA-seq数据集的R包。这些方法经过优化,以快速处理现代scRNAseq数据集,这些数据集既大(大约1e6细胞或更大)又稀疏。该软件包提供了质量控制、过滤、聚类、可视化、差异表达、跨界方面/状态和基因集/通路过度离散分析的方法。

Vision

https://github.com/YosefLab/VISION

Functional interpretation of single cell similarity maps | Nature Communications (https://www.nature.com/articles/s41467-019-12235-0)

Vision包对基因集打分是通过基因集取平均后,其中所有基因表达来计算的。

https://mp.weixin.qq.com/s/ohfMH6bUc7wN0EaWrcfN-g

PLAGE、Zscore

需要基因表达矩阵归一化成标准数据。

Seurat包的AddModuleScore函数

计算每个程序(集群)在单细胞水平上的平均表达水平,减去控制特征集的聚合表达。所有分析特征基于平均表达式进行分类,并从每个分类中随机选择控制特征。

AUCell

基于单个样本中的基因表达排名,使用曲线下的面积来评估输入基因集是否在单个样本的前5%表达基因内富集。

UCell

也是基于单个样本中的基因表达排名,是一个基于Mann-Whitney U统计量评估单细胞数据集中基因标签的软件包。它可以应用于任何单细胞数据矩阵,并包括与SingleCellExperiment和Seurat对象交互的函数。

singscore

也是一个R包,它实现了Foroutan等人(2018)和Bhuva等人(2020)提出的简单的单样本基因集(或基因标签)评分方法。它使用基于秩的统计分析每个样本的基因表达谱,并在单样本水平上对基因集的表达活动进行评分。

scgmt包

作者原文:[单细胞基因集合打分方法]https://mp.weixin.qq.com/s/YW5bIhq86jwDPqW-p6-EWA

这个R包旨在整合多种基于单细胞秩次的基因集富集分析方法,并将结果整合为标准化格式,以存储在Seurat对象的元数据。

irGSEA包

除了上述的函数和包之外还有一个考察了多种算法然后选取了基于单个样本的基因表达排名的基因集分析方法:AUCell、UCell和singscore整合成的R包:irGSEA包 https://github.com/chuiqin/irGSEA/

8种方法可视化你的单细胞基因集打分 https://mp.weixin.qq.com/s/ohfMH6bUc7wN0EaWrcfN-g

0 人点赞