Hi all,
I am very confusing about the parameter "organism" in the clusterProfilter. My organism is the Drosophila melanogaster (fruit fly) and I have checked that the ID I used are belong to D.melanogaster. But I got the error report "No gene can be mapped...." when "organism" is "dme". And it is very strange that when I changed the organism to "hsa", it works well.
head(gene)
[1] "33157" "3772540" "33202" "33374" "53544" "33396"
kk <- enrichKEGG(gene = gene, organism = "dme")
No gene can be mapped....
--> return NULL...
kk <- enrichKEGG(gene = gene, organism = "hsa")
summary(kk)
2 answers
If using the gene IDs you provided, it should not works for hsa as these gene IDs are not belong to human.
> g
[1] "33157" "3772540" "33202" "33374" "53544" "33396"
> select(org.Hs.eg.db, keys=g, keytype="ENTREZID", columns='ENTREZID')
Error in .testForValidKeys(x, keys, keytype, fks) :
None of the keys entered are valid keys for 'ENTREZID'. Please use the keys method to see a listing of valid arguments.
You can check, http://rest.kegg.jp/link/pathway/dme, that dme in KEGG database are not using entrezgene ID. This is why your input gene IDs can't be mapped to any pathway of dme.
You can specify keyType and enrichKEGG will convert the IDs for you as it was documented in online vignettes.
> g = c("33157", "3772540", "33202", "33374", "53544", "33396")
> kk = enrichKEGG(g, organism='dme', keyType='ncbi-geneid', pvalueCutoff=1, qvalueCutoff=1)
> head(kk)
ID Description GeneRatio BgRatio pvalue p.adjust qvalue
dme04142 dme04142 Lysosome 1/1 118/3171 0.03721224 0.03721224 NA
geneID Count
dme04142 33374 1
PLEASE DO READ THE VIGNETTE BEFORE POSTING QUESTION
Log in to answer this question.
You can tag
clusterProfilerto call the author Guangchuang Yu