GSEA富集到的通路相关信息有没有?

Page content

GSEA富集到的通路相关信息有没有? by YuLabSMU

上一次《你想在GSEA可视化图中标注几个基因?》问的其实也是这个问题,虽然针对标注基因,给了解决方案,但实际的数值信息你还是没拿到。

对于感兴趣的通路,像running ES这些信息,其实我们有另一个图,是gsearank()函数画出来的,正好就是画这个信息,我们在《文章发表:基于癌症干性识别索拉非尼的耐药机制》一文中就用到了这种图。

我们先来个例子:

require(clusterProfiler)
data(geneList, package="DOSE")

x <- gseKEGG(geneList)

require(enrichplot)
id <- 'hsa04110' 
gsearank(x, id)


能不能把这个图的信息,给到大家呢?答案当然是可以,于是我又更了一下这个函数,引入一个参数output = "plot",行为和原来一样画一个图,然后你可以传output = "table",那么返回来就是一个表格,相应通路的信息就有了。



这个是基于基因的,基因在什么位置,对通路富集的贡献,是不是leading edge里的基因。不过瘾是吧?因为你想知道基因的信息,这样的表格,才方便你在里面看有没有感兴趣的基因。加点信息太容易,比如说用bitr函数来点料。


然后无非是merge一下,当然你用merge的话,排序会乱,你可以自己重新排一下。像下面这样子,通路里的基因信息就有了。


你可以对column进行排列,把基因symbol,name什么的,放到前面去。


这个表格是通路里所有的基因,包括leading edge (core enrichment)和非leading edge里的。全都在里面。

PS: 上一篇文章《你想在GSEA可视化图中标注几个基因?》里面提到的geom_gsea_gene图层,也可以直接加在这个gsearank()出的图上哦。这就是图层设计的好处,比在函数里写死,好太多。这个具有灵活性和通用性。当然我现在当前就是一个通用的设计,把标注打上去,至于怎么打?用户说了算,用户自己去调参数,如果你有好的例子,有一些参数调整的行为能够更好地出图,也欢迎反馈给我,我可以相应的看一看是否整合进去,搞点默认行为,让函数一键出图时,就已然是没啥好调整的,那是最理想的。


原文链接