Bioshake: a Haskell EDSL for bioinformatics pipelines
AbstractBackgroundTypical bioinformatics analysis comprise long running computational pipelines. An important part of producing reproducible research is the management and execution of these computational pipelines to allow robust execution and to minimise errors. Bioshake is an embedded domain specific language embedded in Haskell for specifying and executing computational pipelines in bioinformatics that significantly reduces the possibility of errors occurring.ResultsUnlike other pipeline frameworks, Bioshake raises many properties to the type level to allow the correctness of a pipeline to be statically checked during compilation, catching errors before any lengthy execution process. Bioshake builds on the Shake build tool to provide robust dependency tracking, parallel execution, reporting, and resumption capabilities. Finally, Bioshake abstracts execution so that jobs can either be executed directly or submitted to a cluster.ConclusionsBioshake is available at http://github.com/papenfusslab/bioshake.