Dears,
It makes no sense for me to have different GO enrichment results just because I changed the the type of Gene IDs. Can someone help me out by explaining the reason behind this problem?
I got different results of GO enrichement analysis with different keyTypes using clusterprofiler.
I used top 50 upregulated genes with ENSEMBL ID to show this preoblem. The organism I used was non-mode animal sheep (Ovis aries). So I created the OrgDb first. And then I used this OrgDb to do GO enrichment analysis.
library(AnnotationHub) library(clusterProfiler) hub<-AnnotationHub() query(hub, c("ovis","OrgDb")) #org.Ovis_aries.eg.sqlite seems to be our orgDb ovis<-hub[["AH66408"]] #through accession number to get the data
When I used the ENSEMBL IDs to do the GO enrichment analysis. No enrichment terms showed up.
ens.up <- c("ENSOARG00000001333", "ENSOARG00000018254", "ENSOARG00000008212", "ENSOARG00000013893","ENSOARG00000011331", "ENSOARG00000009412", "ENSOARG00000011128", "ENSOARG00000016625", "ENSOARG00000005493", "ENSOARG00000010832", "ENSOARG00000002845", "ENSOARG00000019791", "ENSOARG00000018325", "ENSOARG00000011952", "ENSOARG00000012714", "ENSOARG00000016983", "ENSOARG00000016920", "ENSOARG00000020162", "ENSOARG00000005835", "ENSOARG00000004205", "ENSOARG00000008571", "ENSOARG00000007379", "ENSOARG00000018126", "ENSOARG00000006185", "ENSOARG00000012333", "ENSOARG00000016101", "ENSOARG00000006969", "ENSOARG00000010787", "ENSOARG00000006789", "ENSOARG00000006474", "ENSOARG00000005124", "ENSOARG00000011841", "ENSOARG00000005226", "ENSOARG00000016371", "ENSOARG00000015788", "ENSOARG00000000540", "ENSOARG00000007053", "ENSOARG00000001849", "ENSOARG00000008891", "ENSOARG00000008859", "ENSOARG00000014867", "ENSOARG00000004306", "ENSOARG00000019690", "ENSOARG00000007524", "ENSOARG00000013119", "ENSOARG00000016353", "ENSOARG00000005981", "ENSOARG00000011280", "ENSOARG00000020521", "ENSOARG00000012641") ego<-enrichGO(gene = ens.up, OrgDb = ovis, ont = "ALL", keyType = "ENSEMBL", pAdjustMethod = "fdr", pvalueCutoff = 0.05, readable = TRUE) #no enriched terms #no results
Then I changed the ENSEMBL ID to ENTREZID (concerns about this: 24% genes failed to map). Then I used the ENTREZID to do the enrichment analysis. Some terms are enriched.
ens.en <- bitr(ens.up, fromType = "ENSEMBL", toType = c("ENTREZID"), OrgDb = ovis) #but 24% of input gene IDs are fail to map... ego.en<-enrichGO(gene = ens.en$ENTREZID, OrgDb = ovis, ont = "ALL", keyType = "ENTREZID", pAdjustMethod = "fdr", pvalueCutoff = 0.05, readable = TRUE) #got enrichment terms #show the results first 3 terms summary(ego.en)[1:3,1:6] ONTOLOGY ID Description GeneRatio BgRatio pvalue GO:0043604 BP GO:0043604 amide biosynthetic process 10/27 228/4322 5.241532e-07 GO:0006412 BP GO:0006412 translation 9/27 193/4322 1.366523e-06 GO:0043043 BP GO:0043043 peptide biosynthetic process 9/27 197/4322 1.624584e-06