# DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes

**Authors:** Daniel Ortiz-Martínez

PMC · DOI: 10.1186/s12859-025-06108-1 · 2025-04-16

## TL;DR

DeBasher is a new tool that extends Bash to handle complex, interactive, and stateful workflows, especially useful for bioinformatics data analysis.

## Contribution

DeBasher introduces a flow-based programming Bash extension with support for cyclic workflows, interactivity, and dynamic scheduling.

## Key findings

- DeBasher enables the execution of complex workflows with cycles and stateful processes.
- It supports interactive workflow modifications and trigger-based execution.
- DeBasher processed 131.7 TB of genomic data using a variant calling pipeline.

## Abstract

Bioinformatics data analysis faces significant challenges. As data analysis often takes the form of pipelines or workflows, workflow managers (WfMs) have become essential. Data flow programming constitutes the preferred approach in WfMs, enabling parallel processes activated reactively based on input availability. While this paradigm typically follows a linear, acyclic progression, cyclic workflows are sometimes necessary in bioinformatics analyses. These cyclic workflows also present an opportunity to explore workflow interactivity, a feature not widely implemented in existing WfMs.

We propose DeBasher, a tool that adopts the flow-based programming (FBP) paradigm, in which the workflow components are in control of their life cycle and can store state information, allowing the execution of complex workflows that include cycles. DeBasher also incorporates a powerful model of interactivity, where the user can alter the behavior of a running workflow. Additionally, DeBasher allows the user to define triggers so as to initiate the execution of a complete workflow or a part of it. The ability to execute processes with state and in control of their life cycle also has applications in dynamic scheduling tasks. Furthermore, DeBasher presents a series of extra features, including the combination of multiple workflows at runtime through a feature we have called runtime piping, switching to static scheduling to increase scalability, or implementing processes in multiple languages. DeBasher has been successfully used to process 131.7 TB of genomic data by means of a variant calling pipeline.

DeBasher is an FBP Bash extension that can be useful in a wide range of situations and in particular when implementing complex workflows, workflows with interactivity or triggers, or when a high scalability is required.

The online version contains supplementary material available at 10.1186/s12859-025-06108-1.

## Full-text entities

- **Genes:** UBXN11 (UBX domain protein 11) [NCBI Gene 91544] {aka COA-1, PP2243, SOC, SOCI, UBXD5}
- **Diseases:** melanoma (MESH:D008545), esophagus (MESH:D004938), cancer (MESH:D009369), OOP (MESH:D016773), HPC (MESH:C000719218)
- **Chemicals:** RAM (MESH:C071315), CPU (-)
- **Cell lines:** CWL — Cyprinus carpio (Common carp), Spontaneously immortalized cell line (CVCL_W096)

## Figures

13 figures with captions in the complete paper: https://tomesphere.com/paper/PMC12004750/full.md

---
Source: https://tomesphere.com/paper/PMC12004750