1 Introduction

biodbExpasy is a biodb extension package that implements a connector to the Expasy ENZYME database (Bairoch 2000).

2 Installation

Install using Bioconductor:

if (!requireNamespace("BiocManager", quietly=TRUE))
    install.packages("BiocManager")
BiocManager::install('biodbExpasy')

3 Initialization

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.

4 Creating a connector to Expasy ENZYME database.

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

5 Accessing entries

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)
## INFO  [16:20:42.639] Create cache folder "/home/biocbuild/.cache/R/biodb/expasy.enzyme-b59b84d962b6741050ba8f70ff4db280" for "expasy.enzyme-b59b84d962b6741050ba8f70ff4db280".
ids
## [1] "1.1.1.1" "1.1.1.2"

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.2.

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.2
##                                                                                                     catalytic.activity
## 1 (1) a primary alcohol + NAD(+) = an aldehyde + H(+) + NADH;(2) a secondary alcohol + NAD(+) = a ketone + H(+) + NADH
## 2                                                             a primary alcohol + NADP(+) = an aldehyde + H(+) + NADPH
##                                                         name expasy.enzyme.id
## 1                   alcohol dehydrogenase;aldehyde reductase          1.1.1.1
## 2 alcohol dehydrogenase (NADP(+));aldehyde reductase (NADPH)          1.1.1.2

6 Running the “wsEnzymeByName” web service

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"

7 Running the “wsEnzymeByComment” web service

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.3.38"  
##  [66] "3.1.3.76"   "3.3.2.10"   "3.3.2.10"   "3.3.2.9"    "3.1.7.1"   
##  [71] "3.2.1.99"   "3.2.1.153"  "3.2.1.80"   "3.2.1.154"  "3.2.1.154" 
##  [76] "3.2.1.80"   "3.2.1.153"  "3.2.1.214"  "3.4.11.24"  "3.4.13.18" 
##  [81] "3.4.3.1"    "3.4.3.2"    "3.4.3.3"    "3.4.3.6"    "3.4.13.1"  
##  [86] "3.4.13.2"   "3.4.13.3"   "3.4.13.8"   "3.4.13.11"  "3.4.13.13" 
##  [91] "3.4.13.15"  "3.4.13.19"  "3.4.3.1"    "3.4.3.2"    "3.4.3.6"   
##  [96] "3.4.13.1"   "3.4.13.2"   "3.4.13.8"   "3.4.13.11"  "3.4.13.15" 
## [101] "3.4.19.1"   "3.4.14.3"   "3.4.19.12"  "3.4.22.34"  "3.4.22.46" 
## [106] "3.4.24.61"  "3.5.1.60"   "3.5.1.99"   "3.5.1.91"   "3.6.1.45"  
## [111] "3.6.1.21"   "3.1.3.5"    "4.2.1.74"   "4.2.1.17"   "4.2.2.20"  
## [116] "4.2.2.21"   "4.2.2.20"   "4.2.2.4"    "4.2.99.6"   "4.2.2.21"  
## [121] "4.2.2.20"   "4.2.2.4"    "4.2.99.6"   "4.6.1.15"   "6.2.1.23"  
## [126] "7.5.2.6"    "7.5.2.5"    "7.5.2.11"

8 Closing biodb instance

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:20:56.603] Closing BiodbMain instance...
## INFO  [16:20:56.605] Connector "expasy.enzyme" deleted.

9 Session information

sessionInfo()
## R version 4.3.0 RC (2023-04-13 r84269)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.2 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.17-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.4.0 BiocStyle_2.28.0 
## 
## loaded via a namespace (and not attached):
##  [1] rappdirs_0.3.3      sass_0.4.5          utf8_1.2.3         
##  [4] generics_0.1.3      bitops_1.0-7        stringi_1.7.12     
##  [7] RSQLite_2.3.1       hms_1.1.3           digest_0.6.31      
## [10] magrittr_2.0.3      evaluate_0.20       bookdown_0.33      
## [13] fastmap_1.1.1       blob_1.2.4          plyr_1.8.8         
## [16] jsonlite_1.8.4      progress_1.2.2      DBI_1.1.3          
## [19] BiocManager_1.30.20 httr_1.4.5          fansi_1.0.4        
## [22] XML_3.99-0.14       jquerylib_0.1.4     cli_3.6.1          
## [25] rlang_1.1.0         chk_0.8.1           crayon_1.5.2       
## [28] dbplyr_2.3.2        bit64_4.0.5         withr_2.5.0        
## [31] cachem_1.0.7        yaml_2.3.7          tools_4.3.0        
## [34] memoise_2.0.1       biodb_1.8.0         dplyr_1.1.2        
## [37] filelock_1.0.2      curl_5.0.0          vctrs_0.6.2        
## [40] R6_2.5.1            BiocFileCache_2.8.0 lifecycle_1.0.3    
## [43] stringr_1.5.0       bit_4.0.5           pkgconfig_2.0.3    
## [46] pillar_1.9.0        bslib_0.4.2         glue_1.6.2         
## [49] Rcpp_1.0.10         lgr_0.4.4           xfun_0.39          
## [52] tibble_3.2.1        tidyselect_1.2.0    knitr_1.42         
## [55] htmltools_0.5.5     rmarkdown_2.21      compiler_4.3.0     
## [58] prettyunits_1.1.1   askpass_1.1         RCurl_1.98-1.12    
## [61] openssl_2.0.6

References

Bairoch, A. 2000. “The Enzyme Database in 2000.” Nucleic Acids Research 28 (1): 304–5. https://doi.org/10.1093/nar/28.1.304.