This project was produced as part of the Portable Pipelines Project in partnership with:


Given the awesome list of pipeline frameworks, languages and engines, why create another framework to generate workflow languages?

That’s a great question, and it’s a little complicated. Our project goals are to have a portable workflow specification, that is reproducible across many different compute platforms. And instead of backing one technology, we thought it would be more powerful to create a technology that can utilise the community’s work.

Some additional benefits we get by writing a generic framework is we sanity check connections and also add types that exist within certain domains. For example within the bioinformatics tools, there’s a BamBai type that represents an indexed .bam (+ .bai) file. With this framework, we don’t need to worry about pesky secondary files, or the complications that come when passing them around in WDL either, this framework can take care of that.


As part of the Portable Pipelines Project, we produced an execution assistant called janis-assistant. Its purpose is to run workflows written in Janis, track the progress and report the results back in a robust way.