Quiery to biomart returned an invalid result
1
1
Entering edit mode
Seth ▴ 10
@sethzard
Last seen 3.3 years ago

I was told to report this on here:

I've got a list of ensembl IDs that's about 40k long so was trying to use biomaRt.

My first try was

mart <- useMart("ensembl")
mart <- useDataset("mmusculus_gene_ensembl", mart)
attributes <- c("ensembl_transcript_id", "transcript_appris", "ensembl_gene_id", "start_position", "end_position")
filters <- "ensembl_gene_id"
Output <- getBM(attributes = attributes, filters = filters, values=EnsemblIDList, mart=mart)

When I ran it it returns:

Error in getBM(attributes = attributes, filters = filters, values = EnsemblIDList,  : 
The query to the BioMart webservice returned an invalid result: biomaRt expected a character string of length 1. 
Please report this on the support site at http://support.bioconductor.org

However, after seeing https://support.bioconductor.org/p/105641/ I thought that maybe the issue was it was being directed to another server so I changed it to

mart<-useMart(biomart = "ENSEMBL_MART_ENSEMBL", 
              dataset = "mmusculus_gene_ensembl", 
              host = "www.ensembl.org",
              ensemblRedirect = FALSE)
attributes <- c("ensembl_transcript_id", "transcript_appris", "ensembl_gene_id", "start_position", "end_position")
filters <- "ensembl_gene_id"
Output <- getBM(attributes = attributes, filters = filters, values=EnsemblIDList, mart=mart)

Sadly, same issue. It gets a variable length through the process then dies; highest I've seen is 41% but generally less than 10%. Does anyone know what's going wrong?

R biomaRt • 652 views
ADD COMMENT
0
Entering edit mode

I have been getting the same error using ~60k ensembl gene ids today as well. Using human ids instead of mouse.

ADD REPLY
2
Entering edit mode
Mike Smith ★ 6.5k
@mike-smith
Last seen 2 hours ago
EMBL Heidelberg

The ensemblRedirect argument has been deprecated and doesn't do anything anymore. If you're using the latest version of biomaRt there should have been a message printed saying this.

To use one of the mirror sites you can do:

mart <- useEnsembl(biomart = "ensembl", 
                   dataset = "mmusculus_gene_ensembl", 
                   mirror = "useast")

Values for the mirror argument are: useast, uswest, asia.

This problem has been arising a lot recently, and I'm in contact with Ensembl to try and find a sustainable solution.

ADD COMMENT
0
Entering edit mode

I included a previous version of my code, I have been removing that but it still didn't work. Glad to know it's not just me.

ADD REPLY

Login before adding your answer.

Traffic: 755 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6