【R画图】GOplot

2022-02-24  本文已影响0人  jjjscuedu

富集分析是生信中最常见和常用的一种手段,不管是pathway还是GO。展示形式也是五花八门,比如我们自己最常用的就是气泡图。

最近看到一些其它的展示方式,用GOplot包画的,如下:

看上去,好像还挺好看,所以顺手测试学习了一下。

官网地址:

https://wencke.github.io/

=====安装包=====

官方推荐的安装方式:

install.packages('GOplot')

install_github('wencke/wencke.github.io')

library(GOplot)   //加载包

data(EC)      //示例数据

======功能测试=====

head(EC$david)           //富集分析结果

head(EC$genelist)    //差异基因

circ <- circle_dat(EC$david,EC$genelist)    //生成画图的基本数据

可以看出circ有GO的category, GO ID/term, genes,pvalu以及zscore等组成。

但是zscore和我们的标准化数据不太一样,从官方给出的计算公式是上调和下调基因的个数与总个数的比值。有点能看出是上调还是下调响应的。

//下面可以画出一个简单的bar图

GOBar(subset(circ, category == 'BP'))

GOBar(circ, display = 'multiple')   //这个可以三类GO都画,上面的只画了BP

GOBar(circ, display = 'multiple', zsc.col = c('yellow', 'black', 'cyan'))  //换个zscore的色系

GOBubble(circ, labels = 3)      //气泡图  labels表示对于Y轴大于3的显示标签

  

GOBubble(circ,title = 'Bubble plot', colour = c('orange', 'darkred', 'gold'), display ='multiple', labels = 3)  //可以把三类分开展示

GOBubble(circ, title = 'Bubble plot withbackground colour', display = 'multiple', bg.col = T, labels = 3)   //改变背景色

另外,为了不显示一些冗余的term,GOplot里面有个reduce_overlap函数可以用来减少冗余terms数目。该功能删除所有基因重叠大于或等于设定阈值的terms。保留每个组的一个terms作为代表,而不考虑GO层次结构。

reduced_circ <- reduce_overlap(circ,overlap = 0.75)  // 删除所有基因重叠大于等于 0.75的 terms

GOBubble(reduced_circ, labels = 2.8)

注:看着是比前面清晰很多

GOCircle(circ)       //可以画GO的圈图

当然也可以指定自己感兴趣的terms

IDs <- c('GO:0007507', 'GO:0001568','GO:0001944', 'GO:0048729', 'GO:0048514', 'GO:0005886', 'GO:0008092','GO:0008047')

GOCircle(circ, nsub = IDs)

GOplot还可以做GO和gene的关联图

chord <- chord_dat(circ, EC$genes,EC$process)    //准备基础数据

chord <- chord_dat(data = circ, genes =EC$genes, process = EC$process)

GOChord(chord, space = 0.02, gene.order ='logFC', gene.space = 0.25, gene.size = 5)

本文使用 文章同步助手 同步

上一篇下一篇

猜你喜欢

热点阅读