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、基因名等的列表:
接下来我们构建了分别可以提取上调基因和下调基因的函数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
是不是觉得很丑!!!