Closed olkap closed 6 years ago
Such namespace conflicts are a general problem in R
.
The demonstrated instance of AnnotationDbi::select
clashing with dplyr::select
is well reported:
https://support.bioconductor.org/p/101902/
https://stackoverflow.com/questions/24202120/dplyrselect-function-clashes-with-massselect
(this time clashing with MASS::select
)
and in this case again a problem within the pathview
package as it does not explicitly define in its code which select
is uses via the fully qualified name AnnotationDbi::select
:
https://www.biostars.org/p/242157/
As long as the pathview
maintainer does not change the code you have the following two options to work around that:
dplyr
when carrying out the analysis.conflicted
package which has been developed exactly for detecting such namespace conflicts:https://github.com/r-lib/conflicted
Following this approach you would need to define for your working session which select
you want to use via:
library("EnrichmentBrowser")
library("ALL")
library("hgu95av2.db")
library("dplyr")
...
select <- AnnotationDbi::select
# call ebrowser
ebrowser(...
Note further:
perm=0
when meth="ora"
invokes the typical (and much faster) over-representation analysis based on the hypergeometric distributioncomb=TRUE
is only effective when providing more than one enrichment method, eg meth=c("ora", "gsea")
- otherwise this is ignored as there is nothing to combine if just a single method is carried out.
Hi, The function ebrowser does not work correctly, when a dplyr library is loaded. The code below works correctly when a dplyr library is not loaded, and it gives an error when the dplyr is loaded. I know that I can reload my R session and load only the minimal number of packages before running the ebrowser, but it is not an elegant solution.
The messages that appear after running ebrowser:
sessionInfo():