Workflow managers form the cornerstone of a modern bioinformatics stack. By enabling data provenance, portability, scalability, and re-entrancy, workflow managers accelerate the discovery process in any computational biology task. There are many workflow managers available to chose from (a community-sourced list holds over 300): Snakemake, Nextflow, and WDL… each have their relative strengths and drawbacks.
The engineering team at Insitro saw all the existing workflow managers, and then decided to invest in building their own: redun. Why? The motivation and influences docs pages lay out many of the reasons. In short, the team wanted a workflow manager written in Python that didn’t require expressing pipelines as dataflows.
I spent a few days trying out redun – working through the examples and writing some small workflows of my own. I really like the project and the energy of open source development behind it. I’m not at the point where I’m going to re-write all of my Nextflow pipelines in redun, but I’m starting to consider the benefits of doing so.
The positives I immediately noticed about redun include:
- redun is Python. Not having to learn a domain-specific language is a huge advantage.
- The ability to execute sub-workflows with a single command. This is helpful if you want to enter a workflow with an intermediate file type.
- I can see redun working as a centralized way to track workflow execution and file provenance within a lab or company.
- There are several options for the execution backend, and redun is easy to deploy to AWS Batch (with some tweaks).
- The tutorial and example workflows were helpful for demonstrating the key concepts.
A few drawbacks, as well:
- There hasn’t been much investment in observability or execution tracking. Compared to Nextflow Tower and other tools, redun is in the last century.
- Similarly, there isn’t yet much community investment in redun, like there is in nf-core.
- While redun is extremely flexible, I bet it will be more challenging for scientists to learn than Snakemake.
There will certainly be other items to add to these lists as I get more familiar with redun. For now, it’s fair to say I’m impressed, and I want to write more pipelines in redun!