Input Form

Pipelines defined using the "Code" mode require an XML-based input form to define the fields shown on the launch view in the user interface (UI). This is defined in the "XML Configuration" tab of the pipeline editing view.
Input Form Example
The input form XML must adhere to the input form schema.

Empty Form

During the creation of a Nextflow pipeline the user is given an empty form to fill out.
<pipeline code="" version="1.0" xmlns="xsd://">


The input files are specified within a single DataInputs node. An individual input is then specified in a separate DataInput node. A DataInput node contains following attributes:
  • code: an unique id. Required.
  • format: specifying the format of the input: FASTA, TXT, JSON, UNKNOWN, etc. Multiple entries are possible: example below. Required.
  • type: is it a FILE or a DIRECTORY? Multiple entries are not allowed. Required.
  • required: is this input required for the execution of a pipeline? Required.
  • multiValue: are multiple files as an input allowed? Required.
  • dataFilter: TBD. Optional.
Additionally, DataInput has two elements: label for labelling the input and description for a free text description of the input.

Single file input

An example of a single file input which can be in a TXT, CSV, or FASTA format.
<pd:dataInput code="in" format="TXT, CSV, FASTA" type="FILE" required="true" multiValue="false">
<pd:label>Input file</pd:label>
<pd:description>Input file can be either in TXT, CSV or FASTA format.</pd:description>

Folder as an input

To use a folder as an input the following form is required:
<pd:dataInput code="fastq_folder" format="UNKNOWN" type="DIRECTORY" required="false" multiValue="false">
<pd:label>fastq folder path</pd:label>
<pd:description>Providing Fastq folder</pd:description>

Multiple files as an input

For multiple files set the attribute multiValue to true.
<pd:dataInput code="tumor_fastqs" format="FASTQ" type="FILE" required="false" multiValue="true">
<pd:label>Tumor FASTQs</pd:label>
<pd:description>Tumor FASTQ files to be provided as input. FASTQ files must have "_LXXX" in its filename to denote the lane and "_RX" to denote the read number. If either is omitted, lane 1 and read 1 will be used in the FASTQ list. The tool will automatically write a FASTQ list from all files provided and process each sample in batch in tumor-only mode. However, for tumor-normal mode, only one sample each can be provided.


Settings (as opposed to files) are specified within the steps node. Settings represent any non-file input to the workflow, including but not limited to, strings, booleans, integers, etc. The following hierarchy of nodes must be followed: steps > step > tool > parameter. The parameter node must contain following attributes:
  • code: unique id. This is the parameter name that is passed to the workflow
  • minValues: how many values (at least) should be specified for this setting. If this setting is required, minValues should be set to 1.
  • maxValues: how many values (at most) should be specified for this setting
  • classification: is this setting specified by the user?
In the code below a string setting with the identifier inp1 is specified.
<pd:step execution="MANDATORY" code="General">
<pd:description>General parameters</pd:description>
<pd:tool code="generalparameters">
<pd:parameter code="inp1" minValues="1" maxValues="3" classification="USER">
Examples of the following types of settings are shown in the subsequent sections. Within each type, the value tag can be used to denote a default value in the UI, or can be left blank to have no default. Note that setting a default value has no impact on analyses launched via the API.


For an integer setting the following schema with an element integerType is to be used. To define an allowed range use the attributes minimumValue and maximumValue.
<pd:parameter code="ht_seed_len" minValues="0" maxValues="1" classification="USER">
<pd:label>Seed Length</pd:label>
<pd:description>Initial length in nucleotides of seeds from the reference genome to populate into the hash table. Consult the DRAGEN manual for recommended lengths. Corresponds to DRAGEN argument --ht-seed-len.
<pd:integerType minimumValue="10" maximumValue="50"/>


Options types can be used to designate options from a drop-down list in the UI. The selected option will be passed to the workflow as a string. This currently has no impact when launching from the API, however.
<pd:parameter code="cnv_segmentation_mode" minValues="0" maxValues="1" classification="USER">
<pd:label>Segmentation Algorithm</pd:label>
<pd:description> DRAGEN implements multiple segmentation algorithms, including the following algorithms, Circular Binary Segmentation (CBS) and Shifting Level Models (SLM).
Option types can also be used to specify a boolean, for example
<pd:parameter code="output_format" minValues="1" maxValues="1" classification="USER">
<pd:label>Map/Align Output</pd:label>


For a string setting the following schema with an element stringType is to be used.
<pd:parameter code="output_file_prefix" minValues="1" maxValues="1" classification="USER">
<pd:label>Output File Prefix</pd:label>


For a boolean setting, booleanType can be used.
<pd:parameter code="quick_qc" minValues="0" maxValues="1" classification="USER">