1.加载包
library(Seurat)
library(tidyverse)
library(patchwork)
library(clusterProfiler)
library(org.Hs.eg.db) #人源
library(org.Mm.eg.db) #鼠源
library(ggplot2) #画图
2. GO分析
DEGs <- read.csv("NK_T_cell/NK_T_top50.csv")
DEGs <- DEGs$gene #导入gene list
#ID转换
DEGs_entrez_id <- mapIds(x=org.Hs.eg.db,column = "ENTREZID",keys = as.character(DEGs),keytype = "SYMBOL")
#设置readable = TRUE,便可以得到转化为了gene symbol的结果
egoBP <- enrichGO(DEGs_entrez_id, OrgDb=org.Hs.eg.db, ont='BP',
pAdjustMethod='BH', pvalueCutoff=0.05,
qvalueCutoff=0.2, keyType='ENTREZID',readable = TRUE)
#保存富集结果
write.csv(egoBP@result,file = 'DEGs_BP.CSV')
#可视化
dotplot(egoBP,title='Biological process of DEGs',showCategory=20) +scale_y_discrete(labels=function(enrich_go_BP) stringr::str_wrap(enrich_go_BP, width=60))
注:1)MF和CC方法同BP,将BP改为MF,CC即可。
2)可视化中,showCategory为显示的item数,scale_y_discrete则调节label过长的情况,让图片看起来
更美观。
3)检查结果,可见geneID展示为gene symbol。
3. KEGG分析
eKEGG <- enrichKEGG(DEGs_entrez_id,organism = 'hsa',keyType = 'kegg',pvalueCutoff = 0.05)
#将ENTREZID转化为可读的gene symbol
eKEGG <- setReadable(eKEGG, OrgDb = org.Hs.eg.db, keyType="ENTREZID")
#保存富集结果
write.csv(eKEGG@result,file = 'DEGs_KEGG.CSV')
#可视化
dotplot(eKEGG,title='KEGG pathway of DEGs', showCategory=20)
4. 总结
(1)在enrichGO函数中,设置readable = TRUE;
(2)用setReadable函数,对GO或者KEGG结果进行转化即可。