How to use the biodbExpasy connector and its methods.
biodbExpasy 1.8.1
biodbExpasy is a biodb extension package that implements a connector to the Expasy ENZYME database (Bairoch 2000).
Install using Bioconductor:
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install('biodbExpasy')
The first step in using biodbExpasy, is to create an instance of the biodb
class Biodb
from the main biodb package. This is done by calling the
constructor of the class:
mybiodb <- biodb::newInst()
During this step the configuration is set up, the cache system is initialized and extension packages are loaded.
We will see at the end of this vignette that the biodb instance needs to be
terminated with a call to the terminate()
method.
In biodb the connection to a database is handled by a connector instance that you can get from the factory. biodbExpasy implements a connector to a remote database. Here is the code to instantiate a connector:
conn <- mybiodb$getFactory()$createConn('expasy.enzyme')
## Loading required package: biodbExpasy
To get the number of entries stored inside the database, run:
conn$getNbEntries()
## [1] NA
To get some of the first entry IDs (accession numbers) from the database, run:
ids <- conn$getEntryIds(2)
ids
## [1] "1.1.1.1" "1.1.1.32"
To retrieve entries, use:
entries <- conn$getEntry(ids)
entries
## [[1]]
## Biodb Expasy ENZYME database. entry instance 1.1.1.1.
##
## [[2]]
## Biodb Expasy ENZYME database. entry instance 1.1.1.32.
To convert a list of entries into a dataframe, run:
x <- mybiodb$entriesToDataframe(entries)
x
## accession
## 1 1.1.1.1
## 2 1.1.1.32
## catalytic.activity
## 1 (1) a primary alcohol + NAD(+) = an aldehyde + H(+) + NADH;(2) a secondary alcohol + NAD(+) = a ketone + H(+) + NADH
## 2 <NA>
## name expasy.enzyme.id
## 1 alcohol dehydrogenase;aldehyde reductase 1.1.1.1
## 2 Transferred entry: 1.1.1.1 1.1.1.32
You can access the web service “find” directly with the wsEnzymeByName method:
conn$wsEnzymeByName(name="Alcohol", retfmt="ids")
## [1] "1.1.1.1" "1.1.1.2" "1.1.1.54" "1.1.1.71" "1.1.1.90"
## [6] "1.1.1.91" "1.1.1.97" "1.1.1.144" "1.1.1.192" "1.1.1.194"
## [11] "1.1.1.195" "1.1.1.284" "1.1.2.6" "1.1.2.8" "1.1.3.7"
## [16] "1.1.3.13" "1.1.3.18" "1.1.3.20" "1.1.3.30" "1.1.3.38"
## [21] "1.1.5.5" "1.1.5.7" "1.1.9.1" "1.1.98.5" "1.1.99.36"
## [26] "1.2.1.84" "1.14.13.229" "1.14.19.48" "2.3.1.75" "2.3.1.84"
## [31] "2.3.1.152" "2.3.1.196" "2.3.1.224" "2.4.1.111" "2.4.1.172"
## [36] "2.7.1.66" "2.7.8.13" "2.8.2.2" "3.6.1.53" "4.2.3.2"
You can access the web service “find” directly with the wsEnzymeByComment method:
conn$wsEnzymeByComment(comment="best", retfmt="ids")
## [1] "1.1.1.91" "1.1.2.11" "1.1.99.13" "1.1.3.7" "1.1.3.20"
## [6] "1.2.1.48" "1.2.3.14" "1.1.1.288" "1.13.11.51" "1.14.13.93"
## [11] "1.3.1.31" "1.3.1.124" "1.3.1.34" "1.3.3.13" "1.3.5.2"
## [16] "1.3.98.1" "1.3.1.14" "1.3.1.15" "1.3.99.11" "1.5.99.5"
## [21] "1.6.5.5" "1.6.5.2" "1.10.5.1" "1.6.5.2" "1.10.99.2"
## [26] "1.11.1.20" "1.13.11.50" "1.13.12.24" "1.13.99.3" "1.14.13.92"
## [31] "1.14.14.48" "1.14.14.49" "1.14.14.48" "1.14.17.3" "4.3.2.5"
## [36] "1.14.99.15" "2.1.1.160" "2.1.1.339" "2.3.1.75" "2.3.1.77"
## [41] "2.3.1.121" "2.3.1.184" "2.3.1.185" "2.3.1.186" "2.3.1.232"
## [46] "2.3.1.196" "2.4.1.78" "2.4.1.136" "2.4.1.165" "2.4.1.181"
## [51] "2.4.1.358" "2.6.1.21" "2.6.1.10" "2.6.1.84" "2.7.1.62"
## [56] "3.1.3.9" "2.7.1.236" "3.1.1.2" "3.1.1.55" "3.1.1.1"
## [61] "3.1.1.2" "3.1.1.7" "3.1.1.8" "3.1.1.67" "3.1.1.120"
## [66] "3.1.3.38" "3.1.3.76" "3.3.2.10" "3.3.2.10" "3.3.2.9"
## [71] "3.1.7.1" "3.2.1.99" "3.2.1.153" "3.2.1.80" "3.2.1.154"
## [76] "3.2.1.154" "3.2.1.80" "3.2.1.153" "3.2.1.214" "3.4.11.24"
## [81] "3.4.13.18" "3.4.3.1" "3.4.3.2" "3.4.3.3" "3.4.3.6"
## [86] "3.4.13.1" "3.4.13.2" "3.4.13.3" "3.4.13.8" "3.4.13.11"
## [91] "3.4.13.13" "3.4.13.15" "3.4.13.19" "3.4.3.1" "3.4.3.2"
## [96] "3.4.3.6" "3.4.13.1" "3.4.13.2" "3.4.13.8" "3.4.13.11"
## [101] "3.4.13.15" "3.4.19.12" "3.4.22.34" "3.4.22.46" "3.4.24.61"
## [106] "3.5.1.60" "3.5.1.99" "3.5.1.91" "3.6.1.45" "3.6.1.21"
## [111] "3.1.3.5" "4.2.1.74" "4.2.1.17" "4.2.2.20" "4.2.2.21"
## [116] "4.2.2.20" "4.2.2.4" "4.2.99.6" "4.2.2.21" "4.2.2.20"
## [121] "4.2.2.4" "4.2.99.6" "4.6.1.15" "6.2.1.23" "7.5.2.6"
## [126] "7.5.2.5" "7.5.2.11"
When done with your biodb instance you have to terminate it, in order to ensure release of resources (file handles, database connection, etc):
mybiodb$terminate()
## INFO [16:22:02.778] Closing BiodbMain instance...
## INFO [16:22:02.782] Connector "expasy.enzyme" deleted.
sessionInfo()
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.4 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] biodbExpasy_1.8.1 BiocStyle_2.32.1
##
## loaded via a namespace (and not attached):
## [1] rappdirs_0.3.3 sass_0.4.9 utf8_1.2.4
## [4] generics_0.1.3 bitops_1.0-8 stringi_1.8.4
## [7] RSQLite_2.3.7 hms_1.1.3 digest_0.6.36
## [10] magrittr_2.0.3 evaluate_0.24.0 bookdown_0.40
## [13] fastmap_1.2.0 blob_1.2.4 plyr_1.8.9
## [16] jsonlite_1.8.8 progress_1.2.3 DBI_1.2.3
## [19] BiocManager_1.30.23 httr_1.4.7 fansi_1.0.6
## [22] XML_3.99-0.17 jquerylib_0.1.4 cli_3.6.3
## [25] rlang_1.1.4 chk_0.9.2 crayon_1.5.3
## [28] dbplyr_2.5.0 bit64_4.0.5 withr_3.0.1
## [31] cachem_1.1.0 yaml_2.3.10 tools_4.4.1
## [34] memoise_2.0.1 biodb_1.12.0 dplyr_1.1.4
## [37] filelock_1.0.3 curl_5.2.1 vctrs_0.6.5
## [40] R6_2.5.1 BiocFileCache_2.12.0 lifecycle_1.0.4
## [43] stringr_1.5.1 bit_4.0.5 pkgconfig_2.0.3
## [46] pillar_1.9.0 bslib_0.8.0 glue_1.7.0
## [49] Rcpp_1.0.13 lgr_0.4.4 xfun_0.46
## [52] tibble_3.2.1 tidyselect_1.2.1 knitr_1.48
## [55] htmltools_0.5.8.1 rmarkdown_2.27 compiler_4.4.1
## [58] prettyunits_1.2.0 askpass_1.2.0 RCurl_1.98-1.16
## [61] openssl_2.2.0
Bairoch, A. 2000. “The Enzyme Database in 2000.” Nucleic Acids Research 28 (1): 304–5. https://doi.org/10.1093/nar/28.1.304.