nav_order | title |
---|---|
0 |
home |
This is the home of DiFlow, a NextFlow DSL2 abstraction layer. DiFlow is an attempt to make DataFlow programming behave more like Functional Reactive Programming.
-
An abstraction layer for NextFlow DSL2
-
A set of conventions
-
Tooling
A pipeline is a combination of modules:
- A module contains one step in a larger process
- Each module is independent
- A module can be tested
- A module runs in a dedicated and versioned container
- A module takes a triplet as argument:
[ ID, data, config ]
Please refer to the documentation in either of these formats:
The examples in the text are included in the main.nf
file included in this repository. All steps can thus be run just like in the document.
In order to use DiFlow efficiently, it is recommended to generate the NextFlow module code rather than manually code it. We use viash
for this and will open source it early 2021.
DiFlow has the potential to foster loosely coupled collaborations between teams and organizations. We are considering setting up a repository of NextFlow modules (either as DiFlow modules or the source (viash
) components they are based on). Let us know if you're interested in collaborating!