美文网首页
写了一个函数,做Venny图

写了一个函数,做Venny图

作者: 找兔子的小萝卜 | 来源:发表于2021-02-24 16:06 被阅读0次
rm(list = ls())
library(VennDiagram)
library(ggplot2)
library(ggplotify)
library(cowplot)

load("UCECgdc.Rdata")
load("UCECDEG.Rdata")
load("UCECpcaplot.Rdata")
load('UCECdeg_before.Rdata')
UP=function(df){
  rownames(df)[df$change=="UP"]
}
DOWN=function(df){
  rownames(df)[df$change=="DOWN"]
}

up = intersect(intersect(UP(DESeq2_DEG),UP(edgeR_DEG)),UP(limma_voom_DEG))
down = intersect(intersect(DOWN(DESeq2_DEG),DOWN(edgeR_DEG)),DOWN(limma_voom_DEG))



draw_venn<-function (Deseq2, edgeR, limma, name) 
{
  if (as.numeric(dev.cur()) != 1) 
    graphics.off()
  p = venn.diagram(x = list(Deseq2 = Deseq2, edgeR = edgeR, 
                            limma = limma), imagetype = "png", filename = NULL, 
                   lwd = 1, lty = 1, col = c("#0099CC", "#FF6666", "#FFCC99"), 
                   fill = c("#0099CC", "#FF6666", "#FFCC99"), cat.col = c("#0099CC", 
                                                                          "#FF6666", "#FFCC99"), cat.cex = 3, rotation.degree = 0, 
                   main = name, main.cex = 3, cex = 3, alpha = 0.5, 
                   reverse = TRUE)
  p = as.ggplot(as_grob(p))

  file.remove(dir(pattern = ("^VennDiagram.*log$")))
  return(p)
}

up.plot <- draw_venn(UP(DESeq2_DEG),UP(edgeR_DEG),UP(limma_voom_DEG),
                     "UPgene"
)
down.plot <- draw_venn(DOWN(DESeq2_DEG),DOWN(edgeR_DEG),DOWN(limma_voom_DEG),
                       "DOWNgene"
)

相关文章

网友评论

      本文标题:写了一个函数,做Venny图

      本文链接:https://www.haomeiwen.com/subject/kmpsfltx.html