查看原文
其他

如何利用不同的R包画韦恩图

2017-05-05 小河马 生信草堂

很多时候我们想展示不同的研究对象之间是否存在交集,如找出两种不同处理(状态)的共有基因或者特有基因,最简单的方法,可能也是很多学生经常用过的方法就是用PPT画出不同的圆圈,然后标上数字。这样做可以根据数字大小来调整不同交集的尺寸,这样做虽然容易上手,但会花费大量时间。这里我们推荐几款R包可以轻松画出漂亮的维恩图。


#安装gplots

#install.packages("gplots")

#载入gplots

library(gplots)

SampleName <- function() paste(sample(LETTERS,5,replace=TRUE),collapse="")

GeneListNames <- replicate(1000, SampleName ())

Arm_1  <- sample(GeneListNames, 400, replace=FALSE)

Arm_2  <-  sample(GeneListNames, 750, replace=FALSE)

Arm_3  <-  sample(GeneListNames,250, replace=FALSE)

Arm_4  <-  sample(GeneListNames,300, replace=FALSE)

input <-  list(Arm_1, Arm_2, Arm_3,Arm_4)

venn(input)

 

#安装VennDiagram

install.packages("VennDiagram")

 

####导入VennDiagram:

library(VennDiagram)

         setwd("c:/Temp")

         ##导入各部分数据

         A1=read.table(file="c:/Temp/numpass1")

                   A=A1[,1]###数据类型从list转换为其他的如integer

         B1=read.table(file="c:/Temp/numpass2")

                   B=B1[,1]

         C1=read.table(file="c:/Temp/numpass3")

                   C=C1[,1]

         D1=read.table(file="c:/Temp/numpass4")

                   D=D1[,1]

         ##通过venn包做韦恩图

         venn.diagram(list("LUAD+"=A,"LUAD-"=B,"LUSC+"=C,"LUSC-"=D),fill=c("red","blue","green","black"),"result.tiff")

 

#安装limma

#source("http://www.bioconductor.org/biocLite.R")

#biocLite("limma")

#载入limma

library(limma)

genelist <- read.table("genelist.csv",sep=',', header=T)

attach(genelist)

eDRD2 <- (DRD2 >= 1.5)

eANKK1 <- (ANKK1 >= 1.5)

eDRD1 <- (DRD1 >= 1.5)

combined_3 <-cbind(eDRD2, eANKK1, eDRD1)

All_genes <- vennCounts(combined_3)

vennDiagram(All_genes, include = "both",names = c("High DRD2", "High ANKK1", "High DRD1"),cex = 1, counts.col = "red")

 


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存