芯片绘图

R画韦恩图

2018-05-05  本文已影响32人  Stone_Stan4d

承接上一篇的数据,画一个韦恩图,出来的是在三个GEO数据集中均上调或均下调的基因的交集图。
代码如下:

#########################2.获得我们需要的GEO分析结果########################################
#一般用0表示正常,1表示病变(癌旁),x表示舍弃的样本


gse31056 <- GEOAnaly('GSE31056', 'GPL10526', paste0("XXXXXXXXXXXXXXXXXXXX01XX01XXXXXXXX",
"01XXXXXXX01XXX01X1X0XXX0XXXXXXXXXXX10X10X01XXX01XX01X0XXX1XXXX"))

gse78060 <- GEOAnaly('GSE78060', 'GPL570', '101011111111111111111111110101')

# gse19089 <- GEOAnaly('GSE19089', 'GPL6947', '000111')

gse13601 <- GEOAnaly('GSE13601', 'GPL8300', 
                     '1010101011010101100101X01011001110011010101110010101101010')

首先我们用上一篇花式分析GEO数据集的函数构建的函数,分析了三个数据集,然后返回了一个含探针ID、P值、logFC、基因名等的列表:

image.png

接下来我们构建了分别可以提取上调基因和下调基因的函数upGene(), dnGene()。通过这两个函数,获取三个列表的差异基因,然后画韦恩图:

#构建两个函数,分别提取上调基因和下调基因
upGene <- function(gse){
  gsel = gse[gse$adj.P.Val < 0.05 & gse$logFC > 1, ]
  gsel = gsel[!(grepl('/', gsel$Gene.symbol) | gsel$Gene.symbol == ''), ]
  upgene = gsel$Gene.symbol
  return(upgene)
}
dnGene <- function(gse){
  gsel = gse[gse$adj.P.Val < 0.05 & gse$logFC < -1, ]
  gsel = gsel[!(grepl('/', gsel$Gene.symbol) | gsel$Gene.symbol == ''), ]
  dngene = gsel$Gene.symbol
  return(dngene)
}
#######################3.获取一个交集,画韦恩图###########################################
library(VennDiagram)
grid.draw(venn.diagram(list(GSE13601 = upGene(gse13601), GSE31056 = upGene(gse31056),
                  GSE78060 = upGene(gse78060)), fill = c('red', 'green', 'blue'),lwd = 1,
                  lty = 2,cat.col=c('red','green','blue'),col=c('red','green','blue'),
             alpha = c(0.5, 0.5, 0.5), cex = 2, filename = NULL, reverse = T))

结果如下图:


image.png

是不是觉得很丑!!!

上一篇下一篇

猜你喜欢

热点阅读