gsekegg-20221101-成功

############gsekegg-20221101

suppressPackageStartupMessages({library(openxlsx) #读取.xlsx文件
library(ggplot2) #柱状图和点状图
library(stringr) #基因ID转换
library(enrichplot) #GO,KEGG,GSEA
library(clusterProfiler) #GO,KEGG,GSEA
library(GOplot) #弦图,弦表图,系统聚类图
library(DOSE)
library(ggnewscale)
library(topGO) #绘制通路网络图
library(circlize) #绘制富集分析圈图
library(ComplexHeatmap) #绘制图例
})
R.utils::setOption( "clusterProfiler.download.method",'auto' ) ##防kegg出错
setwd("/data/wanglei_lab/zhangyu/2.zy_fdy/2.TBILJN_vs_MC/tbi-20221017/6.diff/1.GSEA/gsekegg")
diff_Ast<-read.csv("/data/wanglei_lab/zhangyu/2.zy_fdy/2.TBILJN_vs_MC/tbi-20221017/6.diff/1.GSEA/diff_Ast.csv", header=TRUE,row.names= 1)  #读取数据时将基因列读作行名
head(diff_Ast)#查看前面几行
dim(diff_Ast) #14955
diff_Ast$SYMBOL = rownames(diff_Ast)  

library(clusterProfiler)
library(org.Mm.eg.db)
# 转成ENTREZID
df <- bitr(unique(diff_Ast$SYMBOL), fromType = "SYMBOL",toType = c( "ENTREZID"),OrgDb = org.Mm.eg.db) 
merged=merge(diff_Ast,df,by='SYMBOL',all=F)
head(merged)
colnames(merged)
data_all_sort <- merged %>%  arrange(desc(avg_log2FC))  #排序
GSEA_input = data_all_sort$avg_log2FC  #把foldchange按照从大到小提取出来
names(GSEA_input) <- data_all_sort$ENTREZID  #给上面提取的foldchange加上对应上ENTREZID
head(GSEA_input) #排序好的基因序列,而且是entrezeID的形式

#进行gseKEGG富集分析 
kkgsea <- gseKEGG(geneList     = GSEA_input,
               organism     = 'mmu',   #物种
               nPerm        = 10000,
               minGSSize    = 10,
               maxGSSize    = 500,
               pvalueCutoff = 1,
               pAdjustMethod = "BH" ) 
kkx_C2 <- setReadable(kkgsea, 'org.Mm.eg.db', 'ENTREZID') %>% as.data.frame()
write.csv(kkx_C2,file = 'diff_Ast.GSEA.result20221101-222.csv',quote = F,row.names = T)
save(GSEA_KEGG,file = 'GSEA_KEGG.Rdata')
#gseKEGG输入形式:将基因按照logFC进行从高到低排序,只需要基因列和logFC
#organism:物种,KEGG分析指定物种,物种缩写索引表详见http://www.genome.jp/kegg/catalog/org_list.html
#nPerm:permutation numbers 置换的次数
#minGSSize:通路最小基因数
#maxGSSize:通路最大基因数
#pvalueCutoff:最小p值
#pAdjustMethod:p值校正方法, 一般选择 "BH" 或 "fdr",BH较严格,fdr较温和(计算的q小些) .选BH
###作图

ridgeplot(GSEA_KEGG) 
gseaplot2(GSEA_KEGG,1)
gseaplot2(GSEA_KEGG,1:30)#30是根据ridgeplot中有30个富集通路得到的
heatplot() # 获取不同富集terms间的共同基因,加上表达数据也可以看上或下调方向
cnetplot() # 获取不同富集terms间的共同基因,加上表达数据也可以看上或下调方向
upsetplot() # 不同富集terms之间的共同基因
browseKEGG(kk, "hsa04934")
install.packages("pathview")
library("pathview")
pathview(gene.data  = GSEA_input,
                     pathway.id = "mmu05150", #上述结果中的hsa04750通路
                     species    = "mmu",
                     limit      = list(gene=max(abs(GSEA_input)), cpd=1),
                     kegg.native = TRUE)                   #输出的图片形式为kegg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。