Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pveber/bistro

A library to build and execute typed scientific workflows
https://github.com/pveber/bistro

bioinformatics computational-biology ocaml pipeline workflow

Last synced: about 1 month ago
JSON representation

A library to build and execute typed scientific workflows

Awesome Lists containing this project

README

        

# bistro: build and run distributed workflows

`bistro` is an [OCaml](http://ocaml.org) library to build and run
computations represented by a collection of interdependent scripts, as
is often found in applied research (especially computational
biology).

**Features**:
- build complex and composable workflows declaratively
- simple and lightweight wrapping of new components
- resume-on-failure: if something fails, fix it and the workflow will
restart from where it stopped
- distributed workflow execution
- development-friendly: when a script is modified, bistro
automatically finds out what needs to be recomputed
- automatic naming of generated files
- static typing: detect file format errors at compile time!

The library provides a datatype to represent scripts (including
metadata and dependencies), an engine to run workflows and a
standard library providing components for popular tools (although
mostly related to computational biology and unix for now).

Questions, suggestions or contributions are welcome, please file an
[issue](https://github.com/pveber/bistro/issues) as needed.

## Documentation

A
[manual](http://bistro.readthedocs.io/en/latest/getting-started.html)
is available, but feel free to file issues if something is unclear or
missing. There is also a
[generated API documentation](http://pveber.github.io/bistro/).

## Installation

Detailed instructions are available in the
[manual](http://bistro.readthedocs.io/en/latest/getting-started.html). In
a nutshell, `bistro` can be installed using
[opam](http://opam.ocaml.org/). You need a recent (at least 4.03.0)
installation of OCaml. Once this is done, simply type

```
opam install bistro
```

to install the library, or:

```
opam pin add -y bistro --dev-repo
```
to get the current development version.