下载的gmt格式文档(多个)同时做GSEA-R代码

rm(list = ls())
options(stringsAsFactors = F)

library(msigdbr)
library(fgsea)
library(org.Mm.eg.db)
library(dplyr)
library(clusterProfiler)
library(data.table)
library(enrichplot)
library(ggplot2)

# 读取数据
diff_expr <- fread("GSE123861.top.table (1).tsv")

# 制作差异表达谱genelist
DEG = diff_expr

# 1.按照logFC进行排序
geneList2 <- DEG$log2FoldChange
# 2.命名
names(geneList2) = DEG$Symbol
# 3.排序
geneList2 = sort(geneList2, decreasing = TRUE)

# 4.读取gmt基因集
# 如果你有5个不同的gmt文件
kegmt1 <- read.gmt("smooth muscle cell proliferation.gmt")
kegmt2 <- read.gmt("regulation of angiogenesis.gmt") # 替换为你的第2个gmt文件
kegmt3 <- read.gmt("Epithelial_cell_proliferation.gmt") # 替换为你的第3个gmt文件
kegmt4 <- read.gmt("epithelial cell migration.gmt") # 替换为你的第4个gmt文件
kegmt5 <- read.gmt("endothelial cell proliferation.gmt") # 替换为你的第5个gmt文件

# 合并所有基因集
all_kegmt <- rbind(kegmt1, kegmt2, kegmt3, kegmt4, kegmt5)

# 对合并后的基因集进行GSEA分析
KEGG <- GSEA(geneList2, TERM2GENE = all_kegmt, minGSSize = 1, maxGSSize = 500, pvalueCutoff = 1)

# 选择你想要展示的5个通路的索引
# 假设我们要显示结果中的前5个通路
pathway_indices <- 1:5
# 或者指定特定的通路名称
# pathway_names <- c("Pathway1", "Pathway2", "Pathway3", "Pathway4", "Pathway5")
# pathway_indices <- match(pathway_names, KEGG@result$ID)

# 定义5种不同的颜色
colors <- c("#b2446b", "#4a7da8", "#69263D", "#9D395A", "#325470")

# 在一张图上绘制5个通路
gsea_plot <- gseaplot2(KEGG, 
                       geneSetID = pathway_indices, 
                       color = colors,
                       base_size = 30,
                       pvalue_table = TRUE,
                       rel_heights = c(1.5, 0.5, 1))
gsea_plot

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容