KEGG富集分析柱状图

发布时间 2023-12-03 17:05:24作者: 小高不高

KEGG富集分析柱状图

结果图展示

该条形图展示的是富集在每个Term的基因数目。Term可以是GO或者通路名称等等。FDR是矫正后的pֵ值。

输入数据

该输入数据的每一行显示的是一个Term(GO或通路)中富集到的基因数目、比例、P值。每一行的数据用制表符“\t”分隔。

input.txt

代码

# 需要三列信息
# Term:GO或者通路名称
# Count:富集在每个term的基因数目
# FDR:矫正后的p

library(ggplot2)   # 引用包
setwd("")  # 设置工作目录
rt <- read.table("input.txt", header = T, sep = "\t", check.names = F)  # 读取文件

# 按FDR排序
labels <- rt[order(rt$FDR, decreasing = T), "Term"]  # 将Term按FDR排序
rt$Term = factor(rt$Term, levels = labels)  # 将Term设为因子

# 绘制
p <- ggplot(data = rt) + 
  geom_bar(aes(x = Term, y = Count, fill = FDR), stat = "identity") +  # 用原始数据绘制初始条形图
  coord_flip() +  # 翻转坐标系
  scale_fill_gradient(low = "red", high = "blue") +  # 添加双色渐变色阶
  xlab("Term") +  # 设置x轴标签
  ylab("Gene count") +  # 设置y轴标签
  theme(axis.text.x = element_text(color = "black", size = 10),  # 设置x轴文本颜色及字体大小
        axis.text.y = element_text(color = "black", size = 10)) +  # 设置y轴文本颜色及字体大小
  scale_y_continuous(expand = c(0, 0)) +  # y轴(Gene count)连续数据位置标度
  scale_x_discrete(expand = c(0,0)) +  # x轴(Term)离散数据的位置尺度
  theme_bw()  # 设置全局主题
ggsave("barplot.pdf", width = 7, height = 5)      #保存图片