實驗設(shè)計:對照組,TNF處理組,TGF處理組,IL4處理組,每組3個生物學(xué)重復(fù)
實驗分組:TNF組 vs 對照組;TGF組 vs 對照組;IL4組 vs 對照組
所得數(shù)據(jù):三種分組比較下的差異基因
最終需求:直觀展示三組差異結(jié)果的共同基因及特有基因
以上這類設(shè)計和需求是高通量數(shù)據(jù)后期展示時常見的需求,通常通過繪制韋恩圖(Venn圖)就可以滿足!
如下圖左側(cè),就是典型的韋恩圖展示形式,不同的顏色代表不同的來源,它們之間的共有基因或是特有基因數(shù)量一目了然,可直觀展示出不同來源數(shù)據(jù)之間的在成分上的異同點。
近幾年針對這類需求,又出現(xiàn)了一種更棒的可視化形式,如下圖,直觀展示7組數(shù)據(jù)之間的關(guān)系,一目了然。
今天呢,來簡單演示下火山圖的繪制方法,有數(shù)據(jù)的小伙伴可以試試!數(shù)據(jù)就以TNF組 vs 對照組;TGF組 vs 對照組;IL4組 vs 對照組三組差異基因來做案例。
vennR包繪制韋恩圖
首先清除環(huán)境,安裝并加載所需要的R包
rm(list = ls()) #清除環(huán)境內(nèi)存
install.packages("readxl") #安裝readxl包
install.packages('venn') #安裝venn包
library(readxl) #加載readxl包
library(venn)
讀入數(shù)據(jù)并對數(shù)據(jù)做簡單處理
讀入IFN組差異數(shù)據(jù)
data<-read_excel("venn.xls",1) #讀入excel數(shù)據(jù)
IFN<-data$`Gene Symbol`
讀入TNF組數(shù)據(jù)
data<-read_excel("venn.xls",2) #讀入excel數(shù)據(jù)
TNF<-data$`Gene Symbol
讀入IL4組差異數(shù)據(jù)
data<-read_excel("venn.xls",3) #讀入excel數(shù)據(jù)
IL4<-data$`Gene Symbol`
將3組數(shù)據(jù)構(gòu)建成list
x <- list(IFN=IFN, TNF=TNF, IL4=IL4) # list內(nèi)元素為元素型,不可以是表達矩陣
# 或者也可以把數(shù)據(jù)放在一起直接載入為data
# x <- list(IFN=data$IFN, TNF=data$TNF, IL4=data$IL4) # 這樣構(gòu)建數(shù)據(jù)也可以
用venn包繪圖
?venn #查看venn函數(shù)的使用方法
venn(x,zcolor='style') #繪圖
venn.dragram R包繪制韋恩圖
首先清除環(huán)境,安裝并加載所需要的R包
rm(list = ls()) #清除環(huán)境內(nèi)存
#install.packages("readxl") #安裝readxl包
#install.packages('VennDiagram')
library(readxl) #加載readxl包
library(VennDiagram)
讀入數(shù)據(jù)并對數(shù)據(jù)做簡單處理
讀入3組匯總數(shù)據(jù)
data<-read_excel("venn.xls",4) #讀入excel數(shù)據(jù)
data<-as.data.frame(data) #將data轉(zhuǎn)換為data.frame格式
data[is.na(data)]<- 0 #將NA值替換為0
用venn.diagram繪圖
?venn.diagram #查看具體參數(shù)和使用方法
venn.plot <-venn.diagram(
list(IFN = data$IFN,TNF = data$TNF,IL4 = data$IL4),
filename = "Venn.PDF",
fill = c("red","blue","green"),
alpha = 0.5,
cex = 1,
lwd=0,
lty=0,
fontfamily = "serif",
fontface = "bold",
cat.default.pos = "text",
cat.col = c("red","blue","green"),
cat.cex = 1.5,
cat.fontfamily = "serif",
cat.dist = c(0.2, 0.2, -0.15),
cat.pos = 0)
UpsetR包繪制韋恩圖
首先清除環(huán)境,安裝并加載所需要的R包
rm(list = ls()) #清除環(huán)境內(nèi)存
install.packages("UpSetR")
install.packages("readxl") #安裝readxl包
library(readxl) #加載readxl包
library(UpSetR)
讀入數(shù)據(jù)并對數(shù)據(jù)做簡單處理
讀入3組匯總數(shù)據(jù)
data<-read_excel("venn.xls",4) #讀入excel數(shù)據(jù)
data<-as.data.frame(data) # 將data轉(zhuǎn)換為data.frame格式
data[is.na(data)]<- 0 #將NA值替換為0
X=list(IFN = data$IFN,TNF = data$TNF,IL4 = data$IL4) #將3組數(shù)據(jù)匯總成list
用upsetR 繪圖
p=upset(fromList(X),nsets = 3, order.by = "freq",
point.size = 5,
line.size = 1.3,
mainbar.y.label = "IntersectionSize",
sets.x.label = "",
mb.ratio = c(0.60, 0.40),
text.scale = c(2, 2, 2, 2,2, 2))
p
更多內(nèi)容可關(guān)注公共號“YJY技能修煉”~~~
往期回顧
R繪圖|ggplot2火山圖的繪制
R繪圖|ggplot2散點圖的繪制
R繪圖|pheatmap熱圖繪制——基礎(chǔ)篇
R繪圖|pheatmap熱圖繪制——中階篇
R繪圖|pheatmap熱圖繪制——高階篇