Error in makeTxDbFromBiomart for fungi_mart
1
0
Entering edit mode
JohnTownsend ▴ 20
@johntownsend-14360
Last seen 20 months ago
Germany

Hi,

The function makeTxDbFromBiomart doesn't seem to be working when I try to access the fungi mart. I try

myTxDb <- makeTxDbFromBiomart(biomart = "fungi_mart", dataset = "spombe_eg_gene", host="fungi.ensembl.org")

and get the following error:

Download and preprocess the 'transcripts' data frame ... No encoding supplied: defaulting to UTF-8.
OK
Download and preprocess the 'splicings' data frame ... No encoding supplied: defaulting to UTF-8.
OK
Download and preprocess the 'genes' data frame ... No encoding supplied: defaulting to UTF-8.
OK
Prepare the 'metadata' data frame ... Error in function (type, msg, asError = TRUE)  :
  Server denied you to change to the given directory

Is there a work around?

Here's the sessionInfo():

R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6

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.4/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

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

other attached packages:
[1] GenomicFeatures_1.30.0 AnnotationDbi_1.40.0   Biobase_2.38.0         GenomicRanges_1.30.1  
[5] GenomeInfoDb_1.14.0    IRanges_2.12.0         S4Vectors_0.16.0       BiocGenerics_0.24.0   

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14               pillar_1.1.0               compiler_3.4.3            
 [4] XVector_0.18.0             prettyunits_1.0.2          bitops_1.0-6              
 [7] tools_3.4.3                zlibbioc_1.24.0            progress_1.1.2            
[10] biomaRt_2.34.1             digest_0.6.14              bit_1.1-12                
[13] lattice_0.20-35            RSQLite_2.0                memoise_1.1.0             
[16] tibble_1.4.1               rlang_0.1.6                Matrix_1.2-12             
[19] DelayedArray_0.4.1         DBI_0.7                    curl_3.1                  
[22] GenomeInfoDbData_1.0.0     rtracklayer_1.38.2         stringr_1.2.0             
[25] httr_1.3.1                 Biostrings_2.46.0          grid_3.4.3                
[28] bit64_0.9-7                R6_2.2.2                   XML_3.98-1.9              
[31] RMySQL_0.10.13             BiocParallel_1.12.0        blob_1.1.0                
[34] magrittr_1.5               matrixStats_0.52.2         GenomicAlignments_1.14.1  
[37] Rsamtools_1.30.0           SummarizedExperiment_1.8.1 assertthat_0.2.0          
[40] stringi_1.1.6              RCurl_1.95-4.10 
genomicfeatures biomart • 803 views
ADD COMMENT
3
Entering edit mode
JohnTownsend ▴ 20
@johntownsend-14360
Last seen 20 months ago
Germany

I found the answer myself after a bit of digging around in the code for makeTxDbFromBiomart. The name of the mart for fungi has recently changed from fungal_mart to fungi_mart. However, this has not been reflected in the code for an internal function of the GenomicFeatures package:

.get_EnsemblGenomes_kingdom_from_biomart <- function (biomart) {
  biomart <- tolower(biomart)
  if (substr(biomart, 1, 14) == "bacterial_mart")
    return("bacteria")
  if (substr(biomart, 1, 11) == "fungal_mart")
    return("fungi")
  if (substr(biomart, 1, 12) == "metazoa_mart")
    return("metazoa")
  if (substr(biomart, 1, 11) == "plants_mart")
    return("plants")
  if (substr(biomart, 1, 12) == "protist_mart")
    return("protists")
  NA
}

Because of this, the makeTxDbFromBiomart function cannot correctly identify the kingdom, and thus cannot specify the host address to download the metadata, and the function fails.

To fix this, I downloaded the source package: http://bioconductor.org/packages/release/bioc/src/contrib/GenomicFeatures_1.30.0.tar.gz

I unzipped the package from the command line using tar -xvzf GenomicFeatures_1.30.0.tar.gz and the edited line 140 of the file R/makeTxDbFromBiomart.R to correctly specify fungi_mart:

if (substr(biomart, 1, 10) == "fungi_mart")

I then re-zipped the package and installed using:

tar -czvf GenomicFeatures.tar.gz GenomicFeatures

R CMD INSTALL GenomicFeatures.tar.gz

which gives me a successful TxDb download from Biomart.

ADD COMMENT

Login before adding your answer.

Traffic: 663 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6