I'm trying to run use BiomaRt on a Slurm cluster. When I run the following basic command in R (3.5.1) from my home folder it works fine.
genemart = useMart(host="www.ensembl.org",
biomart = "ENSEMBL_MART_ENSEMBL",
dataset="hsapiens_gene_ensembl")
However, when I send the job to the cluster it fails with the following error message:
Request to BioMart web service failed.
The BioMart web service you're accessing may be down.
Check the following URL and see if this website is available:
http://www.ensembl.org:80/biomart/martservice?type=registry&requestid=biomaRt
Error in if (!grepl(x = registry, pattern = "^\n*<MartRegistry>")) { :
argument is of length zero
Calls: useMart -> listMarts
Execution halted
I have tried to run this from a different port (port = 443
), as suggested here, but I get the same error message.
This command is the first step in quite a big list of queries that I have so I can't just run the entire script from my home folder. I can't work out why this error is occurring as I'm loading the same version of R, and the using the same version of BiomaRt (2.38.0).
Any ideas on how to get around this would be greatly appriciated.
The package developer may respond but have you also tried
host = 'uswest.ensembl.org'
orhost = 'uswest.ensembl.org'
?Many thanks for the suggestion. I have tried it, but no joy unfortunately. Unsure why this works when I run it locally but not when sent to the cluster???