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...
Saved in:
| Main Author: | |
|---|---|
| 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 |