
在做差异基因分析后,使用差异基因做KEGG富集时候,常常需要绘制某些KEGG通路图以及在通路图上标注上下调基因,这里我包装了个函数来快速的进行绘制
plot_kegg_pathview_tf(deg_shared,select_dt,"pathview")
主要传入3个参数,
第一个是用来做富集分析的差异基因列表,需要同时包含“Gene”,"logFC"两列,如
#演示用,logFC统一设置为1或者-1,通路图会根据logFC值的大小设定颜色的深浅
> deg_shared[1:2,]
Gene logFC
1 KCNE4 1
2 ZIC1 1第二个参数是常规使用clusterProfiler做KEGG的结果(挑选想绘图的一些通路即可),
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
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 删除。