news 2026/11/3 4:32:51

GO和kEGG富集分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GO和kEGG富集分析
文章目录
  • 前言
  • 一、GO和KEGG
    • 1. **GO 富集分析:**
    • 2. KEGG 富集分析:
  • 二、使用步骤
    • 1.数据处理
    • 2. GO分析
    • 3.KEGG富集
  • 总结

前言

GO(Gene Ontology,基因本体)富集和 KEGG(Kyoto Encyclopedia of Genes and Genomes,京都基因与基因组百科全书)富集分析能够从不同角度揭示基因的功能和生物学意义


一、GO和KEGG

1.GO 富集分析:
  • 说明基因在分子功能(Molecular Function)、生物过程(Biological Process)和细胞组成(Cellular Component)三个方面的特征和倾向。
  • 帮助了解基因参与的具体生物学活动,例如基因是具有催化活性、结合能力,还是参与细胞分裂、信号转导等过程,以及在细胞的哪个部位发挥作用。
2. KEGG 富集分析:
  • 反映基因所参与的代谢通路、信号转导通路、疾病相关通路等。
  • 揭示基因在细胞整体的生化反应和生理过程中的协同作用和调控关系。
  • 有助于理解基因在疾病发生发展、药物作用机制等方面的作用。

综合来看,GO 富集更侧重于基因功能的分类描述,而 KEGG 富集则更侧重于基因在生物系统中的通路级别的相互作用和调控。两者结合可以更全面深入地理解基因的功能和在生物学系统中的角色

二、使用步骤

1.数据处理
library(tidyverse) library(ggplot2) library(ggrepel) library(readxl) setwd('G:/R/TCGA/venn') # 这里的excel文档是之前TCGA差异分析得到的数据,主要用longFC,p值,FDR和基因名 COVIN_24_wpi_DEGs <- read_xlsx('long_CONVID_19_deg.xlsx',sheet='24 wpi DEGs') COVIN_24_wpi_DEGs <- data.frame(COVIN_24_wpi_DEGs$logFC,COVIN_24_wpi_DEGs$PValue,COVIN_24_wpi_DEGs$FDR,COVIN_24_wpi_DEGs$external_gene_name,COVIN_24_wpi_DEGs$ensembl_gene_id,COVIN_24_wpi_DEGs$description,row.names = COVIN_24_wpi_DEGs$external_gene_name) colnames(COVIN_24_wpi_DEGs) <- c('logFC','FDR','PValue','genename','gene_id','description') COVIN_24_wpi_DEGs$time <- c('24 w.p.i.') common_difference_gene_24_wpi <- read.csv('common_difference_gene_24_wpi.csv',row.names = 1) selected_data_24_wpi <- COVIN_24_wpi_DEGs[COVIN_24_wpi_DEGs$genename %in% t(common_difference_gene_24_wpi), ] threshold <- 0.3 selected_data_24_wpi$regulation <- ifelse(selected_data_24_wpi$logFC > threshold, "Up-Regulated", ifelse(selected_data_24_wpi$logFC < -threshold, "Down-Regulated", ifelse(abs(selected_data_24_wpi$logFC) < threshold, "NotSig", "Unknown"))) # 获取上下调基因 top <- 100 top_genes_24_wpi <- bind_rows( selected_data_24_wpi %>% filter(regulation == 'Up-Regulated') %>% arrange(desc(abs(logFC))) %>% head(top) ) bottom_genes_24_wpi <- bind_rows( selected_data_24_wpi %>% filter(regulation == 'Down-Regulated') %>% arrange(desc(abs(logFC))) %>% head(top) ) # 保存数据之后方便之后的通路分析 library(openxlsx) dir.create('differential gene/result/24_wpi/data_100') write.xlsx(selected_data_24_wpi,'./differential gene/result/24_wpi/data_100/data_24_wpi.xlsx',rowNames = TRUE) write.xlsx(top_genes_24_wpi,'./differential gene/result/24_wpi/data_100/top_genes_24_wpi.xlsx',rowNames = TRUE) write.xlsx(bottom_genes_24_wpi,'./differential gene/result/24_wpi/data_100/bottom_genes_24_wpi.xlsx',rowNames = TRUE)
2. GO分析
setwd('G:/R/TCGA/venn/differential gene') library(clusterProfiler) # 这里org.Hs.eg.db需要通过BiocManager包进行下载,如果多次尝试下载不成功的恶化,可以先更改镜像源,之后再尝试下载 # options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor") # BiocManager::install('org.Hs.eg.db') library(org.Hs.eg.db) library(ggplot2) library(readxl) # 读取数据 upgene <- read_xlsx('./result/24_wpi/data_100/up_genes_24_wpi.xlsx') rownames(upgene) <- upgene$...1 Genes <- bitr(rownames(upgene), fromType = 'SYMBOL', toType = c('ENTREZID'), OrgDb = org.Hs.eg.db) # GO富集分析和结果存储 GO <- enrichGO(gene = Genes$ENTREZID, # 输入基因的ENTREZID OrgDb = org.Hs.eg.db, # 注释信息 keyType = 'ENTREZID', ont = 'ALL',# 可选条目BP/CC/MF pAdjustMethod = 'BH',# p值的校正方式 qvalueCutoff = 1,# q的阈值 pvalueCutoff = 1, # p的阈值 minGSSize = 5, maxGSSize = 500, readable = TRUE # 是否将ENTREZID转换为symbol ) dir.create('./result/24_wpi/up_100') write.csv(data.frame(ID=rownames(GO@result),GO@result),'./result/24_wpi/up_100/up_genes_24_wpi_GO.csv') # 柱状图 pdf(file = './result/24_wpi/up_100/up_genes_24_wpi_GO_barplot.pdf',width = 10,height = 8) barplot(GO,drop=TRUE, showCategory = 6, split='ONTOLOGY') + facet_grid(ONTOLOGY~.,scales = 'free') dev.off() # 点图 pdf(file = './result/24_wpi/up_100/up_genes_24_wpi_GO_dotplot.pdf',width = 10,height = 8) dotplot(GO,showCategory=6, split='ONTOLOGY')+ facet_grid(ONTOLOGY~.,scales = 'free') dev.off() # 不分面 pdf(file = './result/24_wpi/up_100/up_genes_24_wpi_GO_dotplot_nosplit.pdf',width = 10,height = 8) dotplot(GO, x='GeneRatio', color='p.adjust', showCategory=15, size=NULL, split=NULL, font.size=13, title='', orderBy='x', label_format=30) dev.off()

