Parameters

Alternative parameter file formats

More parameters can be specified using the next format

example.csv

  parameter1, parameter2
  value11,    value21
  value12,    value22
  value13,    value23

Alternatively, parameters can be specified in the +.properties+ style. The parameters file also should have the +.properties+ extension.

example.properties

  parameter1 = value11, value12, value13
  parameter2 = value21, value22, value23

Values for the workflow to iterate over can be passed as CSV file with parameter names in the header (a-zA-Z0-9 and underscore, starting with a-zA-Z) and parameter values in each row. Use quotes to escape commas, e.g. "a,b".

Each value is one of the following:

  • a string

  • a Freemarker template documentation

  • a series i..j (where i and j are two integers), meaning from i to j including i and j

  • a list of ';' separated values (may contain templates)

Joining parameter files

You can combine multiple parameter files: the values will be 'natural joined' based on overlapping columns.

Example with two or more parameter files:

f1.csv (white space will be trimmed):

f2.csv (white space will be trimmed):

Merged and expanded result for f1.csv + f2.csv:

More complex parameter examples can combine values with template, as following:

Here, variable 'bar' has two values of variable 'foo'.

Specifying workflow in parameters file

Alternatively to specifying workflow in the command-line using '-w' or '--workflow', workflow can be present as a parameter in parameters.csv file:

Lists of parameters

Parameters can be specified in several parameter files. To understand how 'list' parameter specification works, let's consider the case with 2 parameter files and 1 protocol.

parameters1.csv

parameters2.csv

The example protocol looks like

protocol1.sh

Here, 'sample' and 'chr' parameters are coming from 2 different parameter files. Both parameters are specified as 'list' in the protocol. These lists of parameters will not be combined, since they are coming from different parameters files. The generated parameters lists will have the next look:

If users want to combine lists that coming from separated files, lists should be declared on the same line, like

It will produce one list with all possible combination of parameters:

It is not the desired behaviour in the considered protocol:

Last updated