grimbough / biomaRt

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

Probelm: The number of columns in the result table does not equal the number of attributes in the query #49

Closed ytlin610 closed 2 years ago

ytlin610 commented 2 years ago

Hello, I am using the R package to retrieve the 500bp upstream sequences from the transcription start sites of a gene list.

This is the mart: mart=useMart(biomart = 'phytozome_mart_archive', host = "https://phytozome.jgi.doe.gov", port = 443, dataset = 'Creinhardtii_281')

This is the gene list: C7_gene <-c("Cre01.g001350.t1.2","Cre01.g002150.t1.2","Cre01.g002861.t1.1","Cre01.g008450.t1.2","Cre01.g009250.t1.1","Cre01.g010296.t1.1")

This is my code getting the sequence. It worked many times before but it has somehow stopped working recently:

getBM( attributes=c('transcript_name','transcript_chrom_start','transcript_flank'), filters=c('transcript_name_filter','upstream_flank'), values=list(C7_gene, Upstream=500), mart=mart, checkFilters=FALSE)

The is the error I got: 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

I've tried to simplify the task by getting the transcript_name only but it's still not working. Any help is appreciated!

grimbough commented 2 years ago

It looks like Phytozome 12 has been retired. Some things get silently forwarded to the version 13 server, but maybe not biomaRt queries. There's some more details at https://jgi.doe.gov/more-intuitive-phytozome-interface/

You can query the v13 BioMart instance by setting host = "https://phytozome-next.jgi.doe.gov/".

ytlin610 commented 2 years ago

It worked with the new host setting, thanks a lot!

grimbough commented 2 years ago

Great, glad it worked