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

Abstract Background 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 reac...

Full description

Saved in:
Bibliographic Details
Main Author: Daniel Ortiz-Martínez
Format: Article
Language:English
Published: BMC 2025-04-01
Series:BMC Bioinformatics
Subjects:
Online Access:https://doi.org/10.1186/s12859-025-06108-1
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1850042678359621632
author Daniel Ortiz-Martínez
author_facet Daniel Ortiz-Martínez
author_sort Daniel Ortiz-Martínez
collection DOAJ
description Abstract Background 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. Results 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. Conclusions 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.
format Article
id doaj-art-c25dcfbc0fa245fb906b7b666f534600
institution DOAJ
issn 1471-2105
language English
publishDate 2025-04-01
publisher BMC
record_format Article
series BMC Bioinformatics
spelling doaj-art-c25dcfbc0fa245fb906b7b666f5346002025-08-20T02:55:28ZengBMCBMC Bioinformatics1471-21052025-04-0126112510.1186/s12859-025-06108-1DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processesDaniel Ortiz-Martínez0Department of Mathematics and Computer Science, Universitat de BarcelonaAbstract Background 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. Results 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. Conclusions 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.https://doi.org/10.1186/s12859-025-06108-1WorkflowPipelineWorkflow managerData flow programmingFlow-based programmingBash
spellingShingle Daniel Ortiz-Martínez
DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
BMC Bioinformatics
Workflow
Pipeline
Workflow manager
Data flow programming
Flow-based programming
Bash
title DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
title_full DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
title_fullStr DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
title_full_unstemmed DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
title_short DeBasher: a flow-based programming bash extension for the implementation of complex and interactive workflows with stateful processes
title_sort debasher a flow based programming bash extension for the implementation of complex and interactive workflows with stateful processes
topic Workflow
Pipeline
Workflow manager
Data flow programming
Flow-based programming
Bash
url https://doi.org/10.1186/s12859-025-06108-1
work_keys_str_mv AT danielortizmartinez debasheraflowbasedprogrammingbashextensionfortheimplementationofcomplexandinteractiveworkflowswithstatefulprocesses