This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Error using parasiteMart

I would like to run a WormBaseParasite Biomart in R https://parasite.wormbase.org/biomart/martview/d0d9a510b4b2a07b52f24615ad26107f I got an xml and tried to run in R but errors keep coming up

> library(biomaRt)
> listMarts(host = "parasite.wormbase.org")
Error in `[.data.frame`(marts, , c("biomart", "version")) : 
  undefined columns selected
> wormbase <- useMart(biomart = "parasite_mart", 
+                     host = "https://parasite.wormbase.org", 
+                     port = 443)
Error in .useMart(biomart, dataset, host = host, path = path, port = port,  : 
  Incorrect BioMart name, use the listMarts function to see which BioMart databases are available

And I realise such error appear in the Biocoductor manual too "Using a BioMart other than Ensembl" https://www.bioconductor.org/packages/devel/bioc/vignettes/biomaRt/inst/doc/accessing_other_marts.html Could someone pls help as the website of wormbaseparasite biomart is never working when I try to export the result.

wormbaseparasite ensembl parasite_mart wormbase biomart

2 answers

This worked for me:

> library(biomaRt)
> listMarts(host = "parasite.wormbase.org")
        biomart      version
1 parasite_mart WBPS 19 Mart
> useMart(biomart = "parasite_mart", host = "parasite.wormbase.org")
> sessionInfo()
R version 4.3.0 (2023-04-21 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22631)

Matrix products: default


locale:
[1] LC_COLLATE=English_United Kingdom.utf8  LC_CTYPE=English_United Kingdom.utf8    LC_MONETARY=English_United Kingdom.utf8 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.utf8    

time zone: Europe/London
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] biomaRt_2.56.1

loaded via a namespace (and not attached):
 [1] rappdirs_0.3.3          utf8_1.2.4              generics_0.1.3          bitops_1.0-7            xml2_1.3.5              RSQLite_2.3.7           stringi_1.7.12         
 [8] hms_1.1.3               digest_0.6.33           magrittr_2.0.3          fastmap_1.1.1           blob_1.2.4              progress_1.2.2          AnnotationDbi_1.62.2   
[15] GenomeInfoDb_1.36.2     DBI_1.2.1               BiocManager_1.30.22     httr_1.4.7              purrr_1.0.2             fansi_1.0.6             XML_3.99-0.14          
[22] Biostrings_2.68.1       cli_3.6.1               rlang_1.1.1             crayon_1.5.2            dbplyr_2.5.0            XVector_0.40.0          Biobase_2.60.0         
[29] bit64_4.0.5             cachem_1.0.8            tools_4.3.0             memoise_2.0.1           dplyr_1.1.2             GenomeInfoDbData_1.2.10 filelock_1.0.3         
[36] BiocGenerics_0.46.0     curl_5.2.0              vctrs_0.6.5             R6_2.5.1                png_0.1-8               stats4_4.3.0            lifecycle_1.0.4        
[43] BiocFileCache_2.8.0     zlibbioc_1.46.0         KEGGREST_1.40.1         stringr_1.5.0           S4Vectors_0.38.1        IRanges_2.34.1          bit_4.0.5              
[50] pkgconfig_2.0.3         pillar_1.9.0            glue_1.7.0              tibble_3.2.1            tidyselect_1.2.1        compiler_4.3.0          prettyunits_1.1.1      
[57] RCurl_1.98-1.12

my R is most updated version 4.4.0 and I'm using windows PC too, not sure why it doesn't work for me.

>listMarts(host = "parasite.wormbase.org")
Error in `[.data.frame`(marts, , c("biomart", "version")) : 
  undefined columns selected

even I tried

>listMarts(host = "parasite.wormbase.org")
biomart      version
1 parasite_mart WBPS 19 Mart

it shows the same error.

It worked when I used R 4.3.1, thanks!

Thanks for reporting this. There was an issue in more recent versions of biomaRt where it failed to parse the list of available datasets advertised by the WormBase ParaSite Mart.

This has now been updated in biomaRt v2.60.1 and should update on Bioconductor in a few days. The vignette will then also update to reflect the fixes.

Log in to answer this question.