ES得分很低还能用吗?还是说用的是标准化后的NES呢?r语言
4条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
在使用GSVA(基因集富集分析)包进行基因集富集分析时,你会遇到两种主要的统计量:Enrichment Score (ES) 和 Normalized Enrichment Score (NES)。ES是未标准化的统计量,它反映了基因集合在样本中的整体趋势,而NES是对ES进行归一化处理后的结果,使得比较不同通路或基因集合更为方便。
如果你发现某个基因集的ES得分较低,这可能意味着这个基因集在你的样本中并不显著富集。但是,这并不意味着你不能使用这个得分。实际上,你可以结合p值、FDR(False Discovery Rate)以及具体研究背景来判断这个得分是否具有生物学意义。通常来说,ES值越接近1表示正向富集,值越接近-1表示反向富集,值接近0则表示不富集。同时,低的p值和低的FDR会增加富集结果的可信度。
如果你想使用标准化后的NES得分,你可以通过以下R代码计算:
library(GSVA) # 假设你已经有了排序后的表达矩阵 exprs_matrix 和 GSVA 需要的 gene_sets result <- gsva(exprs_matrix, gene_sets, method = "ssgsea") # 计算 NES 分数 nes_result <- result$nes在这个例子中,
method = "ssgsea"指定了使用单样本基因集富集分析(SSGSEA)。result$nes将返回一个包含所有基因集 NES 值的数据框。为了更好地理解这些值的意义,你可以绘制分布图来可视化所有基因集的 NES 值,并标记出具有显著性(例如 p-value < 0.05 或 FDR < 0.05)的基因集。下面是一个简单的示例,展示如何绘制 NES 分布图并突出显示显著性结果:
# 假设你已经计算了 p-values 和 FDR p_values <- result$pval fdr <- result$fdr # 创建一个逻辑向量,标识显著性结果 significant <- fdr < 0.05 # 绘制 NES 分布图 plot(density(nes_result), xlab = "Normalized Enrichment Score", ylab = "Density", main = "Distribution of NES Scores") # 在图上标记显著性结果 abline(v = quantile(nes_result[significant], c(0.25, 0.75)), col = "red", lty = 2) # 可选:绘制显著性阈值线 abline(h = 0, lty = 2, col = "gray") abline(h = -log10(0.05), lty = 2, col = "blue") # 如果你使用的显著性标准为 p-value < 0.05这样,你就可以直观地看到哪些基因集有较高的 NES 值,并且是基于你的显著性标准筛选出来的。如果你对某个基因集的ES得分感到困惑,可以考虑查看其对应的NES得分以及相应的p值和FDR,综合评估其生物学意义。
解决 无用评论 打赏 举报 编辑记录