ID转换、利用clusterProfiler做GO、KEGG富集分析

首先需要加载的包

library(AnnotationHub)  
library(org.Hs.eg.db)   
library(clusterProfiler)
library(DOSE)   #GO分面用
library(ggplot2)  #加大泡泡图圈圈

需要准备的文件

  • 包含gene列表的txt或csv文件,如“genelist.txt
  • 格式为ENSEMBL

一、读取表格

f <- read.table("genelist.txt")    # genelist.txt内容ENSEMBL格式
f <- f[c(1)] 

二、ID转换

EG2Ensembl=toTable(org.Hs.egENSEMBL)      
f=f$V1  
geneLists=data.frame(ensembl_id=f)
results=merge(geneLists,EG2Ensembl,by='ensembl_id',all.x=T)
id=na.omit(results$gene_id)

三、富集分析

(1)GO富集分析(MF、BP、CC)
  • 分析
#包含MF、BP和CC的GO分析
All <- enrichGO(OrgDb="org.Hs.eg.db", gene = id, ont = "ALL",  readable= TRUE) 
#GO-MF富集分析
MF <- enrichGO(OrgDb="org.Hs.eg.db", gene = id, ont = "MF",  readable= TRUE) 
#GO-BP富集分析
BP <- enrichGO(OrgDb="org.Hs.eg.db", gene = id, ont = "BP",  readable= TRUE) 
#GO-CC富集分析
CC <- enrichGO(OrgDb="org.Hs.eg.db", gene = id, ont = "CC",  readable= TRUE) 

  • 作图
#泡泡图,显示前10项,标题为“Enrichment GO Top10”
dotplot(All,showCategory=10,title="Enrichment GO Top10") 
#柱状图,显示前20项,标题为“Enrichment GO Top10”
barplot(All, showCategory=20,title="EnrichmentGO")  

# BP,MF,CC分别显示(要加载DOSE包)
barplot(All, split="ONTOLOGY")+ facet_grid(ONTOLOGY~.,scale="free")
dotplot(All, split="ONTOLOGY")+ facet_grid(ONTOLOGY~.,scale="free")

(2) KEGG分析
KEGG <- enrichKEGG(gene= id, organism  = 'hsa', pvalueCutoff = 0.05)     #KEGG富集分析
barplot(KEGG,font.size=8)   # 柱状图,字体大小8
dotplot(KEGG,font.size=8)   # 气泡图,字体大小8
dotplot(KEGG,showCategory=10,title="Enrichment KEGG Top10") #泡泡图
browseKEGG(KEGG,'mmu01100') # 显示通路图

(3) 个性定制
 #字体大小,显示项数,标题,泡泡大小,需加载ggplot2
dotplot(KEGG, font.size=8, showCategory=10, title="Enrichment KEGG Top10") + scale_size(rang=c(5.20))
 #文本太长超出的解决方案
library(stringr)
library(ggplot2)
barplot(All)+scale_x_discrete(labels=function(x) str_wrap(x,width=10))
dotplot(All)+scale_y_discrete(labels=function(x) stringr::str_wrap(x, width=60))
ego2 <-
cnetplot(ego2, foldChange=geneList)
cnetplot(ego2, foldChange=geneList, circular =TRUE, colorEdge =TRUE) (只显示5项,如加项可输入showCategory=10等)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夏令营发回的照片,孩子们都很开心,儿子是组里最小,也是最好动的一位...看到孩子在组里开心的样子,真好! 昨天晚上...
    里娃阅读 1,756评论 0 0
  • 盼星星,盼月亮,终于看到了我们期待的运动会。 老师已到,,我们就每人发了一顶大红色的帽子。就开始练起了踏步,朱美佳...
    金奕彤阅读 1,162评论 0 0
  • 算法与认知4丨如何犯一个正确的错误? ① 除法里的得数,叫“商”,商量着来,碰出来的一个东西,是双向选择的结果: ...
    Shopgirl阅读 4,355评论 0 1
  • 今年给自己找了许多事做,考试,学习,看书,兼职,一时间感觉自己突然变得忙碌起来,哪样都想兼顾,都想出成绩,可总有时...
    海绵喵阅读 1,310评论 0 0

友情链接更多精彩内容