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.