clusterProfiler包做GO分析
1、載入需要的包
library(DOSE)
library(GO.db)
library(org.Hs.eg.db)
library(topGO)
library(GSEABase)
library(clusterProfiler)
2、導入數據
gene<-read.csv("./data.csv",header = F)
head(gene)
V1
1 ABCA4
2 ABCA6
3 ABCC9
4 ABR
5 ACSL6
6 ADAM6
我這裡的數據其實就是一列基因名,是通過其它分析挑選出來的幾百個基因,想要看看這些基因是否能夠富集到某些特殊的通路
3、ID轉化
做GO分析是不能直接用基因名的,必須得先轉化成entre id
symbol=as.character(gene[,1])
eg = bitr(symbol, fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Hs.eg.db")
id = as.character(eg[,2])
head(id)
[1] "24" "23460" "10060" "29" "23305" "8755"
也可以這樣,同時轉換成兩種:
ids <- bitr(symbol, fromType="SYMBOL", toType=c("UNIPROT", "ENSEMBL"), OrgDb="org.Hs.eg.db")
head(id)
SYMBOL UNIPROT ENSEMBL
1 ABCA4 P78363 ENSG00000198691
2 ABCA4 Q6AI28 ENSG00000198691
3 ABCA6 Q8N139 ENSG00000154262
4 ABCC9 A0A024RAV7 ENSG00000069431
5 ABCC9 O60706 ENSG00000069431
6 ABR B7Z2X0 ENSG00000159842
或者轉化KEGG的id
eg2np <- bitr_kegg(symbol, fromType=kegg, toType=ncbi-proteinid, organism=hsa)
bitr_kegg("Z5100", fromType="kegg", toType=ncbi-geneid, organism=ece)
bitr_kegg("Z5100", fromType="kegg", toType=uniprot, organism=ece)
4、GO分析
這裡做了BP(生物學過程)和MF(分子功能)分析
ego <- enrichGO(gene = id,
OrgDb = org.Hs.eg.db,
ont = "MF",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE)
做BP則改為ont="BP"即可
分析的結果大概是這樣子的: