grimbough / biomaRt

R package providing query functionality to BioMart instances like Ensembl
https://bioconductor.org/packages/biomaRt/
36 stars 15 forks source link

Recent problem with Ensembl: "object 'err_msg' not found" #59

Closed cemmeydan closed 2 years ago

cemmeydan commented 2 years ago

Hi,

Very recently biomaRt started giving an unknown error. The code below has been functional for a very long time. None of the mirrors seem to be different either. Unless the server is having an extended outage I assume it might have to do with a change in how the Ensembl servers respond to requests?

human = useMart("ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl", host = "https://asia.ensembl.org")
mouse = useMart("ENSEMBL_MART_ENSEMBL", dataset = "mmusculus_gene_ensembl", host = "https://asia.ensembl.org")
geneOrth_H2M = getLDS(attributes = c("hgnc_symbol"), mart = human, attributesL = c("mgi_symbol"), martL = mouse, uniqueRows = T)

Error in .createErrorMessage(error_code = status_code(res), host = host) : 
  object 'err_msg' not found

Traceback:

3. .createErrorMessage(error_code = status_code(res), host = host) at
 utilityFunctions.R#196
2. .submitQueryXML(host = paste0(martHost(mart), sep), query = xmlQuery) at
 biomaRt.R#799
1. getLDS(attributes = c("hgnc_symbol"), mart = human, attributesL = c("mgi_symbol"), 
    martL = mouse, uniqueRows = T)
yiolino commented 2 years ago

@cemmeydan Hi,

I also encountered the same error. Not the best solution, but I was able to get the getLDS function to work by specifying the archive host.

human <- useMart("ensembl", dataset = "hsapiens_gene_ensembl", host = "https://dec2021.archive.ensembl.org/")
mouse <- useMart("ensembl", dataset = "mmusculus_gene_ensembl", host = "https://dec2021.archive.ensembl.org/")
cemmeydan commented 2 years ago

Thank you for the workaround, it does work with the archive.

grimbough commented 2 years ago

Thanks for the suggested solutions. For simplicity I'm tracking progress on solving this with the Ensembl team in #61