1 Purpose

biodbMirbase is a biodb extension package that implements a connector to miRBase mature database (Griffiths-Jones et al. 2006, @griffithsjones2007_miRBase, @kozomara2010_miRBase, @kozomara2013_miRBase).

2 Installation

Install using Bioconductor:

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

3 Initialization

The first step in using biodbMirbase, 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 miRBase mature database

In biodb the connection to a database is handled by a connector instance that you can get from the factory. biodbMirbase implements a connector to a remote database. Here is the code to instantiate a connector:

conn <- mybiodb$getFactory()$createConn('mirbase.mature')
## Loading required package: biodbMirbase

5 Accessing entries

To get some of the first entry IDs (accession numbers) from the database, run:

ids <- conn$getEntryIds(2)
ids
## [1] "MIMAT0001630" "MIMAT0013885"

To retrieve entries, use:

entries <- conn$getEntry(ids)
entries
## [[1]]
## Biodb miRBase mature database entry instance MIMAT0001630.
## 
## [[2]]
## Biodb miRBase mature database entry instance MIMAT0013885.

To convert a list of entries into a dataframe, run:

x <- mybiodb$entriesToDataframe(entries)
x
##      accession              description            name                  aa.seq
## 1 MIMAT0001630 Homo sapiens miR-323b-5p hsa-miR-323b-5p AGGUUGUCCGUGGUGAGUUCGCA
## 2 MIMAT0013885       Sus scrofa miR-10b     ssc-miR-10b  UACCCUGUAGAACCGAAUUUGU
##   mirbase.mature.id
## 1      MIMAT0001630
## 2      MIMAT0013885

6 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  [15:57:46.756] Closing BiodbMain instance...
## INFO  [15:57:46.757] Connector "mirbase.mature" deleted.

7 Session information

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

References

Griffiths-Jones, Sam, Russell J. Grocock, Stijn van Dongen, Alex Bateman, and Anton J. Enright. 2006. “MiRBase: MicroRNA Sequences, Targets and Gene Nomenclature.” Nucleic Acids Research 34 (suppl_1): D140–D144. https://doi.org/10.1093/nar/gkj112.

Griffiths-Jones, Sam, Harpreet Kaur Saini, Stijn van Dongen, and Anton J. Enright. 2007. “miRBase: tools for microRNA genomics.” Nucleic Acids Research 36 (November): D154–D158. https://doi.org/10.1093/nar/gkm952.

Kozomara, Ana, and Sam Griffiths-Jones. 2010. “MiRBase: Integrating microRNA Annotation and Deep-Sequencing Data.” Nucleic Acids Research 39 (suppl_1): D152–D157. https://doi.org/10.1093/nar/gkq1027.

———. 2013. “MiRBase: Annotating High Confidence microRNAs Using Deep Sequencing Data.” Nucleic Acids Research 42 (D1): D68–D73. https://doi.org/10.1093/nar/gkt1181.