Its my first time using BioMart. I get this error when trying to connect to the Ensembl database. My lab is using a proxy.
>Sys.setenv("http_proxy" = "http://my.proxy.org:9999")
>ensembl=useMart("ensembl")
>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
When i open the ensembl url, I get this. MartRegistry> MartURLLocation database="ensemblmart96" default="1" displayName="Ensembl Genes 96" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMARTENSEMBL" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" /> MartURLLocation database="mousemart96" default="" displayName="Mouse strains 96" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMARTMOUSE" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" /> MartURLLocation database="sequencemart96" default="" displayName="Sequence" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMARTSEQUENCE" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" /> MartURLLocation database="ontologymart96" default="" displayName="Ontology" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMARTONTOLOGY" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" /> MartURLLocation database="genomicfeaturesmart96" default="" displayName="Genomic features 96" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMARTGENOMIC" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="" /> <marturllocation database="snp_mart_96" default="" displayname="Ensembl Variation 96" host="www.ensembl.org" includedatasets="" martuser="" name="ENSEMBL_MART_SNP" path="/biomart/martservice" port="80" servervirtualschema="default" visible="1"/> MartURLLocation database="regulationmart96" default="" displayName="Ensembl Regulation 96" host="www.ensembl.org" includeDatasets="" martUser="" name="ENSEMBLMART_FUNCGEN" path="/biomart/martservice" port="80" serverVirtualSchema="default" visible="1" /> /MartRegistry>
Any advice on this?
Before we try and work out how to get biomaRt working for you, can I ask for some more information on what you're ultimately trying to do in your analysis. If you really want to download entire organism reference genomes, then biomaRt probably isn't the tool you want to use. It will take a 'long-time' to download entire genomes and there's a strong possibility the Ensembl BioMart will timeout and terminate your query before it finishes.
There's also no persistence to the results from biomaRt - you either have to run the query again next time you want to do an analysis (again taking lots of time) or write the results to a file (which you might as well just download directly from Ensembl e.g. https://www.ensembl.org/info/data/ftp/index.html )
An alternative choice would be to checkout the BSgenome packages provided through Bioconductor, which are designed to work with other Bioconductor tools. You can find them on http://bioconductor.org/packages/3.8/data/annotation/ (search for BSgenome on that page to find all the available packages).