Step by step
Let us illustrate some key features of NextFlow together with how we use them in DiFlow and approach this step by step.
The code blocks below are run with the following version of NextFlow:
nextflow -v
nextflow version 20.10.0.5430
Table of contents
- Step 1 - Operate on a *stream*
- Step 2 - Operate on a stream in parallel
- Step 3 - Operate on a stream using a `process`
- Step 4 - How `map` is synchronous
- Step 5 - Introduce an `ID`
- Step 6 - Add a process parameter
- Step 7 - Use a `Map` to store parameters
- Step 8 - Use a `Map` with a process-key
- Step 9 - Use a `ConfigMap` with a shell script
- Step 10 - Running a *pipeline*
- Step 11 - A more generic process
- Step 12 - Map/reduce in NextFlow
- Step 13 - Files as input/output
- Step 14 - *Publishing* output
- Step 15 - Make output files/paths unique
- Step 16 - Where to put `params`?
- Step 17 - Add the output file to `params`
- Step 18 - Add the output filename to the triplet
- Step 19 - Use a closure
- Step 20 - The order of events in a stream
- Step 21 - Is the *triplet* really necessary?
- Step 22 - Toward generic processes
- Step 23 - More than one input
- Step 24 - `workflow` instead of `process`
- Step 25 - Custom scripts
- Step 26 - The missing link
- Putting it all together