Published March 19, 2019 | Version 2.0
Software Open

BioPortainer/BioPortainer: 2.0

Description

Docker project is providing a promising strategy for the development of virtualization systems in bioinformatics. However, implementation, management and launching of Docker containers is not entirely trivial for users not fully familiarized with command line interfaces (CLIs), which has prompted the development of graphic user interfaces (GUIs) to facilitate the interaction of inexperienced users with Docker environments. 

BioPortainer Workbench is an open-source software developed under the MIT license and designed in a modular way, aimed at facilitating user interaction with Docker environments in three different computational layers: (i) infrastructure, (ii) platform and (iii) application. To deploy the software, user must initially access the BioPortainer Workbench image and install it, either in a single Docker engine, or in a Swarm cluster. Once installed, BioPortainer Workbench consists of two basic containers: the BioPortainer Panel and the BioPortainer Pipeline Runner. From a functional point of view, the two containers offer a number of tools that allow users to perform a series of actions in the created Docker environmens, such as: (i) managing Docker resources associated with the BioPortainer Workbench; (ii) installing bioinformatics applications based on several platforms described in the literature and (iii) launching different types of analyses, using either command-line (CLI), or graphic-based interfaces (GUI). Such analyses may be conducted with the help of BioPortainer Workbench's own resources, or with resources harnessed from external repositories which provide preconfigured images, files, commands or scripts for the execution of bioinformatics software, with varying levels complexity.

The BioPortainer Workbench image consists of a Docker Compose file, which is responsible for building the Docker environment on the host machine using Dockerfile files, which are associated with the two main containers of the software: the BioPortainer Panel and the BioPortainer Pipeline Runner. The third component of the image is a template repository, containing a series of JSON files, responsible for building the templates associate with platform installation, as well as for building the GUI forms used to launch bioinformatics tools with the aid of the BioPortainer GUI Runner.

The Docker Compose file contains all the necessary settings for complete system operation, including the execution settings of the two main containers (BioPortainer Panel and BioPortainer Pipeline Runner). In addition to these two main modules, there is a third module called the BioPortainer Watchtower, designed to monitor the main containers during execution. This module also monitors the original BioPortainer Workbench images, updating the whole Docker environment, whenever new versions of the software are made available. The Docker Compose file can be easily edited with the aid of any text editor, so as to expand its functionality by incorporating additional features, such as web proxies and/or tools for Continuous Integration & Continuous Delivery (CI/CD), such as Jenkins, for example. To assist in the incorporation of these new resources, a virtual network, called BioPortainer Local, was created, in order to guarantee efficient communication between the containers. Thus, if users wish to incorporate new features into the BioPortainer Workbench, it is necessary to insert such features in this network, through the networks parameter, to guarantee their efficient integration to the different modules of the software.

The second component of the image are the Dockerfile files, which contain instructions for building the Docker images of the BioPortainer Panel and BioPortainer Pipeline Runner modules. These Dockerfiles are available through GitHub and can be easily expanded to accommodate additional needs of any user. The Dockerfile of the BioPortainer Panel module was developed from the original source file of Portainer, which has been modified to incorporate specific features of the BioPortainer Workbench, such as the tools BioPortainer JobRunner and BioPortainer GUI Runner. The Dockerfile of the BioPortainer Pipeline Runner, on the other hand, has been developed independently and presents a greater level of complexity in its structure, as it carries all the software and library prerequisites necessary for the execution of NextFlow scripts (Di Tommaso et al., 2017) in a Docker-in-Docker environment (DinD). In addition, given the characteristics of this complex environment, the BioPortainer Supervisor tool has been added to this Dockerfile, providing users with a GUI (accessed through port 7000) that enables full management of the BioPortainer Pipeline Runner tool, the Jupyter Notebook and the Docker-in-Docker environment. It also allows users to analyze execution logs and control startup, shutdown and restart of processes within containers.

For more information on different methods of installing and using the BioPortainer Workbench, visit the BioPortainer Workbench User Manual.

Files

BioPortainer/BioPortainer-2.0.zip

Files (53.5 MB)

Name Size Download all
md5:30fe97e49cb42af4aca50d0ce888ffa8
53.5 MB Preview Download

Additional details

Related works