Quick Start

Installation

  • Install from PYPI or from source.

pip install flowsaber

Or

https://github.com/zhqu1148980644/flowsaber.git
cd flowsaber && pip install .

Main concepts

For users who are familiar with nextflow usages can skip this part, other’s can also check this for similar descriptions that comes from the introduction section of the nextflow documentation.

Basically there are several components that are exposed to users for building and configuring workflows.

Task

Task is the object represents the execution unit in your workflow. Tasks runs in parallel for different inputs.

Flow

Flow is the object that combines and records dependencies of all tasks you have put in. After it’s been instantiated, it should be called for the actual dependency building and then can be executed by call flow.execute().

Channel

Channel represents a flow/queue of data, it’s consumed by Tasks. Any user defined data should be enqueued into a channel and then as arguments of Task/Flow.

Operator

Operator is built-in tasks that helps to manipulate the control of channels.

  • For example: map, sum, count, collect, flatten....

A Typical workflow

The workflow defined below covers most sets of features supported by pyflow.

  • Note: the output of the workflow may be different in different runs, this is due to the parallelism of task’s executions for different inputs.