Figure 2. Pline interface for the CodeML plugin, rendered inside the Wasabi interface window. The input files (marked with the paperclip icon) have been automatically supplied by the Wasabi environment. Info icons and underlined text show relevant tooltips on mouseover.

Example pipeline

The “Add a step” button at the bottom of the Pline interface (Figure 2) allows users to quickly build a pipeline of commands by picking programs from the list of imported plugins. The plugin interfaces are drawn as a stack of collapsible sections, numbered by the order of execution. When all the inputs have been filled as needed, the resulting pipeline can be stored in a JSON file with the “Import/Export” button. The button also allows for restoring pipelines from existing JSON files to be rerun (e.g. with different input files), providing a convenient system for reusable and distributable graphical pipelines for command-line programs.
Pline pipelines with pre-filled inputs can be published in a similar manner to plugins as importable JSON files or standalone Pline packages in a public repository. For example, the repository on the Pline website includes a common analysis pipeline that maps short sequencing reads to a reference genome. It consists of four steps, starting with BWA-MEM (Li and Durbin, 2009) for mapping reads, followed by a series of Samtools commands (Li et al. , 2009) for converting, sorting and indexing the sequencing reads pileup (see Figure 3). The downloadable plugin package includes all the files needed for standalone execution, including JSON descriptions of the pipeline and plugins, the Pline interface generator and example input sequence data. Launching the server script (Pline_server.py) will subsequently open a web browser window with the graphical pipeline interface. Each of the pipeline sections can be expanded with a mouse click to examine and modify the pre-filled inputs as needed. For example, the merged sections for the first two steps indicate that these programs are launched as a piped command, where the output from the first program (BWA-MEM ) is directly streamed as input for the second one (Samtools view ). By changing the file input selection in the Samtools view interface from “pipe” to “standard output”, the commands will be separated and the intermediate output file will be instead written to disk. After the included example files have been dragged to their respective filedrop areas in the BWA-MEM interface, the pipeline can be run.
Although the web page container in the example pipeline package includes a minimal interface for displaying the status and the results of the pipeline after it has been launched, this functionality is outside the scope of the Pline interface generator. Instead, Pline offers a framework for web developers and scientists to integrate graphical interfaces for command-line programs to websites with very low effort, especially when the needed plugin descriptions are already available. However, the example code for the post-launch interface in the plugin package and Wasabi are open-source and can be used as-is or modified for custom integration. When Pline plugin is used as a standalone interface in desktop application form, the results retrieval interface is not needed as the files are directly accessible in the work directories specified by the Pline server configuration file.