Question: Error message: "Request to BioMart web service failed."
0
gravatar for ktd2918
3 months ago by
ktd29180
ktd29180 wrote:

When running the "listMarts()" command in R I have received 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"

I have tried the proxy suggestions online and the website is working when accessed through my browser. Are there any reasons why it may not run in R?

The session info output is:

sessionInfo() R version 3.5.3 Patched (2019-03-11 r76519) Platform: x86_64-apple-darwin15.6.0 (64-bit) Running under: macOS Mojave 10.14.2

Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale: [1] enGB.UTF-8/enGB.UTF-8/enGB.UTF-8/C/enGB.UTF-8/en_GB.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] biomaRt2.38.0 proxysnps0.0.1 MendelianRandomization0.4.1 MRInstruments0.3.2
[5] TwoSampleMR0.4.22 usethis1.5.0 devtools_2.0.2

loaded via a namespace (and not attached): [1] Biobase2.42.0 httr1.4.0 pkgload1.0.2 tidyr0.8.3 bit640.9-7
[6] jsonlite
1.6 viridisLite0.3.0 assertthat0.2.1 BiocManager1.30.4 stats43.5.3
[11] arrangements1.1.5 blob1.1.1 progress1.2.2 robustbase0.93-5 remotes2.0.4
[16] sessioninfo
1.1.1 pillar1.4.1 RSQLite2.1.1 backports1.1.4 lattice0.20-38
[21] glue1.3.1 digest0.6.19 iterpc0.4.1 colorspace1.4-1 htmltools0.3.6
[26] Matrix
1.2-17 plyr1.8.4 XML3.98-1.20 pkgconfig2.0.2 purrr0.3.2
[31] scales1.0.0 processx3.3.1 tibble2.1.3 gmp0.5-13.5 IRanges2.16.0
[36] ggplot2
3.1.1 withr2.1.2 BiocGenerics0.28.0 lazyeval0.2.2 cli1.1.0
[41] magrittr1.5 crayon1.3.4 memoise1.1.0 evaluate0.14 ps1.3.0
[46] fs
1.3.1 pkgbuild1.0.3 tools3.5.3 data.table1.12.2 prettyunits1.0.2
[51] hms0.4.2 stringr1.4.0 S4Vectors0.20.1 plotly4.9.0 munsell0.5.0
[56] AnnotationDbi
1.44.0 callr3.2.0 compiler3.5.3 rlang0.3.4 grid3.5.3
[61] RCurl1.95-4.12 rstudioapi0.10 rjson0.2.20 htmlwidgets1.3 bitops1.0-6
[66] labeling
0.3 rmarkdown1.13 gtable0.3.0 DBI1.0.0 curl3.3
[71] R62.4.0 knitr1.23 dplyr0.8.1 bit1.1-14 rprojroot1.3-2
[76] desc
1.2.0 stringi1.4.3 parallel3.5.3 Rcpp1.0.1 DEoptimR1.0-8
[81] tidyselect0.2.5 xfun0.7

ADD COMMENTlink modified 3 months ago by Mike Smith4.0k • written 3 months ago by ktd29180

Do either of these commands work for you?

 httr::content(httr::GET("http://www.ensembl.org:80/biomart/martservice?type=registry"))
 httr::content(httr::GET("https://www.ensembl.org:443/biomart/martservice?type=registry"))

You should get back a character string that starts with "\n<MartRegistry>\n

ADD REPLYlink written 3 months ago by Mike Smith4.0k

The first doesn't work but the second command gives the following output:

[1] "\n<martregistry>\n <marturllocation database="\"ensembl_mart_96\"" default="\"1\"" displayname="\"Ensembl" genes="" 96\"="" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_ENSEMBL\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"1\""/>\n <marturllocation database="\"mouse_mart_96\"" default="\"\"" displayname="\"Mouse" strains="" 96\"="" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_MOUSE\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"1\""/>\n <marturllocation database="\"sequence_mart_96\"" default="\"\"" displayname="\"Sequence\"" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_SEQUENCE\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"\""/>\n <marturllocation database="\"ontology_mart_96\"" default="\"\"" displayname="\"Ontology\"" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_ONTOLOGY\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"\""/>\n <marturllocation database="\"genomic_features_mart_96\"" default="\"\"" displayname="\"Genomic" features="" 96\"="" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_GENOMIC\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"\""/>\n <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\""/>\n <marturllocation database="\"regulation_mart_96\"" default="\"\"" displayname="\"Ensembl" regulation="" 96\"="" host="\"www.ensembl.org\"" includedatasets="\"\"" martuser="\"\"" name="\"ENSEMBL_MART_FUNCGEN\"" path="\"/biomart/martservice\"" port="\"80\"" servervirtualschema="\"default\"" visible="\"1\""/>\n</martregistry>\n"

After running it the listMarts() command still yields the original error message though.

ADD REPLYlink written 3 months ago by ktd29180
Answer: Error message: "Request to BioMart web service failed."
0
gravatar for Mike Smith
3 months ago by
Mike Smith4.0k
EMBL Heidelberg / de.NBI
Mike Smith4.0k wrote:

It looks like that regular HTP traffic on port 80 isn't working for you for some reason. Since the second command works you can try those parameter when you setup the mart, something like:

mart <- useMart(host = "https://www.ensembl.org", 
                biomart = "ensembl", 
                dataset = "hsapiens_gene_ensembl",
                port = 443)

You might need to change the dataset if you aren't querying human genes, that's just a guess since you didn't provide the details.

ADD COMMENTlink written 3 months ago by Mike Smith4.0k

Thank you for the suggestion. I unfortunately still get the same error message when trying that:

"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: https://www.ensembl.org:443/biomart/martservice?type=registry&requestid=biomaRt Error in if (!grepl(x = registry, pattern = "^\n<martregistry>")) { : argument is of length zero"*

Do you think it could be something to do with my R package?

ADD REPLYlink written 3 months ago by ktd29180
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 250 users visited in the last hour