R 維恩圖
阿新 • • 發佈:2020-12-24
1.venn.diagram
首先我們有這樣一個格式的檔案,是將colname對應的四個檔案merge之後(注意“all = T”),意思就是看“Accession”這一列對應蛋白在每個資料集的存在情況,不存在則為“NA”:
tmp1 <- merge(LCC1_12F[,c(1,2)],LCC1_24F[,c(1,2)],by="Accession",all = T)
tmp2 <- merge(LCC2_12F[,c(1,2)],LCC2_24F[,c(1,2)],by="Accession",all = T)
tmp <- merge(tmp1,tmp2,by="Accession",all = T)
tmp_backup <- tmp
> head(tmp_backup)
Accession LCC1_1_181894_LN02.x LCC1_1_181894_LN02.y LCC2_6_190078_LN07.x LCC2_6_190078_LN07.y
1 A0A024RBG1 NA -0.06777842 NA NA
2 A0A075B6H7 0.3708574 0.32445949 0.1197036 -0.2479927
3 A0A075B6H9 -0.1703125 -0.15957269 0.1997557 0.4781777
4 A0A075B6I0 0.8670320 1.21766875 1.0739528 0.6997812
5 A0A075B6I1 1.5430119 NA 0.8042385 NA
6 A0A075B6I4 NA 1.00683755 NA NA
對於每一行不同的資料集,有值的資料集設為統一的數字(這裡暫時定為行序數),NA的資料集需要定義不同的內容,保證維恩圖不會有交集
for (i in 1:dim(tmp)[1]) {
#i=1
each_line <- tmp[i,]
for (j in 2:5) {
each_one <- tmp[i,j]
ifelse(is.na(tmp[i,j]),tmp[i,j] <- paste(tmp[i,1],j,sep = "_"),tmp[i,j] <- i)
}
}
tmp <- tmp[,-1]
colnames(tmp) <- c("LCC1_12F","LCC1_24F","LCC2_12F","LCC2_24F")
出圖
venn.diagram(list("LCC1_12F (7100)"=tmp[,1],"LCC1_24F (8181)"=tmp[,2],
"LCC2_12F (7106)"=tmp[,3],"LCC2_24F (8230)"=tmp[,4]),
filename = './1.normalization_evaluate.bencheffect/LCC/0.data_information/LCC1_LCC2_12.24Faction.png',
col = "black",
fill = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3"),
alpha = 0.5,
cex = 1,
cat.col = 'black',
cat.cex = .8,
cat.fontface = "bold",
margin = 0.05,
main = "LCC1 LCC2 12/24Faction",
main.cex = 2)```