3.KEGG富集
KEGG <- enrichKEGG(Genes$ENTREZID, organism = 'hsa', keyType = 'kegg',# kegg数据库 pAdjustMethod = 'BH', pvalueCutoff = 1, qvalueCutoff = 1) pdf(file = './result/24_wpi/up_100/up_genes_24_wpi_KEGG.pdf',width = 10,height = 8) barplot(KEGG, x='GeneRatio', color='p.adjust', showCategory=15) dev.off() pdf(file = './result/24_wpi/up_100/up_genes_24_wpi_KEGG_dotplot.pdf',width = 10,height = 8) dotplot(KEGG) dev.off() # View(as.data.frame(KEGG)) # 以数据框的形式展示KEGG的结果 # browseKEGG(KEGG,'hsa03010') # 打开KEGG官网查看相关通路的信息 # 结果存储 KEGG_results <- DOSE::setReadable(KEGG, OrgDb = org.Hs.eg.db, keyType = 'ENTREZID') write.csv(data.frame(ID=rownames(GO@result),GO@result),'./result/24_wpi/up_100/up_genes_24_wpi_KEGG.csv')


总结

图片很多,这里就不再一一展示了,有兴趣的朋友可以自己常以跑一下,了解一下它们之间的区别,需要数据的话私我领取!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 8:27:43

clickhouse-介绍、安装、数据类型、sql

1、介绍 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP&#xff08;On-Line Ana…

作者头像 李华
网站建设 2026/11/3 8:27:43

GO 快速升级Go版本

由于底层依赖升级了&#xff0c;那我们也要跟着升&#xff0c;go老版本已经不足满足需求了&#xff0c;必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …

作者头像 李华
网站建设 2026/11/3 8:27:43

GaussDB数据库中SQL诊断解析之配置SQL限流

配置SQL限流 GaussDB提供SQL限流功能&#xff0c;当存在异常SQL&#xff08;如存在不优索引&#xff09;、SQL并发量上升时&#xff0c;通过SQL限流功能控制异常SQL的访问量或者并发量&#xff0c;保障服务的可用性。 前提条件 登录账号需要具备授权项“gaussdb:instance:listF…

作者头像 李华
网站建设 2026/11/3 8:27:43

交通仿真软件:Aimsun_(5).交通流量模拟

交通流量模拟 1. 交通流量的基本概念 交通流量是指在一定时间内通过某一道路断面的车辆数量。在交通仿真软件中&#xff0c;交通流量的模拟是核心功能之一&#xff0c;它可以帮助交通工程师和规划人员评估道路网络的性能&#xff0c;优化交通管理策略&#xff0c;预测交通拥堵等…

作者头像 李华
网站建设 2026/11/3 8:27:43

Flask:后端框架使用

文章目录 1、介绍2、demo演示3、Flask请求和响应 3.1 演示demo3.2 request获取请求体数据3.3 requests发送请求3.4 响应返回和接收 4、特殊路由 4.1 路由重定向4.2 路由拦截器 1、介绍 Flask是由python语言编写的轻量级Web应用框架&#xff0c;主要应用于后端框架&#xff…

作者头像 李华
网站建设 2026/11/3 8:27:43

一次把 RAG 的「整套结构」讲清楚,存一下吧 很难找全的!

这张图&#xff0c;佳哥真是用心了 今天这一篇&#xff0c;我不讲案例、不讲代码、不讲某个框架的用法。 我只做一件事&#xff1a;把这张图&#xff0c;从“看起来复杂”&#xff0c;讲到“你知道它为什么必须长这样”。先说一句狠话 如果你觉得 RAG 是&#xff1a;向量库 Em…

作者头像 李华