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
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
listFilters(mart), and everything looked good.
However, I kept failing to obtain the flanking sequence with
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