Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
There are a billion of them out there (https://github.com/pditommaso/awesome-pipeline), so the decision which one to choose is not exactly easy. Most of my colleagues rely on Nextflow and Snakemake, so I should consider these, but before I start to learn an entirely new language I wanted to explore the Haskell ecosystem for possible solutions. Strong typing should in theory be a perfect match for a pipeline manager. And having this in Haskell would simplify replacing some of my R code with Haskell eventually.
Funflow: https://github.com/tweag/funflow
Porcupine: https://github.com/tweag/porcupine
Bioshake: https://github.com/PapenfussLab/bioshake
I wasn't satisfied with this and wanted the software to be managed too, so we ended up working on BioNix (https://github.com/PapenfussLab/bionix) which does both pipeline execution and software management. This is nice because it makes everything extremely reproducible and removes a lot of the pain of dealing with setting up software etc at various HPC facilities. The down side is Nix isn't typed, so the typing aspect of bioshake was ported on the back of a ADT implementation in Nix, and at least for my work it has caught a fair few mistakes. Of course this isn't Haskell so it doesn't satisfy your criteria, just though it's worth a mention.