Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.
/ diflow Public archive

A NextFlow DSL2 abstraction layer for declarative composable components.

License

Notifications You must be signed in to change notification settings

data-intuitive/diflow

Repository files navigation

nav_order title
0
home

DiFlow

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.

What is DiFlow?

  • An abstraction layer for NextFlow DSL2

  • A set of conventions

  • Tooling

General idea

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 ]

Documentation

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.

viash

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.

Community

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!

About

A NextFlow DSL2 abstraction layer for declarative composable components.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published