I am trying to retrieve flanking sequences of target genes in Chlamydomonas reinhardtii from Phytozome with getBM()
. I was able to load the Phytozome database successfully with useMart
:
mart=useMart(biomart = 'phytozome_mart_archive',
host = "phytozome.jgi.doe.gov",
dataset = 'Creinhardtii_281')
I was also able to view the list of attributes and filters with listAttributes(mart)
and listFilters(mart)
, and everything looked good.
However, I kept failing to obtain the flanking sequence with getBM()
:
DE_cht7_tx <- c("Cre01.g041752.t1.1", "Cre01.g054750.t1.2", "Cre02.g089500.t1.2")
getBM( attributes=c('gene_flank','transcript_name'),
filters=c('transcript_name_filter','upstream_flank'),
values=list(DE_cht7_tx, Upstream=500),
mart=mart, checkFilters=FALSE)
Here is the error message I received:
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
Notably, the same getBM()
code worked fine if I used Ensembl Plants as the source for biomart
mart=useEnsembl(biomart = 'plants_mart',
host = "plants.ensembl.org",
dataset = 'creinhardtii_eg_gene')
The reason I prefer to use Phytozome instead of Ensembl Plants is that I would like to use the transcript name e.g. Cre02.g089500.t1.2 as the input for searching flanking sequence, and Ensembl Plants only has gene name like Cre02.g089500.
Anyone has the same issue when retrieving data from Phytozome with getBM()
?
I'll try again later, but at the moment I'm getting an error message on the Phytosome website when I try to run this query in a browser
If the sever is having problems then biomaRt won't work any better unfortunately.