I'm using a command line that should work fine, that worked fine all yesterday, and today it intermittently works.
> ensembl = useEnsembl(biomart='ensembl', dataset="rnorvegicus_gene_ensembl", mirror = 'uswest')
> sequences <- getBM(attributes=c('ensembl_transcript_id', 'external_gene_name', 'ensembl_gene_id', 'ensembl_exon_id', 'rank', 'gene_exon'), filters = 'ensembl_transcript_id', values = new_transcripts, mart = ensembl)
> dim(sequences)
[1] 5699 6
> sequences <- getBM(attributes=c('ensembl_transcript_id', 'external_gene_name', 'ensembl_gene_id', 'ensembl_exon_id', 'rank', 'gene_exon'), filters = 'ensembl_transcript_id', values = new_transcripts, mart = ensembl)
> dim(sequences)
[1] 0 6
Those two getBM calls happened on after the other, with no changes at all in between. (Edit: Also, that 5699 result is only about half the results I should be getting) Is anyone else experiencing this?
Another test, these two command lines entered right after each other
> dim(test_sequences <- getBM(attributes=c('ensembl_transcript_id', 'external_gene_name', 'ensembl_gene_id', 'ensembl_exon_id', 'rank', 'gene_exon'), filters = 'ensembl_transcript_id', values = "ENSRNOT00000011731", mart = ensembl))
[1] 1 6
> dim(test_sequences <- getBM(attributes=c('ensembl_transcript_id', 'external_gene_name', 'ensembl_gene_id', 'ensembl_exon_id', 'rank', 'gene_exon'), filters = 'ensembl_transcript_id', values = "ENSRNOT00000011731", mart = ensembl))
[1] 0 6
SessionInfo
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /.automount/apps/illumina_tools/conda_test_env/lib/R/lib/libRblas.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] biomaRt_2.38.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.1 AnnotationDbi_1.44.0 magrittr_1.5
[4] BiocGenerics_0.28.0 hms_0.4.2 progress_1.2.0
[7] IRanges_2.16.0 bit_1.1-14 R6_2.4.0
[10] rlang_0.4.0 httr_1.4.0 stringr_1.4.0
[13] blob_1.1.1 tools_3.5.1 parallel_3.5.1
[16] Biobase_2.42.0 DBI_1.0.0 bit64_0.9-7
[19] digest_0.6.18 assertthat_0.2.1 crayon_1.3.4
[22] S4Vectors_0.20.1 bitops_1.0-6 curl_3.3
[25] RCurl_1.95-4.12 memoise_1.1.0 RSQLite_2.1.1
[28] stringi_1.4.3 compiler_3.5.1 prettyunits_1.0.2
[31] stats4_3.5.1 XML_3.98-1.19 pkgconfig_2.0.2
Can you update to include
sessionInfo()
so we can see the biomaRt version you're using. Normally when biomaRt fails to talk to Ensembl correctly you get an error rather than an empty result, so this may be something I haven't seen before.Also, might be worth seeing if the same happens when using a different mirror.
I added the mirror because it was what another older post recommended trying. Before that, I had no mirror, but
version = 97
I can confirm I'm seeing the same behaviour across several mirrors. This is going to be fun to diagnose!
So is it just the rat database that's not working right?
I just tested rat with the same
useEnsembl()
code you provided, but different mirror arguments. I think it can't be universal because there are normally a ton of questions in short order if Ensembl / biomRt stops working entirely. I'll look more closely tomorrow.