Key Points
Introduction |
|
Introduction to Workflows |
|
The Nextflow Language |
|
Processes |
|
Channels |
|
Workflow Configuration |
|
Software Package Managers |
|
The new Nextflow syntax - DSL2 |
|
Converting your project to Nextflow |
|
Supplementary: Version control |
|
Supplementary - Nextflow on Grid Computing Infrastructures |
|
Supplementary - Nextflow on Cloud Computing Infrastructures |
|
Supplementary - Nextflow on Cloud Computing Infrastructures |
|
## Reference
Introduction to workflows
- A workflow is a series of tasks to process data.
- A workflow framework is a set of tools that allows you to compose tasks, connect them together, and process data.
- There are many workflow frameworks available:
- Shell scripts
- Nextflow
- SnakeMake
- Galaxy
- …
- Advantages of Nextflow
- Reproducible (when combined with container and version control technology).
- Portable (Ideally can be run anywhere - locally, grid/hpc, or cloud).
- Simple syntax but exensible.
- Functional logic can be separated from execution engine.
- Reentrancy.
- Staged execution - each task is executed in it’s own directory.
- Open source.
- Rapidly increasing community.
Nextflow syntax
- There are two fundamental data structures:
- Channels
- Processes
- A Channel is a dataflow object, of which there are two types:
- Value channels - elements are reusable.
- Queue channels - elements are consumed (single use).
- A Process is an encapsulated task - a set of instructions that must be executed together.