hello everyone,
I came across a problem when I did GO analysis on differentially expressed genes derived from microarray using clusterProfiler . I gave a list of DEGs but failed to map any gene with the enrichGO() function.
I used the following script to do the analysis:
“
data(geneList)
gene <- names(geneList)
gene
head(gene)
str(gene)
ego <- enrichGO(gene = gene,
universe = names(geneList),
OrgDb = org.Mm.eg.db,
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.1,
minGSSize = 3,
maxGSSize = 500
)
head(ego)
head(summary(ego))
“
Unfortunately, an error message was returned saying
“
--> No gene can be mapped....
--> Expected input gene ID: 442829,71950,100041897,71711,11535,19264
--> return NULL...
> head(ego)
“
I obtained the data as input of enrichGO() from differentially expressed genes of microarray data using limma.
However, I got the GO enrichment result with “PANTHER” an online GO analysis tool.
I even loaded the entrez gene id from a txt file (as shown in attachment) but got the same error. The code to load the data was “genes <- read.csv("genes.txt", header = FALSE)“.
Could anyone help solve this problem?
Thanks in advance!
Hi,
It looks like there might be some issues with your input, but it is not possible to offer a solution without knowing the content of your geneList object.
In addition with the code you show the same content [names(geneList)] is given to argument 'gene' and argument 'universe' in the enrichGO function call. I believe you instead should have all genes on the array as 'universe' and the differentially expressed genes as 'gene'.
parts of the gene and universe as input are listed as followed:
Then I run the following script but got the same error:
Is it due to the NA given to the universe? Thanks!
Hello,
I would bet that your problem is related to the coding of your gene Id's. Are they coded in Entrez ID? If not, try to map your IDs to Entrez ID and repeat your analysis. You could use bitr() to do that or externally through DAVID.
I have checked the coding of gene IDs and they were in Entrez ID.
I used bitr() function to transform gene IDs and it worked well.
"
gene.df <- bitr(gene, fromType = "ENTREZID",
toType = c("ENSEMBL", "SYMBOL"),
OrgDb = org.Mm.eg.db)
head(gene.df)
"
##