I'm trying to give it a look at the phytozome database in biomart, but just as I want to explore a list of known loci, the program returns an error message related to biomaRt webservice. I have tried changing the Mart from phytozome to ensembl, and seems to be related to that. However, I don't see how that connects to the error given, do you have any hints to helping fix this?
This is my code:
library(biomaRt)
mart <- useMart(biomart = "phytozome_mart", dataset = "phytozome", host = "phytozome.jgi.doe.gov")
getBM(attributes = c("organism_name", "gene_name1"), filters = "gene_name_filter", values = "g400", mart = mart)
getBM(attributes = "organism_name", mart = mart)
Which returns error message:
NULL Error in .processResults(postRes, mart = mart, sep = sep, fullXmlQuery = fullXmlQuery, : The query to the BioMart webservice returned an invalid result. The number of columns in the result table does not equal the number of attributes in the query. Please report this on the support site at http://support.bioconductor.org
However, as mentoned above, I don't get this error if I try a similar approach with other databases, e.g. using Ensembl with pig data:
mart <- useMart(biomart = "ensembl", dataset = "sscrofa_gene_ensembl")
getBM(attributes = c("ensembl_gene_id"), mart = mart) %>% head
Should I really contact biomaRt support for this issue? Thank you
I would indeed post this over at the Bioc support forum because there you will get an answer from the maintainers.
I got a different error:
I'm using biomaRt_2.40.5
Make sure you're using the latest version (2.44)
I just updated to biomaRt 2.44, but the same error remains. Wonder why that different errors
The two error messages are caused by the same issue, but the wording was changed somewhere between version 2.40 and 2.44.
A generic "Error in
scan()..
" is less helpful to diagnose an issue than a message saying the problem is the number of columns in the result table, but really they're the same.That said, the old error message mentions wanting 3 items, but you're only asking for 2 attributes to be returned. This makes me think there really is something weird going on with the table returned by the server. Sometimes values with spaces or special characters aren't handled correctly. Getting an error here is normally out of the control of the user, hence the request to report it. I'll take a look & report back.
Are you able to list the contents:
Yes, I get the same output
I get the same error as @Asaf so I assume the next command must have an error in it.After upgrading R (4.0.1)/BioMart(2.45) I get a new error.