Open pallavisurana1 opened 2 years ago
does this help?
Others have solved this problem, please use this code:
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/")
There seems to be an issue with the link dataset queries after the latest update to Ensembl version 106. I've reported this to the Ensembl help desk, hopefully there will be a fix soon.
For now using the 105 archive as suggested by @tt342400 is the best workaround solution.
I'll report back here if I hear anything more from the Ensembl team.
Thank you for your reports. We are actively looking into this issue and can confirm we are seeing the same as you. The error message doesn't make much sense to us, though. I assume this is caused by an error in the error-handling code in biomaRt, so that the original cause is masked?
Thank you for your reports. We are actively looking into this issue and can confirm we are seeing the same as you. The error message doesn't make much sense to us, though. I assume this is caused by an error in the error-handling code in biomaRt, so that the original cause is masked?
Thanks for looking into it. You're correct that the reported error message was a bug in the error handling code. Essential there was a case statement giving advice for known error messages, but I'd missed a default in the case of something unexpected. This has now been patched. The current error message now gives the HTTP response code in this situation:
Error: biomaRt has encountered an unknown server error. HTTP error code: 502
Thanks @grimbough . Creating a similar query in the biomart UI leads to an unexpected, but clearer presumed configuration error, which I'm following up with our biomart production people. I'm not 100% sure this is the same issue, but it is a genuine one and may be the cause. When we get to the bottom of that one we can see if it helps with this issue as well. I'll also do a binary search on our archives to see if these issues share the same set of biomart instances. Unfortunately, triaging based on logs is difficult (though possible) given the sheer load and the very high baseline error rate as people author and debug scripts: I'm hoping there will be an easier way through, but that's a fallback.
Thanks @ens-ds23 for the update. If it's helpful I can strip away all the R package machinery and provide the underlying XML query that can be submitted with cURL at the command line. Let me know if that's of interest to you.
Hello, thanks for providing solutions. I tried tt342400 solution: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/") however I recieved this error message Error in .getArchiveList(https, httr_config): argument "httr_config" is missing, with no default Do you know how can i fix it ? Thanks a lot, Sof'ia
@grimbough That XML query would be really useful if you could, thank you.
@grimbough That XML query would be really useful if you could, thank you.
Sure. Here's an example of XML that should do an LDS query for the mouse MGI symbol mt-Co1
and return the matching human HGNC symbol:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Query>
<Query virtualSchemaName = "default" uniqueRows = "1" count = "0" datasetConfigVersion = "0.6" header="1" formatter = "TSV" requestid= "biomaRt">
<Dataset name = "mmusculus_gene_ensembl">
<Attribute name = "mgi_symbol"/>
<Filter name = "mgi_symbol" value = "mt-Co1" />
</Dataset>
<Dataset name = "hsapiens_gene_ensembl" >
<Attribute name = "hgnc_symbol"/>
</Dataset>
</Query>
Submitting with wget gives:
wget -O /dev/stdout 'https://www.ensembl.org/biomart/martservice?query=<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Query><Query virtualSchemaName = "default" uniqueRows = "1" count = "0" datasetConfigVersion = "0.6" header="1" formatter = "TSV" requestid= "biomaRt"> <Dataset name = "mmusculus_gene_ensembl"><Attribute name = "mgi_symbol"/><Filter name = "mgi_symbol" value = "mt-Co1" /></Dataset><Dataset name = "hsapiens_gene_ensembl" ><Attribute name = "hgnc_symbol"/></Dataset></Query>'
--2022-05-09 20:41:42-- https://www.ensembl.org/biomart/martservice?query=%3C?xml%20version=%221.0%22%20encoding=%22UTF-8%22?%3E%3C!DOCTYPE%20Query%3E%3CQuery%20virtualSchemaName%20=%20%22default%22%20uniqueRows%20=%20%221%22%20count%20=%20%220%22%20datasetConfigVersion%20=%20%220.6%22%20header=%221%22%20formatter%20=%20%22TSV%22%20requestid=%20%22biomaRt%22%3E%20%3CDataset%20name%20=%20%22mmusculus_gene_ensembl%22%3E%3CAttribute%20name%20=%20%22mgi_symbol%22/%3E%3CFilter%20name%20=%20%22mgi_symbol%22%20value%20=%20%22mt-Co1%22%20/%3E%3C/Dataset%3E%3CDataset%20name%20=%20%22hsapiens_gene_ensembl%22%20%3E%3CAttribute%20name%20=%20%22hgnc_symbol%22/%3E%3C/Dataset%3E%3C/Query%3E
Resolving www.ensembl.org (www.ensembl.org)... 193.62.193.83
Connecting to www.ensembl.org (www.ensembl.org)|193.62.193.83|:443... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2022-05-09 20:41:42 ERROR 500: Internal Server Error.
Just to check the XML isn't the culprit here's the same thing submitted to the 105 archive:
wget -q -O /dev/stdout 'https://dec2021.archive.ensembl.org/biomart/martservice?query=<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Query><Query virtualSchemaName = "default" uniqueRows = "1" count = "0" datasetConfigVersion = "0.6" header="1" formatter = "TSV" requestid= "biomaRt"> <Dataset name = "mmusculus_gene_ensembl"><Attribute name = "mgi_symbol"/><Filter name = "mgi_symbol" value = "mt-Co1" /></Dataset><Dataset name = "hsapiens_gene_ensembl" ><Attribute name = "hgnc_symbol"/></Dataset></Query>'
MGI symbol HGNC symbol
mt-Co1 MT-CO1
Thanks, I can use biomart now. I'll close this issue.
Hello, @PallaviSurana How did you solve it? I still can't use it
I could not fix it too.
IF the error messages: # ERROR messages Error in .createErrorMessage(error_code = status_code(res), host = host) : object 'err_msg' not found.
Please reload : 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/"), I can use biomart now. @sofiapuvogelvittini @grimbough
Hi all. Just dropping a line as we in Ensembl have had this issue re-raised. I am sorry we haven't been able to fix this and from the thread above it's obvious this is an issue at our end and not in biomaRt. Unfortunately our engineer who commented on the ticket previously was unable to resolve the issue and left EMBL last year. It's collectively on Ensembl's radar to see if there is an obvious regression in our build or configuration of BioMart but initial tests are not yielding much success.
If we do manage to make progress we will report it back here.
As for temporary solutions, using the 105 archive is the best course of action but obviously is now quite an old archive
Hi, I have been trying to convert mouse genes to human orthologs. Please take a look at the code and error messages.
`
`
# ERROR messages Error in .createErrorMessage(error_code = status_code(res), host = host) : object 'err_msg' not found
`