Hi,
I'm trying to run enrichment analysis on flybase gene ids using goana and kegga from limma. However I keep getting the same error
fit <- glmFit(x, design)
lrt <- glmLRT(fit,coef=2)
kegga.de=kegga(lrt,species='Dm')
Error in kegga.default(de = DEGenes, universe = universe, ...) :
No annotated genes found in universe
I've also tried using it with my own list of de flybase gene IDs and defining my own universe using a vector of flybase IDs but the same error occurs.
"org.Dm.eg.db" is installed.
Help would be much appreciated. Thanks in advance.
My sessionInfo below
> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.9 (Final)
Matrix products: default
BLAS: /opt/Modules/R/3.4.1/lib64/R/lib/libRblas.so
LAPACK: /opt/Modules/R/3.4.1/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets
[8] methods base
other attached packages:
[1] org.Dm.eg.db_3.5.0 GO.db_3.5.0 AnnotationDbi_1.40.0
[4] IRanges_2.12.0 S4Vectors_0.16.0 Biobase_2.36.2
[7] BiocGenerics_0.24.0 edgeR_3.12.1 limma_3.26.9
loaded via a namespace (and not attached):
[1] locfit_1.5-9.1 Rcpp_0.12.13 lattice_0.20-35 digest_0.6.12
[5] grid_3.4.1 DBI_0.7 RSQLite_2.0 rlang_0.1.2
[9] blob_1.1.0 splines_3.4.1 bit64_0.9-7 bit_1.1-12
[13] compiler_3.4.1 pkgconfig_2.0.1 memoise_1.1.0 tibble_1.3.4
Thanks for your reply Gordon,
Yes, the gene IDs are stored in rowans(lrt) :
str(rownames(lrt))
chr [1:1946] "FBgn0000014" "FBgn0000015" "FBgn0000024" "FBgn0000036" ...
kegga.de=kegga(lrt,species="Dm")
Error in kegga.default(de = DEGenes, universe = universe, ...) :
No annotated genes found in universe
Also
go.de=goana(lrt,species="Dm")
Error in goana.default(de = DEGenes, universe = universe, ...) :
No genes found in universe
I've also tried storing the gene ids elsewhere but still cannot get it working. Is there something wrong with specifying flybaseIDs? If I have numeric row names and take out the species='Dm' the program assumes human entrez IDs and I get a result (albeit wrong).
Oh I see ... in the documentation it is a little confusing since I assumed that fly-base IDs mean FlyBase IDs
'The default for
kegga
withspecies="Dm"
changed fromconvert=TRUE
toconvert=FALSE
in limma 3.27.8. Users wanting to use Entrez Gene IDs for Drosophila should setconvert=TRUE
, otherwise fly-base IDs are assumed.'Yes, I agree that is confusing. I must admit that I am not very familiar with Drosophila and I was not sure what to call the FlyBase CG Ids. I will try to clarify it in the documentation.