I am using the biomaRt package in R to retrieve chromosomal locations of genes. I would like to use an archived version of ensemble to do so.
According to the biomaRt manual, one should
(1) Ask for available Ensembl archives
listMarts(archive = TRUE)
(2) Load the required version (in this case Ensembl 51 mouse genes)
useMart("ensembl_mart_51", dataset="mmusculus_gene_ensembl", archive=T)
When I run the last command, I get the following error:
"Error in read.table(con, sep = "\t", header = FALSE, quote = "", comment.char = "", : no lines available in input"
What is going wrong? How can I fix this?
1 answer
I suspect the issue here is that even though the command:
listMarts(archive = TRUE)
tells you that the archive Ensembl 51 is available, it is in fact not available, at least via biomaRt.
If you visit this page, you will see that the oldest available archive is Ensembl 54, from May 2009. In addition, the Ensembl blog states that versions 50-52 have been retired.
The help page for ?useMart says:
A better alternative is to leave archive = FALSE and to specify the url of the archived BioMart you want to access see vignette for an example
So for Ensembl 54:
listMarts(host="may2009.archive.ensembl.org")
You will note that using the host for the Ensembl 51 archive also fails:
listMarts(host="nov2008.archive.ensembl.org")
# Error: XML content does not seem to be XML, nor to identify a file name ''
Older data are available via the FTP site.
Log in to answer this question.