主要看这两个:
1. 结果行数
nrow(gsea_go@result) # 0 = 没有显著结果
2. 原始p值分布
# 不管阈值,看所有通路的p值
head(gsea_go@result[order(gsea_go@result$pvalue),
c("Description","NES","pvalue","p.adjust")])
如果最小的 pvalue 都 > 0.05,说明信号本身弱,不是阈值问题。
信号弱的根本原因判断:
# 看正常样本有多少
table(group)
如果 normal 只有3-4个,肿瘤400个,组间极度不均衡,limma 算出来的 logFC 方差很大,GSEA 排序信号就会被噪音淹没。
GO/KEGG 用的是差异基因列表,对样本数不敏感;GSEA 用全部基因排序,对数据质量要求更高,所以同样的数据 GO/KEGG 有结果但 GSEA 没有是正常现象。
Comments NOTHING