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?
I have been getting the same error using ~60k ensembl gene ids today as well. Using human ids instead of mouse.