fgsea包做GSEA分析很好用,奈何结果可视化真的有些潦草。既然,自带的可视化不好看,那就借助其他包来展示吧,比如enrichplot、GseaVis两个包的GSEA可视化就挺好看。
library(fgsea)
gsea_res <- fgsea(gslist, dge_rnk, minSize=5, maxSize=500, nperm=10000)
plotEnrichment(gslist[['HAY_BONE_MARROW_CD34_POS_HSC']], dge_rnk)

想要用enrichplot、GseaVis展示fgsea的结果,需要将结果转换为gseaResult对象。其实clusterProfiler做GSEA分析时默认调用的也是fgsea,所以在其内部有转换的过程,下面的函数便是由此修改而来。
source('run_fgsea2enrichplot.r')
gseares <- fgsea2enrich(gsea_res, dge_rnk, gslist, pvalueCutoff=1)
格式转换好,画图就很简单了:
library(enrichplot)
gseaplot2(gseares, 'HAY_BONE_MARROW_CD34_POS_HSC')

与原先的图相比,这图看起来颜值就自带一种高级感。除了enrichplot外,GseaVis作为专门用于GSEA可视化的包也是很好的选择,方便的是这个包也是基于gseaResult对象做图。
library(GseaVis)
gseaNb(gseares, geneSetID='HAY_BONE_MARROW_CD34_POS_HSC', addPval=T, pvalX=0.98, pvalY=0.8)
