Process Guide
This guide will walk you through the creation of Via Foundry processes.
Inputs
This section is where you enter all your process's input nodes.
Clicking the Add input Parameter... dropdown will show a list of all existing
inputs, from which you can select those you wish to use. After adding a
selected parameter as a input node, you'll see:
* Input Name box: Controls the variable name in your script
* Operator dropdown: Advance input processing
* Operator Content: Additional parameters for the Operator chosen
* Optional: Where this input is required
* Test Value: When running in test mode - the default value for this input

The Input Name box is used to define Nextflow variables that will be
used in the Scripts section. For example, if you
enter the input name as "genome," you can call this variable as
${genome} in the Script field. Here are some other examples:
| Qualifier | Input name | How to Reference in the Script |
|---|---|---|
| val | script_path | ${script_path} |
| each | bed_list | ${bed_list} |
| file | genome | ${genome} |
| set | val(name), file(genome) | ${genome} |
| set | val(name), file(genome) | ${name} |
Additionally, if you need to transform values emitted by a channel, you
can click the Add/Remove Operator button, then select operators from
the Operators dropdown menu that appears.
Optional Inputs
If you want to use an optional input parameter, you can check the
Optional checkbox. This feature provides flexibility to the user while
defining their process, as the process will still be executed even if
the input parameter is not provided.
Operators
If you need to transform values emitted by a channel, you can click the
Operators button and select operators from the dropdown menu. This
allows you to apply various operations or modifications to the emitted
values. Optionally, you can specify the operator content to customize
its behavior according to your requirements. Additionally, you can add
multiple operators by enclosing them within parentheses ( ).
Here are some examples of operators and their usage:
| Operator | Operator Content | Usage |
|---|---|---|
| flatMap | ().buffer(size:3) | Groups 3 emitted items into one new channel. |
| groupTuple | Collects tuples (or lists) of values emitted and groups them based on their key value. | |
Tip: To get more information about operators, check out this link to Nextflow's documentation.