--- title: "An introduction to biodbLipidmaps" author: "Pierrick Roger" date: "`r BiocStyle::doc_date()`" package: "`r BiocStyle::pkg_ver('biodbLipidmaps')`" vignette: | %\VignetteIndexEntry{An introduction to biodbLipidmaps} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} output: BiocStyle::html_document: toc: yes toc_depth: 4 toc_float: collapsed: false BiocStyle::pdf_document: default bibliography: references.bib --- # Introduction biodbLipidmaps is a *biodb* extension package that implements a connector to Lipidmaps Structure [@sud2007_LipidMaps_LMSD]. # Installation ```{r, eval=FALSE} if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install('biodbLipidmaps') ``` # Initialization The first step in using *biodbLipidmaps*, is to create an instance of the biodb class `BiodbMain` from the main *biodb* package. This is done by calling the constructor of the class: ```{r, results='hide'} 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. # Creating a connector to Lipidmaps Structure In *biodb* connections to databases are handled by connector instances that you can get from the factory. Here is the code to instantiate a connector to Lipidmaps Structure database: ```{r} conn <- mybiodb$getFactory()$createConn('lipidmaps.structure') ``` # Accessing entries To get the number of entries stored inside the database, run: ```{r} conn$getNbEntries() ``` To get some of the first entry IDs (accession numbers) from the database, run: ```{r} ids <- conn$getEntryIds(2) ids ``` To retrieve entries, use: ```{r} entries <- conn$getEntry(ids) entries ``` To convert a list of entries into a data frame, run: ```{r} x <- mybiodb$entriesToDataframe(entries) x ``` # Running the "LMSDSearch" web service You can access the web service "LMSDSearch" directly with the *wsLmsdSearch* method: ```{r} ids <- conn$wsLmsdSearch(mode='ProcessStrSearch', name="fatty", retfmt="ids") ids ``` From this list of identifiers, we can obtain the full entry objects: ```{r} entries <- conn$getEntry(ids) ``` And then a data frame: ```{r} entriesDf <- mybiodb$entriesToDataframe(entries) ``` That you can see in table \@ref(tab:entriesTable). ```{r entriesTable, echo=FALSE, results='asis'} knitr::kable(entriesDf, "pipe", caption="The entries listed in the result of the search.") ``` # 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): ```{r} mybiodb$terminate() ``` # Session information ```{r} sessionInfo() ``` # References