We host a BioMart server at phytozome.jgi.doe.gov/ A user is having trouble accessing data using biomaRt. I have not used biomaRt much so I cannot answer this question for them.
p = useMart('phytozome_mart',dataset='phytozome',host='phytozome.jgi.doe.gov')
One issue I'm aware of is that we need to use https (this is a requirement by our infrastructure providers) and we need to inform users that they will need to set the global option
options(RCurlOptions=list(followlocation=TRUE))
Is there a way to specify using https in the useMart command? Preceding the hostname with the protocol appears not to work. Or, is there a more direct way for biomaRt to follow 'page moved' responses?
But attempting to retrieve results results in a 'line 1 did not have 3 elements' message and the verbose output shows that it only returns a generic html help page on how to conduct a query
getBM(attributes=c("gene_name1", "transcript_name1", "coding"), filters = "organism_id", values ="314", mart=p,verbose=TRUE) Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : line 1 did not have 3 elements
Is there a problem in how our BioMart is configured or in how the query is formulated? I can see from the web server logs that the GET request is hitting the server, but as far as I can see, there are no supplied parameters in the request. My assumption is that when the second request is issued, the parameters have been stripped off.
Thanks
> sessionInfo() R version 3.0.1 (2013-05-16) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] biomaRt_2.18.0 loaded via a namespace (and not attached): [1] RCurl_1.95-4.7 XML_3.98-1.3 bitops_1.0-6