1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| rm(list=ls()) library(UpSetR) library(dplyr) library(tidyr) library(openxlsx) # 读取6个分组的差异分析结果 DEG_DESeq2_Heart_vs_Fat = read.xlsx("condition_Heart_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) DEG_DESeq2_Liver_vs_Fat = read.xlsx("condition_Liver_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) DEG_DESeq2_Spleen_vs_Fat = read.xlsx("condition_Spleen_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) DEG_DESeq2_Lung_vs_Fat = read.xlsx("condition_Lung_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) DEG_DESeq2_Kidney_vs_Fat = read.xlsx("condition_Kidney_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) DEG_DESeq2_Muscle_vs_Fat = read.xlsx("condition_Muscle_vs_Fat_FC_2_Padj0.05.xlsx",sheet = 1) ls()
# 提取所有差异表达的基因名
DEG_DESeq2_Muscle_vs_Fat <- DEG_DESeq2_Muscle_vs_Fat[DEG_DESeq2_Muscle_vs_Fat$Change!="Stable",1] #提取差异表达组,去除不显著的Stable DEG_DESeq2_Muscle_vs_Fat = na.omit(DEG_DESeq2_Muscle_vs_Fat) #由于表达值有NA,去除NA 如果没有NA可省略 DEG_DESeq2_Liver_vs_Fat <- DEG_DESeq2_Liver_vs_Fat[DEG_DESeq2_Liver_vs_Fat$Change!="Stable",1] DEG_DESeq2_Liver_vs_Fat = na.omit(DEG_DESeq2_Liver_vs_Fat) DEG_DESeq2_Spleen_vs_Fat <- DEG_DESeq2_Spleen_vs_Fat[DEG_DESeq2_Spleen_vs_Fat$Change!="Stable",1] DEG_DESeq2_Spleen_vs_Fat = na.omit(DEG_DESeq2_Spleen_vs_Fat) DEG_DESeq2_Lung_vs_Fat <- DEG_DESeq2_Lung_vs_Fat[DEG_DESeq2_Lung_vs_Fat$Change!="Stable",1] DEG_DESeq2_Lung_vs_Fat = na.omit(DEG_DESeq2_Lung_vs_Fat) DEG_DESeq2_Kidney_vs_Fat <- DEG_DESeq2_Kidney_vs_Fat[DEG_DESeq2_Kidney_vs_Fat$Change!="Stable",1] DEG_DESeq2_Kidney_vs_Fat = na.omit(DEG_DESeq2_Kidney_vs_Fat) DEG_DESeq2_Heart_vs_Fat <- DEG_DESeq2_Heart_vs_Fat[DEG_DESeq2_Heart_vs_Fat$Change!="Stable",1] DEG_DESeq2_Heart_vs_Fat = na.omit(DEG_DESeq2_Heart_vs_Fat)
data <- list(Heart_vs_Fat = DEG_DESeq2_Heart_vs_Fat, Kidney_vs_Fat = DEG_DESeq2_Kidney_vs_Fat, Lung_vs_Fat = DEG_DESeq2_Lung_vs_Fat, Spleen_vs_Fat = DEG_DESeq2_Spleen_vs_Fat, Liver_vs_Fat = DEG_DESeq2_Liver_vs_Fat, Muscle_vs_Fat = DEG_DESeq2_Muscle_vs_Fat) #作图 #nsets: 最多展示多少个集合数据。 #nintersects: 展示多少交集。 #mb.ratio: 点点图和条形图的比例。 #order.by: 交集如何排序。这里先根据freq,然后根据degree #decreasing: 变量如何排序。这里表示freq降序,degree升序
upset(fromList(data),nsets = 6, order.by = "freq")
setsBarColors <-c('#EA4335', '#FBBC05', '#34A853', '#4285F4', '#F0E68C', '#BC8F8F') p = upset(fromList(data), nsets = 6, order.by = c("freq", "degree"), decreasing = c(TRUE,FALSE), sets.bar.color=setsBarColors, queries = list(#如果有需要标注的颜色,就在list后面按格式加就是了 list( query = intersects, params = list("Muscle_vs_Fat", "Liver_vs_Fat", "Heart_vs_Fat"), color = "#DA70D6", active = T), list( query = intersects, params = list("Muscle_vs_Fat", "Liver_vs_Fat"), color = "#FFA500", active = T), list( query = intersects, params = list("Muscle_vs_Fat"), color = "#4169E1"), list( query = intersects, params = list("Muscle_vs_Fat"), color = "#F0E68C"), list( query = intersects, params = list("Muscle_vs_Fat"), color = "#D2B48C") ) )
tiff(file = "UPset_veen.tiff",width = 10,height =6,units = "in",res = 300,pointsize = 6) print(p) dev.off()
|