J
Jay2Echo
V1
2022/11/25阅读:62主题:默认主题
R语言提取韦恩图交集信息
背景
最近看“生信技能树”R语言相关教程,发现对于常见的韦恩图操作中,有这样的一个需求:不仅需要得到venn图还希望提取交集的元素信息。联想到之前自己项目中有这一部分,故整理。
Venn图绘制
输入数据:
原始输入数据是当时项目中得到三个基因集中的相关差异基因。
出图:
首先将三个基因集中基因保存至“venn_list”变量中;通过R包“VennDiagram”中的“venn.diagram”函数可以一键出图,其中通过"filename"参数指定保存的路径及文件名; 最终效果图如下:
提取交集元素
首先通过“get.venn.partitions”函数拿到交集信息存为变量“inter”,为数据框(内容如下),结合上述venn图很容易理解下述表格信息; 接下来就是进行数据清洗的内容,拿到我们想要的交集信息,并保存至文件。
#读取CSV文件
dat <- read.csv("Diff_Groups.csv", header = T)
G8671_list <- dat$G8671_Groups[1:482]
G37364_list <- dat$G37364_Groups[1:318]
TCGA_list <- dat$TCGA_Groups[1:2984]
#韦恩图(VennDiagram 包,适用样本数 2-5)
library(VennDiagram)
#指定统计的分组列,并设置作图颜色、字体样式等
venn_list <- list(G8671 = G8671_list, G37364 = G37364_list, TCGA = TCGA_list)
venn.diagram(venn_list, filename = 'venn.png', imagetype = 'png',
fill = c('red', 'blue', 'green'), alpha = 0.50,
cat.col = c('red', 'blue', 'green'), cat.cex = 1.5, cat.fontfamily = 'serif',
col = c('red', 'blue', 'green'), cex = 1.5, fontfamily = 'serif')
inter <- get.venn.partitions(venn_list)
for (i in 1:nrow(inter)) inter[i,'values'] <- paste(inter[[i,'..values..']], collapse = ', ')
write.table(inter[-c(5, 6)], 'venn_inter.txt', row.names = FALSE, sep = '\t', quote = FALSE)
作者介绍
J
Jay2Echo
V1