I'm trying to get the "hsapiens_gene_ensembl" dataset from the "ENSEMBL_MART_ENSEMBL" mart.
Using both of these functions:
human <- useMart( "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl", host = "www.ensembl.org" ) human <- useDataset( "hsapiens_gene_ensembl", mart = useMart( "ensembl" ) )
I sometimes get the following error message:
Error in checkDataset(dataset = dataset, mart = mart) : The given dataset: hsapiens_gene_ensembl , is not valid. Correct dataset names can be obtained with the listDatasets() function.
If I run the same line calling useMart or useDataset, several times it eventually works. Apparently, inside the checkDataset() function, listDatasets()$dataset returns a set of 50 datasets: sometimes hsapiens_gene_ensembl is one of them (and the call to useMart works), and sometimes not (and I get the error message).
Sesion Info:
R version 3.4.3 (2017-11-30) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 16.04.3 LTS Matrix products: default BLAS: /usr/lib/libblas/libblas.so.3.6.0 LAPACK: /usr/lib/lapack/liblapack.so.3.6.0 locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=es_ES.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=es_ES.UTF-8 [6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=es_ES.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets methods base other attached packages: [1] GSEABase_1.40.1 graph_1.56.0 annotate_1.56.1 [4] XML_3.98-1.9 TFEA.ChIP_0.99.7 org.Hs.eg.db_3.5.0 [7] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2 GenomicFeatures_1.30.0 AnnotationDbi_1.40.0 [10] Biobase_2.38.0 GenomicRanges_1.30.0 GenomeInfoDb_1.14.0 [13] IRanges_2.12.0 S4Vectors_0.16.0 BiocGenerics_0.24.0 [16] dplyr_0.7.4 biomaRt_2.34.0 loaded via a namespace (and not attached): [1] SummarizedExperiment_1.8.0 progress_1.1.2 lattice_0.20-35 yaml_2.1.15 rtracklayer_1.38.2 [6] blob_1.1.0 rlang_0.1.4 glue_1.2.0 DBI_0.7 BiocParallel_1.12.0 [11] bit64_0.9-7 bindrcpp_0.2 matrixStats_0.52.2 GenomeInfoDbData_0.99.1 bindr_0.1 [16] stringr_1.2.0 zlibbioc_1.24.0 Biostrings_2.46.0 memoise_1.1.0 knitr_1.17 [21] RUnit_0.4.31 Rcpp_0.12.14 xtable_1.8-2 DelayedArray_0.4.1 XVector_0.18.0 [26] bit_1.1-12 Rsamtools_1.30.0 RMySQL_0.10.13 digest_0.6.12 stringi_1.1.6 [31] grid_3.4.3 tools_3.4.3 bitops_1.0-6 magrittr_1.5 RCurl_1.95-4.8 [36] tibble_1.3.4 RSQLite_2.0 pkgconfig_2.0.1 Matrix_1.2-11 prettyunits_1.0.2 [41] assertthat_0.2.0 R6_2.2.2 GenomicAlignments_1.14.1 compiler_3.4.3
It works perfectly now, thank you!
Please, was the code updated in both Bioconductor release and devel ?
Yes, the necessary changes have been made to both the release and devel version. It take a little while for changes to propagate into the download, but it looks like they're there now. If you're using the release branch then you need biomaRt version 2.34.1 or greater.
FYI
> library(biomaRt)
Error: package or namespace load failed for ‘biomaRt’ in get0(".packageName", env, inherits = FALSE):
lazy-load database '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/biomaRt/R/biomaRt.rdb' is corrupt