I am running biomaRt version 2.35.11 and I get a scan error when I try to access the most current version of a dataset using a version number (version 91). Removing the version accesses the latest dataset, but is it possible to indicate the latest version so that running the code in the future will always access this dataset?
> mart_obj <- useEnsembl(biomart="ensembl", dataset='mmusculus_gene_ensembl', version=91) > mart_obj@host [1] "http://dec2017.archive.ensembl.org:80/biomart/martservice" > df <- getBM(attributes = c('ensembl_transcript_id', 'ensembl_gene_id', 'external_gene_name', 'chromosome_name', 'description'), + mart = mart_obj) Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 1 did not have 3 elements
It looks like http://dec2017.archive.ensembl.org redirects you to http://www.ensembl.org which I'm pretty sure was not the behaviour before the latest release - I've definitely recommended using the archive URL for the current release for exactly the reason you state.
This is annoying as I recently turned of following redirection in biomaRt so queries end up where they're requested to be sent, but this breaks your query. I'll have a look at the code and see if there's an obvious work around, but the most straight forward solution would be for Ensembl to let you use the dec2017 URL directly, rather than forcing the redirection.
Thanks a lot Mike! Not the end of the world if I just have to wait for 91 to get a true archive page, but agreed that this is pretty annoying.