首页 > 其他分享 >KEGG富集分析图-代码

KEGG富集分析图-代码

时间:2023-12-03 17:13:34浏览次数:30  
标签:富集 KEGG 通路 代码 Term FDR GO

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)      #保存图片

 

标签:富集,KEGG,通路,代码,Term,FDR,GO
From: https://www.cnblogs.com/Ixiaozhu/p/17873390.html

相关文章

  • 相邻节点数量条形图-代码
    相邻节点数量条形图结果图展示该条形图展示的是相邻节点数(numberofadjacentnodes)最高的前几位节点。输入数据该输入数据的每一行都显示的是两个存在连接的相邻节点(adjacentnodes)。每一行的两个节点用制表符“\t”分隔。node1node2RAD51MND1ZWINTBUB1B......
  • 同一个train.py,没改任何代码,一会能跑,一会不能跑
    问题描述跑一个模型,加载预训练权重,只进行推理,没有修改任何代码,刚开始直接运行可以得到推理结果,然后再跑,程序又卡住了;然后我使用调试,一会能跑,一会跑到第五六个batch时,又卡住了。解决方法修改dataloader的num_workers。我程序原来workers设为的8,后面改为4就可以了。原因因为代......
  • 代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206
    (本合集全部为Go语言实现)相关文章链接:203题解707题解206题解相关视频链接:Leetcode203状态:秒了实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态个人写法/***Definitionfo......
  • 外卖小程序:技术实现与关键代码
    在当今数字化的餐饮市场中,外卖小程序扮演着重要的角色。这些应用程序通过技术实现点餐、支付和配送,为用户提供方便快捷的服务。下面我们来深入探讨构建外卖小程序的关键技术要点和代码示例。1.前端开发前端是用户与应用程序交互的接口,关键技术包括HTML、CSS和JavaScript。<!--......
  • PID小车用python代码写
    importtimeimportRPi.GPIOasGPIO#设置GPIO模式GPIO.setmode(GPIO.BOARD)#定义电机引脚Motor1A=16Motor1B=18Motor2A=22Motor2B=40#设置引脚为输出模式GPIO.setup(Motor1A,GPIO.OUT)GPIO.setup(Motor1B,GPIO.OUT)GPIO.setup(Motor2A,GPIO.OUT)GPI......
  • PID小车平衡和跳跃的核心代码
    PID小车平衡和跳跃的核心代码主要包括以下几个部分:初始化PID控制器参数,包括比例系数Kp、积分系数Ki和微分系数Kd。读取传感器数据,如陀螺仪、加速度计等,用于计算小车的旋转角度和速度。根据传感器数据计算PID控制器的输出,即控制信号。将控制信号转换为电机驱动信号,控制小车的转向和......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节
    LeetCode24.两两交换链表中的节点题目链接:LeetCode24思路:交换结点前将cur后第一个结点和第三个结点进行保存,然后修改cur指向头节点后再修改头节点后的结点classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummyHead=newListNo......
  • React 整洁代码的 10 个最佳实践(译)
    作者:大家的林语冰链接:https://www.zhihu.com/question/36516604/answer/3279585231来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。React整洁代码的10个最佳实践(译)免责声明本文属于是语冰的直男翻译了属于是,仅供粉丝参考,英文原味版请临幸Top1......
  • 答知识星球朋友疑问:执行 ABAP 代码出现超时的原因,背后的理论和解决方案试读版
    有朋友在我的知识星球里提问:我在bw执行一个fm的时候,出现了运行超时的问题,请问这时候要如何优化这个fm因为这位朋友没有提供具体的FunctionModule名称,所以只能泛泛而谈一下ABAP代码的超时问题。我们首先要认识一点,为什么ABAP代码运行后,理论上会出现超时(timeout)问题......
  • RabbitMQ Java代码声明队列和交换机(方法一)
      交换机和队列的声明一般写在消费者模块里 代码示例:packagecom.itheima.config_RabbitMQ;importorg.springframework.amqp.core.*;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@Configuration......