| Literature DB >> 30402350 |
Jianfeng Li1, Bowen Cui1, Yuting Dai1,2, Ling Bai1, Jinyan Huang1.
Abstract
The increase in bioinformatics resources such as tools/scripts and databases poses a great challenge for users seeking to construct interactive and reproducible biological data analysis applications. Here, we propose an open-source, comprehensive, flexible R package named BioInstaller that consists of the R functions, Shiny application, the HTTP representational state transfer application programming interfaces, and a docker image. BioInstaller can be used to collect, manage and share various types of bioinformatics resources and perform interactive and reproducible data analyses based on the extendible Shiny application with Tom's Obvious, Minimal Language and SQLite format databases. The source code of BioInstaller is freely available at our lab website, http://bioinfo.rjh.com.cn/labs/jhuang/tools/bioinstaller, the popular package host GitHub, https://github.com/JhuangLab/BioInstaller, and the Comprehensive R Archive Network, https://CRAN.R-project.org/package=BioInstaller. In addition, a docker image can be downloaded from DockerHub (https://hub.docker.com/r/bioinstaller/bioinstaller).Entities:
Keywords: Biological data analysis; R package; Shiny application
Year: 2018 PMID: 30402350 PMCID: PMC6215441 DOI: 10.7717/peerj.5853
Source DB: PubMed Journal: PeerJ ISSN: 2167-8359 Impact factor: 2.984
Figure 1Overview of structure and functions of BioInstaller.
Bioinformatics tools, scripts and databases are supported by BioInstaller. Bootstrap and Shinydashbord are used to construct the front-end interface. The R functions, Shiny and Opencpu services and the SQLite and TOML databases were applied in the back-end.
Figure 2The relevance, applicability, and a real example of BioInstaller.
List of the relevance and applicability of BioInstaller.
| With bioInstaller | Without bioInstaller | |
|---|---|---|
| User-interfaces | R functions, Shiny UI, REST APIs (Conda, Spack, and other tools/scripts) | Command-line tools (Conda, Spack, and custom tools) |
| Retrieve installed packages | Integrated Shiny dashboard page including R packages, conda and Python packages, Spack packages, and BioInstaller resource | Multiple command line operations |
| Local development | Yes | No |
| Need to register an account | Not need | Need |
| Type of backend databases | Default use TOML and SQLite (potable purpose) Plugins for other types | MySQL |
| No limitation | Centralized | |
| File sizes | No limitation | Limited |
| PubMed query | Integrated R codes with secret key (no limited access) Shiny UI with formatted table | Isolated R codes without secret key (limited access, |
| Medium | Simplified TOML format files | Form or configuration file required more skills |
| Download service | Local Shiny application | Centralized web service or command line tools |
| Store of meta information (e.g., URL and version) | Pre-defined TOML file | |
| Pre-defined pages | Pre-defined Shiny UI and server (Dashboard, file management, task submission, logging, export, and update of plots exception handling, setting) | Isolated examples UI and server codes |
| Difficulty | Easy to construct the Shiny application (Plugins + optional R codes) | Relatively complicated (Require R codes for UI and server) |
| Logging | Support | Manual |
| Docker image | Pre-defined docker image with Shiny, Rstudio, and Opencpu services | Most not |
Overview comparison of BioInstaller and existing tools on the collection and share of bioinformatics resources.
| BioInstaller | Omictools | Datasets2Tools | |
|---|---|---|---|
| Programing language | R, JavaScript | HTML/CSS/JavaScript | HTML/CSS/JavaScript |
| Chrome extension | No | No | Yes |
| Web service | R Shiny | Web | Web |
| R functions | Yes | No | No |
| REST APIs | Yes | No | Yes |
| Backend database | TOML and SQLite | Not available | MySQL |
| Docker image | Yes | No | No |
| Access and collect meta database | Yes | Yes | Yes |
| Access and collect file database | Yes | No | No |
| Integration of external resources | Yes | No | No |
| PubMed query | Yes | No | No |
| Dataset query | Yes | No | Yes |
| Number of supported resources | Integrated | High | Medium |
| Version query | Yes | No | No |
| Download service | Yes | No | No |
| Local branch and development | Yes | No | No |
| Input | R functions, Web text, APIs | Web text only | Web text + APIs |
| Output | Text, table, plots, and Web page (PNG, SVG and PDF) | Web page | Text and web page |
Summary of BioInstaller included tools/scripts and databases.
| Category | Number |
|---|---|
| Alignment and assembly | 27 |
| Quality control | 17 |
| HTS manipulation | 17 |
| Association analysis | 6 |
| Genetic variants annotation | 12 |
| Detection of SNVs, INDELs and SVs | 32 |
| Immunity-associated | 2 |
| Isoform analysis | 3 |
| Gene expression analysis | 9 |
| Network analysis | 3 |
| Visualization libraries | 11 |
| System dependence | 18 |
| Variant-level | |
| Allele frequency | 17 |
| Variants Effect prediction | 29 |
| Disease-related | 6 |
| Gene-level | |
| Basic information | 8 |
| Gene function | 3 |
| Disease-related | 7 |
| Drug related | 4 |
| Noncoding RNA related | 15 |
| Reference genome | 9 |
| Protein related | 4 |
| Others | 8 |
Figure 3Shiny application modules of file viewer and pipeline.
(A) Uploaded files are showed on the table where view, deletion, and download function are provided. (B) The interface of the preview result. (C) Easy project was used as the demo in pipeline module, which could be used to create a series of directories via submitting a queue task with two parameters: project name and parent directory. (D) The dialog box displays a prompt message with a queue character key. (E) Task queue and queue information can be requested by the character key in the dashboard module. (F) Function to get the output log of the submitted task.
Figure 4Shiny application “Instant” module.
(A, B) The input box and output of BioInstaller Shiny plugin for querying the TOML format meta databases. (C, D) The input box and output of Dataset2tools Shiny plugin. (E, F) The input box and output of PubMed query Shiny plugin. (G) The input box of Maftools Shiny plugin. (H) One of Maftools demo output boxes which contains the plot, R command, export and update button.
Figure 5REST APIs of BioInstaller.
(A) Workflow of REST APIs of BioInstaller that JSON and TEXT returns through the GET/POST query. (B) Using curl to invoke background R functions of BioInstaller. (C) The key character with GET method is provided to get the background R session output.