版本R3.6.0
参考:Gene_ID转换、GO+KEGG+Reactome | ClusterProfiler+ReactomePA
转录组学习(功能富集分析)
BiocManager::install("AnnotationHub") #下载安装数据包,缺少的数据包都可以这样安装
library(AnnotationHub) #library导入需要使用的数据包
library(org.Hs.eg.db) #人类注释数据库
library(clusterProfiler)
library(dplyr)
library(ggplot2)
f <- read.table("C:\\File\\GeneEnsembl.txt") #导入数据,ENSEMBL编号。
#若是excel文件,可library(readxl) ,read_excel("old_excel.xls")
f <- f[c(1)] #取需要的列
#将ENSEMBL编号转换为ENTREZID
EG2Ensembl=toTable(org.Hs.egENSEMBL) #将ENTREZID和ENSEMBL对应的数据存入该变量
f=f$V1 #list转化为字符向量
geneLists=data.frame(ensembl_id=f)
results=merge(geneLists,EG2Ensembl,by='ensembl_id',all.x=T)
id=na.omit(results$gene_id) #提取出非NA的ENTREZID
#GO富集分析
ego <- enrichGO(OrgDb="org.Hs.eg.db", gene = id, ont = "MF", pvalueCutoff = 0.01, readable= TRUE) #GO富集分析
dotplot(ego,showCategory=10,title="Enrichment GO Top10") #泡泡图
barplot(ego, showCategory=20,title="EnrichmentGO") #柱状图
plotGOgraph(ego) #GO图,看不清楚可以尝试左上角另存为pdf
#KEGG分析#
ekk <- enrichKEGG(gene= id,organism = 'hsa', qvalueCutoff = 0.05) #KEGG富集分析
dotplot(ekk,font.size=8) # 画气泡图
browseKEGG(ekk,'mmu01100') # 显示通路图