新手记录,如有不足,请指出!感谢大佬!
---------------------------------------------------------------------------------------
背景:转录组数据得到之后想对差异表达基因进行veen分析
参考连接:R包VennDiagram的韦恩图绘制及交集元素的提取 - 简书 (jianshu.com)
步骤:
1. 将需要进行分析的文件转化为csv文件或txt文件。这里我使用的是txt文件格式,只需要将execl中的数据复制过来就行。
2. 确定文件的路径,因为后续的数据读入需要,这里可以用file.choose()来进行,输入命令后会手动选择文件,之后会输出具体文件路径。
file_path <- file.choose()
print(file_path)
3. 绘制veen图的完整代码如下
#加载R包
library(VennDiagram)
#读入数据,第一行为组名
dat <- read.table('C:\\Users\\JHK\\Desktop\\test.txt', header = TRUE, sep = '\t', stringsAsFactors = FALSE, check.names = FALSE)
#dat后必须和列表中的组名一致,否则会报错,需要分析几组就赋予几组参数,一般2-5组,超了就不行
venn_list <- list(Ap = dat$Ap, Ep = dat$Ep, Pe = dat$Pe, Le = dat$Le)
#根据喜好选择颜色以及颜色的饱和度,字体的大小和字体样式等参数
venn.diagram(venn_list, filename = 'test.png', imagetype = 'png',
fill = c('#0099CC','#FF6666','#FFCC99','#0099CC'), alpha = 0.50, #圈里面的填充色
cat.col = c('black','black','black','black'), cat.cex = 1.5, cat.fontfamily = 'arial',#标题的颜色
col = c("white","white","white","white"), cex = 1.5, fontfamily = 'arial')#圈边框颜色
由于还要进行后续分析,因此还需要对交集的结果进行提取
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)], 'test_inter.txt', row.names = FALSE, sep = '\t', quote = FALSE)
到这里就全部完成。