Pline aims to be a practical tool for adding GUIs for CLI programs. To that end, Pline-generated interfaces address many of the limitations in web-based GUI development by filling a number of requirements:
- cross-platform: Pline interfaces run on any device with a web browser
- embeddable: the interfaces can be placed into existing web content
- programming-free: interface source code is automatically generated
- self-contained: CLI programs and its GUI are can be run as a standalone application
- user-friendly: the graphical interfaces guide users with interactivity and info tooltips
In this work, we utilize Pline in the context of bioinformatics, adding GUIs and a graphical pipeline to a number of command-line analysis tools. However, Pline's approach for generating GUIs is generic and can be applied to any field, including use cases outside the CLI domain.
Implementation
On technical level, Pline is a graphical user interface generator that wraps command-line programs to self-contained web applications. Each web application consists of three parts: Pline interface generator, a command-line executable together with its description file, and the Pline server module. The workflow of the web application can be divided to three steps:
- Construction of a formal description of the underlying command-line program in a text file. This needs to be done only once for each program.
- When the application is launched in a web browser, Pline reads the description file to generate its graphical user interface.
- The GUI then incorporates the user input to construct the final CLI command and forwards it to the server module for execution.
This process is illustrated by a working example in Figure 1. Here, three input parameters for a command-line script is specified in the description file. Each parameter is then translated to the corresponding input element in the resulting web interface and placed in the specified order to the output command. Each of these steps is described in more detail in the following sections.