首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据挖掘—KEGG通路图绘制和通路图标注上下调基因

数据挖掘—KEGG通路图绘制和通路图标注上下调基因

原创
作者头像
sheldor没耳朵
发布2026-02-09 15:40:24
发布2026-02-09 15:40:24
2190
举报
文章被收录于专栏:数据挖掘数据挖掘

数据挖掘—KEGG通路图绘制和通路图标注上下调基因

在做差异基因分析后,使用差异基因做KEGG富集时候,常常需要绘制某些KEGG通路图以及在通路图上标注上下调基因,这里我包装了个函数来快速的进行绘制

plot_kegg_pathview_tf(deg_shared,select_dt,"pathview")

主要传入3个参数,

第一个是用来做富集分析的差异基因列表,需要同时包含“Gene”,"logFC"两列,如

代码语言:r
复制
#演示用,logFC统一设置为1或者-1,通路图会根据logFC值的大小设定颜色的深浅
> deg_shared[1:2,]
   Gene logFC
1 KCNE4     1
2  ZIC1     1

第二个参数是常规使用clusterProfiler做KEGG的结果(挑选想绘图的一些通路即可),

代码语言:r
复制
target_gene <- fread("table+figure/target.csv",
                     data.table = F,header = T)
target_gene <- target_gene$x
head(target_gene)
#[1] "KCNE4"    "ZIC1"     "GRAMD1C"  "ARHGEF10" "TGFBR3"   "SOX9" 
#KEGG
kk <- KEGG_tf(target_gene)
kk_dt <- as.data.frame(kk@result)
kk_dt <- kk_dt[kk_dt$category != "Human Diseases", ]
kk_dt <- na.omit(kk_dt)
dim(kk_dt[kk_dt$pvalue < 0.05,])#9
#如本次以绘制满足pvalue < 0.05的9条通路为例
select_dt <- kk_dt[1:9,]
select_dt[1:2,]
# category              subcategory       ID           Description
# hsa04014 Environmental Information Processing      Signal transduction hsa04014 Ras signaling pathway
# hsa04140                   Cellular Processes Transport and catabolism hsa04140    Autophagy - animal
# GeneRatio  BgRatio      pvalue  p.adjust    qvalue                    geneID Count
# hsa04014      4/34 238/9561 0.009662153 0.2291311 0.2005078 RALBP1/PDGFRB/PLA2G5/EGFR     4
# hsa04140      3/34 169/9561 0.021737477 0.2847245 0.2491565          PPP2CA/VPS39/UBC     3

第3个参数即为输出路径

函数plot_kegg_pathview_tf.R

代码语言:r
复制
plot_kegg_pathview_tf <- function(deg_shared, select_dt, out_dir){
  
  library(clusterProfiler)
  library(org.Hs.eg.db)
  library(pathview)
  
  # 创建总目录
  if(!dir.exists(out_dir)){
    dir.create(out_dir, recursive = TRUE)
  }
  
  # SYMBOL -> ENTREZID
  gene_df <- bitr(deg_shared$Gene,
                  fromType = "SYMBOL",
                  toType = "ENTREZID",
                  OrgDb = org.Hs.eg.db)
  
  # 合并 logFC
  gene_df <- merge(gene_df, deg_shared,
                   by.x = "SYMBOL", by.y = "Gene")
  
  gene_list <- gene_df$logFC
  names(gene_list) <- gene_df$ENTREZID
  
  # 需要绘制的 KEGG ID
  ids <- select_dt$ID
  
  for(i in ids){
    
    pathway_folder <- file.path(out_dir, i)
    
    if(!dir.exists(pathway_folder)){
      dir.create(pathway_folder)
    }
    
    # 设置输出目录为该通路文件夹
    old_wd <- getwd()
    setwd(pathway_folder)
    
    pathview(gene.data  = gene_list,
             pathway.id = i,
             species    = "hsa",
             kegg.native = TRUE,
             same.layer  = FALSE)
    
    setwd(old_wd)
  }
  
  message("All pathway plots saved in: ", out_dir)
}

结果就是每个通路生成一个单独的文件夹,其中包含3个文件,分别是原始的KEGG通路图,标注上下调基因的通路图等

如:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据挖掘—KEGG通路图绘制和通路图标注上下调基因
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档