谢大飞

V1

2023/05/01阅读:27主题:默认主题

UpSetR绘制韦恩图

UpsetR 绘制韦恩图

安装加载需要的R包

#### 1.安装加载需要的R包
install.packages("UpSetR")

library("UpSetR")

install.packages("ggVennDiagram")

library("ggVennDiagram")
## 加载需要的剩余的R包
require(ggplot2)
require(plyr)
require(gridExtra)
require(grid)
加载R包
加载R包

测试数据绘图

movies <- read.csv(system.file("extdata","movies.csv",package = "UpSetR"), header = TRUE, sep=";")

upset(movies, nsets = 7, nintersects = 30, mb.ratio = c(0.5, 0.5),
      order.by = "freq", decreasing = c(TRUE,FALSE),keep.order = TRUE)

upset(movies, sets = c("Action""Adventure""Comedy""Drama""Mystery"
                       "Thriller""Romance""War""Western"), mb.ratio = c(0.55, 0.45), order.by = "freq"
      keep.order = TRUE)

upset(movies, nintersects = 70, group.by = "sets", cutoff = 7)

between <- function(row, min, max){
  newData <- (row["ReleaseDate"] < max) & (row["ReleaseDate"] > min)
}

upset(movies, sets=c("Drama","Comedy","Action","Thriller","Western","Documentary"),
      queries = list(list(query = intersects, params = list("Drama""Thriller")),
                     list(query = between, params=list(1970,1980), color="red", active=TRUE)))

upset(movies,attribute.plots=list(gridrows=60,plots=list(list(plot=scatter_plot, x="ReleaseDate", y="AvgRating"),
                                                         list(plot=scatter_plot, x="ReleaseDate", y="Watches"),list(plot=scatter_plot, x="Watches", y="AvgRating"),
                                                         list(plot=histogram, x="ReleaseDate")), ncols = 2))

input <- c(
  "MAQ"=144600,
  "FaSD"=16532, 
  "Bcftools"=283, 
  "GATK"=15160, 
  "MAQ&FaSD"=16323, 
  "MAQ&Bcftools"=636, 
  "Bcftools&GATK"=65435, 
  "FaSD&GATK"=33874, 
  "MAQ&FaSD&Bcftools"=114, 
  "MAQ&FaSD&GATK"=41858, 
  "MAQ&Bcftools&GATK"=4, 
  "FaSD&Bcftools&GATK"=6603, 
  "MAQ&FaSD&Bcftools&GATK"=8357
)

data <- fromExpression(input)

upset(data)
测试数据绘图
测试数据绘图

导入数据

分别导入需要进行可视化的差异表达分析的结果数据,并取出基因ID

导入需要分析的差异数据,并且取出需要的ID信息

雌花不同时期比较差异数据

##2.导入数据
FD2vsFD1 <- read.table("FD.lrt_St2vsSt1.DElist.txt",sep = "\t",header = TRUE)

FD2vsFD1 <- rownames(FD2vsFD1)    ##取出需要的ID

head(FD2vsFD1)

FD3vsFD1 <- read.table("FD.lrt_St3vsSt1.DElist.txt",sep = "\t",header = TRUE)

FD3vsFD1 <- rownames(FD3vsFD1)

head(FD3vsFD1)

FD3vsFD2 <- read.table("FD.lrt_St3vsSt2.DElist.txt",sep = "\t",header = TRUE)

FD3vsFD2 <- rownames(FD3vsFD2)

head(FD3vsFD2)

雄花的不同时期差异数据

MD2vsMD1 <- read.table("MD.lrt_St2vsSt1.DElist.txt",sep = "\t",header = TRUE)

MD2vsMD1 <- rownames(MD2vsMD1)

head(MD2vsMD1)

MD3vsMD1 <- read.table("MD.lrt_St3vsSt1.DElist.txt",sep = "\t",header = TRUE)

MD3vsMD1 <- rownames(MD3vsMD1)

head(MD3vsMD1)

MD3vsMD2 <- read.table("MD.lrt_St3vsSt2.DElist.txt",sep = "\t",header = TRUE)

MD3vsMD2 <- rownames(MD3vsMD2)

head(MD3vsMD2)

雌雄花不同时期的对比数据

MD1vsFD1 <- read.table("FMD.lrt_St1.DElist.txt",sep = "\t",header = TRUE)

MD1vsFD1 <- rownames(MD1vsFD1)

MD2vsFD2 <- read.table("FMD.lrt_St2.DElist.txt",sep = "\t",header = TRUE)

MD2vsFD2 <- rownames(MD2vsFD2)

MD3vsFD3 <- read.table("FMD.lrt_St3.DElist.txt",sep = "\t",header = TRUE)

MD3vsFD3 <- rownames(MD3vsFD3)

venn_list_S2vS1 <- list( MD2vsMD1 = MD2vsMD1,FD2vsFD1= FD2vsFD1)
导入数据
导入数据

转换数据格式

UpsetR需要的是1,0格式,但是我们导入的数据之后得到的都是基因ID所以需要转换成需要的格式

#### 3. 使用list函数将所有数据整合成一个list
input <- c(
  "FD2vsFD1"=FD2vsFD1,
  "FD3vsFD1"=FD3vsFD1, 
  "FD3vsFD2"=FD3vsFD2, 
  "MD2vsMD1"=MD2vsMD1, 
  "MD3vsMD1"=MD3vsMD1, 
  "MD3vsMD2"=MD3vsMD2, 
  "MD1vsFD1"=MD1vsFD1, 
  "MD2vsFD2"=MD2vsFD2, 
  "MD3vsFD3"=MD3vsFD3
)


list <- list(FD2vsFD1=FD2vsFD1,FD3vsFD1=FD3vsFD1,FD3vsFD2=FD3vsFD2,MD2vsMD1=MD2vsMD1, MD3vsMD1=MD3vsMD1,MD3vsMD2=MD3vsMD2,MD1vsFD1=MD1vsFD1,MD2vsFD2=MD2vsFD2,MD3vsFD3=MD3vsFD3)
list格式
list格式

4. 将结果转置成UpsetR需要的数据格式

data <- fromList(list)

数据格式
数据格式

5.使用UpSetR进行结果可视化

upset(data,sets = c("FD2vsFD1","FD3vsFD1","FD3vsFD2","MD2vsMD1","MD3vsMD1","MD3vsMD2","MD1vsFD1","MD2vsFD2","MD3vsFD3"))
韦恩图
韦恩图

UpSetR绘制韦恩图_视频

参考文章

xuzhougeng:UpSetR:集合可视化神包(https://www.jianshu.com/p/324aae3d5ea4)

欧阳松:统计多个基因列表交集并画韦恩图和Upset图(https://www.jianshu.com/p/5e94e5562378)

分类:

后端

标签:

后端

作者介绍

谢大飞
V1