This is a test version of Biostars. For the public version, visit https://www.biostars.org.
BioMart: connection fails

Hi,

running this

ensembl = useMart(biomart ="ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl", host="may2017.archive.ensembl.org")

or this:

ensembl = useMart(biomart ="ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl", host="http://dec2017.archive.ensembl.org")

used to work in the past. but now it gives the error:

Request to BioMart web service failed. Verify if you are still connected to the internet. Alternatively the BioMart web service is temporarily down. Check http://www.biomart.org and verify if this website is available. Error: XML content does not seem to be XML:

The site is up, the internet connection also. In the site it says this:

If you are a user of biomaRt (a part of the Bioconductor library) change the host from 'www.biomart.org' to 'www.ensembl.org'

But in the commands I used to run there's no 'www.biomart.org' to replace...

Do you know what is the correct command now?

I also tried:

ensembl = useMart(biomart="ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl", host="www.ensembl.org")

and didn't work

biomart

Hi, now it's not working again. With

useast.ensembl.org

uswest.ensembl.org

and even if I run:

listMarts()

get the error:

 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

Since Friday I've been trying. It doesn't seem the link they ask to follow is working, but the link suggested by Mike Smith: http://www.ensembl.org/biomart/martview?redirect=no is woking.

Besides, when using ensemblRedirect = F I get the aditional warning:

In addition: Warning message:
In useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl",  :
  The argument "ensemblRedirect" has been deprecated and will be removed in the next biomaRt release.

Should I just wait some more days or is there another way around?

R version is 3.5.1

http://www.ensembl.org:80/biomart/martservice?type=registry&requestid=biomaRt

redirects to

http://uswest.ensembl.org/biomart/martservice?type=registry&requestid=biomaRt

and generates this. So seems to be ok.

<MartRegistry>
  <MartURLLocation database="ensembl_mart_94" default="1" displayName="Ensembl Genes 94" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_ENSEMBL" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" />
  <MartURLLocation database="mouse_mart_94" default="" displayName="Mouse strains 94" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_MOUSE" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" />
  <MartURLLocation database="sequence_mart_94" default="" displayName="Sequence" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_SEQUENCE" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" />
  <MartURLLocation database="ontology_mart_94" default="" displayName="Ontology" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_ONTOLOGY" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" />
  <MartURLLocation database="genomic_features_mart_94" default="" displayName="Genomic features 94" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_GENOMIC" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" />
  <MartURLLocation database="snp_mart_94" default="" displayName="Ensembl Variation 94" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_SNP" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" />
  <MartURLLocation database="regulation_mart_94" default="" displayName="Ensembl Regulation 94" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBL_MART_FUNCGEN" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" />
</MartRegistry>

Yes, from the links seems to be working and when I was one other computer (mac) it doesn't give an error, but when I use this computer (windows) it doesn't work. Could be some problem with package version? I tried to install same package version on both without success.

If you're using the same package version then there shouldn't be any difference between which operating system you're using. However the code has change quite a bit across the last ver versions, so I would make sure you are using the latest version (2.38.0) and R 3.5.

2 answers

As Emily has said, parts of Ensembl are down right now. This includes the archive sites and the BioMart interface at the main site. You can check this just by visiting in a browser (http://www.ensembl.org/biomart/martview?redirect=no) - at the moment you get an error page.

However you can use one of the mirror sites e.g. http://uswest.ensembl.org/biomart/martview?redirect=no

To do this using the biomaRt package you would do something like:

ensembl = useMart(biomart="ENSEMBL_MART_ENSEMBL",
                  dataset="hsapiens_gene_ensembl", 
                  host="uswest.ensembl.org",
                  ensemblRedirect = FALSE)

I would also suggest updating your version of biomaRt (and maybe also R). The error message about visiting www.biomart.org is misleading and is no longer produced in more recent versions of biomaRt. You now get a more appropriate URL to try, that would have taken you to the error page at Ensembl.

thanks! had also to change the R version in order to work

Hi, now it's not working again. With

useast.ensembl.org

uswest.ensembl.org

and even if I run:

listMarts()

get the error:

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

Since Friday I've been trying. It doesn't seem the link they ask to follow is working, but the link suggested by Mike Smith: http://www.ensembl.org/biomart/martview?redirect=no is woking.

Besides, when using

ensemblRedirect = F

get the aditional warning:

In addition: Warning message:
In useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl",  :
  The argument "ensemblRedirect" has been deprecated and will be removed in the next biomaRt release.

Should I just wait some more days or is there another way around?

R version is 3.5.1

The archive sites are currently down due to disk problems. We're currently working on getting them fixed.

ok, could you then please tell how is the command to access the current version instead of the archives?

Try useast.ensembl.org or uswest.ensembl.org. It is possible that though @Emily referred to archive sites being down, even the current BioMarts could be down as well.

Archives are now back.

Log in to answer this question.