| Literature DB >> 31772845 |
Markus Joppich1, Ralf Zimmer1.
Abstract
Bioinformatics is a highly interdisciplinary field providing (bioinformatics) applications for scientists from many disciplines. Installing and starting applications on the command-line (CL) is inconvenient and/or inefficient for many scientists. Nonetheless, most methods are implemented with a command-line interface only. Providing a graphical user interface (GUI) for bioinformatics applications is one step toward routinely making CL-only applications available to more scientists and, thus, toward a more effective interdisciplinary work. With our bioGUI framework we address two main problems of using CL bioinformatics applications: First, many tools work on UNIX-systems only, while many scientists use Microsoft Windows. Second, scientists refrain from using CL tools which, however, could well support them in their research. With bioGUI install modules and templates, installing and using CL tools is made possible for most scientists-even on Windows, due to bioGUI's support for Windows Subsystem for Linux. In addition, bioGUI templates can easily be created, making the bioGUI framework highly rewarding for developers. From the bioGUI repository it is possible to download, install and use bioinformatics tools with just a few clicks.Entities:
Keywords: Bioinformatics; Bioinformatics tool; Command-line Interface; Cross-platform; Graphical user interface; Open-source; Software accessibility; Windows; Windows subsystem for Linux
Year: 2019 PMID: 31772845 PMCID: PMC6875409 DOI: 10.7717/peerj.8111
Source DB: PubMed Journal: PeerJ ISSN: 2167-8359 Impact factor: 2.984
Figure 1Only little human interaction is needed to run a CL application from a bioGUI template.
An (install) template has to be submitted to the bioGUI repository by a developer (blue). The bioGUI application (cyan) allows users (yellow) to download templates or install modules and install and use bioinformatics applications. After the user selected/set the input for the (bioinformatics) application using the GUI, the CL arguments to run it are constructed from this input. The application’s output (text or images) can be directly displayed in bioGUI.
Figure A1bioGUI mockup showing the elements a template could be made of.
The GUI has a searchable list of installed templates as well as a link to our repository of templates. The right side is reserved to the currently displayed GUI template. Here a structured view of the available parameters, as well as hints for filling these, is shown to the user. Finally, the user has the possibility to run the program by clicking a button and to see the program’s output.
Figure A2Template construction and evaluation in bioGUI.
First, the dark gray window part is evaluated to create the GUI. Once the user clicks the run button, the execution part of the template (shaded) is executed by constructing and starting the assembled system call. This system call is constructed in three steps by replacing variables with evaluated terms from the user’s input. Blue lines indicate the visual element a returned value (cyan lines) is taken from. Helper/intermediate nodes to be evaluated are shown in light yellow.
Figure A3(A) An automatically generated bioGUI template from the poreSTAT (Internal tool for minION sequencing analysis) python argument parser. (B) The resulting execution network for the bioGUI template shown in (A). The central node represents the fully assembled CL argument (yellow).
List of available templates and install modules (starting with Install) for bioGUI.
| Module name | Task | Install module | |
|---|---|---|---|
| WSL and Ubuntu | Mac OS | ||
| First Time Mac OS Setup | Initialisation | – | ✓ |
| First Time Ubuntu/WSL/apt-get Setup | Initialisation | ✓ | – |
| Install Ballgown v1.0.1 ( | NGS transcriptomics | ✓ | |
| Install Bowtie1 ( | NGS | ✓ | |
| Install Bowtie2 v2.2.9 ( | NGS | ✓ | ✓ |
| Install bwa v0.7.17 ( | NGS | ✓ | ✓ |
| Install canu (gitHub, | Assembly | ✓ | |
| Install featureCounts ( | NGS transcriptomics | ✓ | ✓ |
| Install glimmer302b ( | Genome annotation | ✓ | |
| Install graphmap ( | Long read sequencing | ✓ | ✓ |
| Install albacore (pip wheel, ONT) | Long read sequencing | ✓ | |
| Install guppy (linux tar.gz, ONT) | Long read sequencing | ✓ | |
| Install hisat2 ( | NGS transcriptomics | ✓ | ✓ |
| Install hmmer-3.1b2 ( | Sequence analysis | ✓ | |
| Install jellyfish-2.2.6 ( | NGS | ✓ | |
| Install minimap2/miniasm/racon (gitHub) | Assembly (long-read) | ✓ | ✓ |
| Install MS-EmpiRe ( | NGS transcriptomics | ✓ | ✓ |
| Install PureSeqTM ( | Sequence analysis | ✓ | |
| Install rMATS-3.2.5 ( | NGS transcriptomics | ✓ | |
| Install rnahybrid ( | Sequence analysis | ✓ | ✓ |
| Install RSEM v1.3.0 ( | NGS transcriptomics | ✓ | |
| Install samtools-1.3.1 ( | NGS | ✓ | ✓ |
| Install SPAdes v3.13.0 ( | Assembly (hybrid) | ✓ | ✓ |
| Install StringTie v1.3.0 ( | NGS transcriptomics | ✓ | |
| Install Top Monitor (ssh example) | Technical demo | ✓ | ✓ |
| Install Trimmomatic v0.36 ( | NGS | ✓ | |
| Install wtdbg2 ( | Assembly (long-read) | ✓ | × |
| Template Circlator ( | Assembly | ✓ | ✓ |
Note:
Tools marked with ✓ provide an install module for the operating system of the respective column.
Benchmarking results for the four selected tasks (see Benchmarking bioGUI templates within the Results section) on the described hardware (see Table A1).
All runs are started via bioGUI.
| Task | Linux server | Lenovo T470 | Surface book | MacBook air | ||||
|---|---|---|---|---|---|---|---|---|
| Time | Peak RAM | Time | Peak RAM | Time | Peak RAM | Time | Peak RAM | |
| Assembly | 10:12 min | 6.8 GB | 23:00 min | 6.5 GB | 30:00 min | 6.5 GB | 44:30 min | 6.5 GB |
| featureCounts (MinION) | 00:38 min | 20 MB | 00:54 min | 18 MB | 01:12 min | 18 MB | 01:30 min | 18 MB |
| featureCounts (Illumina) | 01:13 min | 28 MB | 01:41 min | 25 MB | 02:02 min | 25 MB | 02:30 min | 25 MB |
| DE quantification (MinION) | 00:19 min | 0.7 GB | 00:25 min | 0.6 GB | 00:28 min | 0.6 GB | 00:42 min | 0.6 GB |
| DE quantification (Illumina) | 00:14 min | 0.5 GB | 00:19 min | 0.4 GB | 00:20 min | 0.4 GB | 00:31 min | 0.4 GB |
| RNAhybrid | 07:35 min | 19 MB | 23:00 min | 18 MB | 13:00 min | 18 MB | 16:55 min | 18 MB |
Figure 2bioGUI use-case study, from a developer’s and user’s perspective, performed on an exemplary RNAseq analysis workflow.
The dark-gray underlayed tasks represent the developer’s tasks, and the bright-yellow part represents the analysis pipeline the user wants to execute. Tasks requiring user-action are shown as rectangles and intermediate results are shown in ellipses. Cyan ellipses denote solutions/results (e.g., template repository) offered by bioGUI. bioGUI starts sub-processes for each task, such that the overhead for any started processes is as small as possible. Upon finishing a task or pipeline, bioGUI can display a notification and open generated output.
Figure A4Possibilities for running bioGUI: locally via processes, on a network via ssh or on the web via HTTP request/response.
Straight arrow (purple): HTTP execution mode; Dotted arrow (green): Docker execution; Dotdashed arrow(orange): bash/WSL execution; Dashed arrow(cyan): remote/ssh execution.
Figure A6Scores given by the 10 participants on the question “Has it been easy to align the reads?” after performing the task using the CLI and bioGUI.
These results show that most participants found the task easier using bioGUI, but for no-one it was harder to use bioGUI.
Figure A5(A) On our website a list of already existing templates can be browsed. Besides the description and author, also the type (install module or template) is shown. (B) All uploaded templates can be downloaded directly from within bioGUI. bioGUI allows to search in/filter all available install modules and templates.
Hardware used to benchmark bioGUI.
| Computer name | CPU | RAM | Storage |
|---|---|---|---|
| Linux server | Intel Xeon W-2145 CPU @ 3.70 GHz | 128 GB | Samsung SSD 860 |
| Lenovo laptop (T470p) | Intel Core i7-7820HQ @ 2.9 GHz | 32 GB | Samsung MZVLB1T0HALR |
| Microsoft surface book | Intel Core i5-6300U @ 2.4 GHz | 8 GB | Samsung MZFLV128HCGR |
| Apple MacBook Air (mid 2012) | Intel Core i5 @ 1.7 GHz | 8 GB | 128 GB SSD |
Derived user survey results from the given answers (Table A3).
| Median | Mean | Variance | |||
|---|---|---|---|---|---|
| Better interface bio | 3 | 3 | 3 | 4 | |
| Better interface collab | 6 | 4.5 | 4.5 | 0.3 | |
| Better interface all | 9 | 4 | 4.00 | 1.75 | |
| Easy to align CLI | 10 | 3.5 | 3.50 | 1.833 | |
| Easy to align bioGUI | 10 | 5 | 4.90 | 0.0098 | 0.1 |
| Easy to install CLI | 10 | 5 | 4.40 | 0.711 | |
| Easy to install bioGUI | 10 | 5 | 4.80 | 0.2023 | 0.178 |
Relevant participant answers for the performed user survey and the results in Table A2.
| Participant 1 | Participant 2 | Participant 3 | Participant 4 | Participant 5 | Participant 6 | Participant 7 | Participant 8 | Participant 9 | Participant 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Usertype (0 = bioinformatician, 1 = student, 2 = collaborator) | 0 | 0 | 0 | 0 | 1 | 2 | 2 | 1 | 2 | 2 |
| Which kind of user-interface does the tool have? | CLI | CLI | CLI | CLI | CLI | CLI | GUI | CLI | CLI | GUI |
| What were the most struggle-some tasks in accessing and using the software? | Dependencies | Using software finding settings | Finding settings options needed | Installing software | Finding settings options needed | Dependencies starting the software using the software | Finding settings options needed | Finding settings options needed | Using the software | Finding settings options needed |
| CLI: Has the installation process been easy? (0 = NO, 5 = YES) | 4 | 3 | 5 | 5 | 5 | 5 | 4 | 5 | 5 | 3 |
| CLI: Has it been easy to align the reads? (0 = NO, 5 = YES) | 4 | 2 | 5 | 5 | 4 | 3 | 3 | 5 | 3 | 1 |
| bioGUI: Has the installation process been easy? (0 = NO, 5 = YES) | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 5 | 5 | 4 |
| bioGUI: Has it been easy to align the reads? (0 = NO, 5 = YES) | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 4 |
| Overall: Which interface was easier to use in your opinion? (0 = CLI, 5 = GUI) | 5 | 1 | 3 | 4 | 5 | 5 | 4 | 4 | 5 |