→ AbstractThe presenter(s) will be available for live Q&A in this session (BCC East).
Michael Franklin 1,2, Richard Lupat 2, Daniel Park 1, Bernard Pope 1, Evan Thomas 3, Jiaan Yu 2, Mohammad Bhuyan 3, Tony Papenfuss 3, Jason Li 2
1 University of Melbourne, Melbourne. Email: michael.franklin@unimelb.edu.au
2 Peter MacCallum Cancer Centre, Melbourne.
3 Walter and Eliza Hall Institute of Medical Research.
Project Website:
https://janis.readthedocs.io Source Code:
https://github.com/PMCC-BioinformaticsCore/janis License: GPL-3.0
Main Text of Abstract
There are many frameworks for building bioinformatics pipelines, including the Common Workflow Language (CWL), Workflow Description Language (WDL), Nextflow and more. Each framework brings a community and a set of resources, including engines and other tools. The incompatibility of these frameworks poses considerable challenges for portability, where changing between systems requires substantial re-engineering efforts and is an inhibitor to sharing workflows. There are many external differences in these frameworks, such as implementation language, however they have a considerable overlap in their underlying features.
Janis is an open-source Python framework that addresses this interoperability problem by abstracting the workflow model in order to generate CWL and WDL pipelines. The Janis API simplifies many aspects of building workflows and can mask idiosyncrasies of the target specifications while still allowing for rich workflow logic to be represented. The ability to target multiple workflow specifications unlocks tools from their respective communities and mitigates the risks and effects of pipeline frameworks becoming unsupported.
In this talk we will discuss the challenges that we faced when abstracting the workflow model for CWL and WDL. In particular, standardizing a library of functions, conditional steps and porting functionality such as secondary files into WDL. We’ll demonstrate how an abstraction can provide useful benefits to workflow authors and the community.
Since our previous presentation of Janis at BOSC in 2019, the API has been structured to be simpler to use and the feature set has been expanded to represent more complex logic to be represented. These changes allowed us to increase the number of researchers using Janis for their analyses. We consider that the abstraction that Janis provides is a powerful way to build workflows, allowing users to take advantage of the substantial collection of community tools across a wide variety of workflow technologies.