> For the complete documentation index, see [llms.txt](https://help.bioinsight.illumina.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bioinsight.illumina.com/connected-analytics/project-web-ui/p-flow/pipelines-new-view.md).

# Pipelines

A Pipeline is a series of Tools with connected inputs and outputs configured to execute in a specific order.

## Overview

The pipelines inventory (**Projects > your\_project > Flow > Pipelines** ) shows an overview of your available pipelines.

<figure><img src="https://3193631692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWUqIqZhOK_i4HqCUpT%2Fuploads%2Fgit-blob-abdef3b9a063c58037d97def82d5d145e439b1a5%2Fimage%20(11).png?alt=media" alt=""><figcaption></figcaption></figure>

1. This is the alphabetical list of **pipelines**. For each pipeline, you can see the icon, name, version, last used time, owner, status and description.\
   If the pipeline owner belongs to the same tenant as you, their name is shown, otherwise, only the tenant name is displayed.\
   The last used date shows you when an analysis with this pipeline was last performed.

   * **Clicking on the** [**version**](#versions) will display a list of available versions.\
     Versions without version number will be shown as "*unversioned*".
   * **Clicking on the date** will bring you to that analysis.

   When switching to list view (5), you can sort on pin, name, last used date, description or language.
2. The **pin icon** is used to pin your favourite pipelines to the top of the list. Use this to keep your most used pipelines together at the top of your view. Manually sorting pipelines in the list view will override the order of pinned pipelines first, this prevents your sort order from being interrupted by the pin property.\
   *Only one version of a pipeline can be pinned.*
3. **Quick filters** let you quickly filter out common combinations like pipelines you created, pipelines which were provided by Illumina or pipelines which have been used in projects. You can see the exact filter criteria and add additional criteria when a quickfilter is active by opening the filter (4) tab. Selecting a quick filter resets active filter criteria.
4. The **filter symbol** lets you quickly filter pipelines by properties such as only those that have been pinned or last used in a specific data range. Filters are case-insensitive and are reset when leaving the inventory.
5. If you know the name or part of the name, use the **search dialog** to find your pipeline. The search is case-insensitive and limited to 250 characters. Wildcards are automatically applied to the beginning and end of the search term. To add additional wildcards use underscore (\_) for a single character and the percentage symbol (%) for multiple characters.
6. You can switch between **card view and list view** with the symbols at the top right. Filters are retained when switching between views.

## Linking Existing Pipelines

Linking a pipeline (**Projects > your\_project > Flow > Pipelines > Link**) adds that pipeline to your project. This is not as a copy, but the actual pipeline, so any changes to the pipeline are automatically propagated to and from any project which has this pipeline linked.

You can link a pipeline if it is available from your tenant, a [bundle](/connected-analytics/web-ui-access/h-bundles.md), or an activation code. **Activation codes** let you run analyses and allocate the required resources for accounting.

{% hint style="info" %}
**Activation codes** are tokens which allow you to run your analyses and are used for accounting and allocating the appropriate resources. Platform Core will automatically determine the best matching activation code, but this can be overwritten if needed.
{% endhint %}

### Unlinking

If you **unlink a pipeline** (**Projects > your\_project > Flow > Pipelines > your\_pipeline> three dots > Unlink**) it removes the pipeline from your project, but the pipeline remains part of the list of pipelines of your tenant, so it can be linked to other projects later on.

### Bundles

When Illumina provides pipelines via a [Bundle](/connected-analytics/web-ui-access/h-bundles.md), they will be visible in all your projects when they are discoverable by default and you are entitled to the bundle. When they are not discoverable by default, they will only appear in your project when linking the bundle.

## Deleting a Pipeline

**Pipelines can be deleted from the API** when they are in status Draft, Archived, or failed/incomplete-import. **Released pipelines cannot be deleted.** From the GUI, pipelines can only be archived, not deleted.

{% code overflow="wrap" expandable="true" %}

```
DELETE /api/projects/{projectId}/pipelines/{pipelineId}:delete
```

{% endcode %}

{% code overflow="wrap" expandable="true" %}

```
# the requests library will allow you to make HTTP requests
import requests

# Replace <your_generated_API_key> with your actual generated API key here.
headers = {
    'X-API-Key': '<your_generated_API_key>',
}

# Replace <your_project_identifier> and <your_pipeline_identifier> with your actual project and pipeline identifier here.
Project_Identifier = "<your_project_identifier>"
Pipeline_Identifier = "<your_pipeline_identifier>"
url = "https://stage.v2.stratus.illumina.com/ica/rest/api/projects/"+(Project_Identifier)+"/pipelines/"+(Pipeline_Identifier)+":delete"
response = requests.delete(url, headers=headers)

#response
print("Response status code for Pipeline: ", response.status_code)
```

{% endcode %}

***

## Create a Pipeline

You can design and develop your own pipelines. Pipelines exist within projects, but can be shared between different projects.

1. Navigate to **Projects > your\_project > Flow > Pipelines > +Create**.
2. Select **Nextflow** (XML / JSON / Git) , **CWL Graphical** or **CWL code** (XML / JSON / Git) to create a new Pipeline.
3. Configure pipeline settings in the [pipeline property](#pipeline-properties) tabs.\
   *Specifically for graphical CWL pipelines, drag connectors to link tools to input and output files in the canvas. Required tool inputs are indicated by a yellow connector.*
4. Select Save.

{% hint style="info" %}
Pipelines use the latest tool definition when the pipeline was last saved. Tool changes do not automatically propagate to the pipeline. In order **to update the pipeline with the latest tool changes, edit the pipeline definition by removing the tool and re-adding it** back to the pipeline.
{% endhint %}

{% hint style="info" %}
Individual Pipeline files are limited to 20 Megabytes. If you need to add more than this, split your content over multiple files.
{% endhint %}

#### Versions

Multiple versions of the same pipeline appear as a single card with a drop-down to choose the desired version. The version shown is determined by:

1. Pinned Version
2. Version last used for an analysis
3. highest available version in the project

<figure><img src="https://3193631692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWUqIqZhOK_i4HqCUpT%2Fuploads%2Fgit-blob-ea27bbeb70ad45eab187a2cec30d2bd54676c3bd%2Fimage%20(31).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

To **change the version number** of an existing pipeline, open the pipeline, select the three dots at the top right and edit the original pipeline. Use the **save** button on the top right. This will let you change the version number and add version comments.

To **create a new version** of a pipeline, open the pipeline and either

* Select the **three dots** at the top right and choose **Create new version**.
* Or select the **three dots** at the top right and **edit** the original pipeline. Use the **save as** button on the top right. This will let you set the version number and add version comments of the copy.

This version number will appear on any analysis based on this pipeline so when when requesting details on the analysis, you are forwarded to the correct pipeline version.

To make modifications to version numbers with the [API](/connected-analytics/api-access/r-api.md), use endpoint

{% code overflow="wrap" expandable="true" %}

```
POST /api/projects/{projectId}/pipelines/{pipelineId}/generalAttributes
```

{% endcode %}

If you try to create a new version and get the error that this version number already exists, even though you can not see it in the list, the pipeline may have been unlinked. You can verify this by using the link function and looking at the list of linkable pipelines.

#### Cloning

To create a **copy of a pipeline with a different name**, use the cloning function. Located at the top right under the three vertical dots symbol. This creates an editable copy which can be modified as needed. This copy will be considered a new pipeline, not a [new version](#new-version) of the original pipeline.

To make clone pipelines with the [API](/connected-analytics/api-access/r-api.md), use endpoint

{% code overflow="wrap" expandable="true" %}

```
POST /api/projects/{projectId}/pipelines/{pipelineId}:clone
```

{% endcode %}

#### Moving a Pipeline as Version of another Pipeline.

You can move a pipeline version to become a new version of another pipeline to reconcile work done on your copy. Select your pipeline and version, choose the **tree vertical dots** at the top right and select the **move** option. This will open a dialog where you can choose the destination pipeline and as which version of that pipeline it should be saved. You will then no longer see your pipeline in your overview, but only as a version of the destination pipeline.

### Pipeline Status

When editing a pipeline, the **draft**, **released**, **deprecated**, and **archived** statuses provide an easy way to set pipeline availability, user communication, and transition planning.

To change the pipeline status, select your pipeline at **Projects > your\_project > Pipelines > your\_pipeline > three dots symbol on the top right > change status.**

{% hint style="info" %}
You can edit pipelines as pipeline owner or tenant administrator while they are in Draft status. Once they move away from draft, pipelines can no longer be edited. Pipelines can be cloned (top right in the details view) to create a new editable version.

If you want to make **modifications to a pipeline when it is in draft and you are not the owner or after the pipeline has been released**, you need to create a new editable version of that pipeline by **cloning** it (top right in the pipeline details view).
{% endhint %}

<table data-view="cards"><thead><tr><th>Status</th><th>Purpose</th><th>Best Practice</th></tr></thead><tbody><tr><td><strong>Draft</strong></td><td>Use the draft status while <strong>developing or testing</strong> a pipeline version internally.</td><td>Only share draft pipelines with collaborators who are actively involved in testing what you have developed. Your collaborators cannot edit the pipeline, but they can make editable copies of it to help solving issues..</td></tr><tr><td><strong>Released</strong></td><td>The released status signals that a pipeline is stable and ready <strong>for general use</strong>.</td><td>Share your pipeline when it is ready for broad use. Ensure users have access to current documentation and know where to find support or updates. Releasing a pipeline is only possible if all tools of that pipeline must be in released status.</td></tr><tr><td><strong>Deprecated</strong></td><td>Deprecation is used when a pipeline version is <strong>scheduled for retirement or replacement</strong>. Deprecated pipelines <strong>can not be linked</strong> to bundles, but will not be unlinked from existing bundles. Users who already have access will <strong>still be able to start analyses</strong>. You can add a message (max 256 chars) when deprecating pipelines.</td><td>Deprecate in advance of archiving a pipeline, making sure the new pipeline is available in the same bundle as the deprecated pipeline. This will allow the pipeline author to link the new or alternative pipeline in the deprecation message field.</td></tr><tr><td><strong>Archived</strong></td><td>Archiving a pipeline version removes it from active use; users <strong>can no longer launch</strong> <strong>analyses</strong>. Archived pipelines can not be linked to bundles, but are not automatically unlinked from bundles or projects. You can add a message (max 256 chars) when archiving pipelines.</td><td>Warn users in advance: Deprecate the pipeline before archiving to allow existing users time to transition. Use the archive message to point users to the new or alternative pipeline</td></tr></tbody></table>

#### API Pipeline Status Control

* To **deprecate** a pipeline use
  * `/api/pipelines/{pipelineId}:deprecate` or
  * `/api/projects/{projectId}/pipelines/{pipelineId}:deprecate`
* To **archive** a pipeline use
  * `/api/pipelines/{pipelineId}:archive` or
  * `/api/projects/{projectId}/pipelines/{pipelineId}:archive`

To update the archival/deprecation message, call the endpoint afain with the new message contents.

***

## Pipeline Properties

The following sections describe the properties that can be configured in each tab of the pipeline editor.

Depending on how you design the pipeline, the displayed tabs differ between the pipeline types. **Nextflow** is always defined in code mode, either in ICA itself or imported from Git, **CWL** can be defined in both code and graphical mode.

Any additional source files related to your pipeline will be shown on the Inputform/XML configuration files tab in alphabetical order.

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Nextflow Code</strong></td><td><ul><li>Details</li><li>Documentation</li><li>Inputform Files (JSON) or XML Configuration (XML)</li><li>Nextflow files</li><li>Metadata Model</li><li>Report</li></ul></td><td><p>For <strong>Git-imported</strong> pipelines, you will have</p><ul><li>Details</li><li>Inputform files</li><li>Report</li></ul></td></tr><tr><td><strong>CWL Code</strong></td><td><ul><li>Details</li><li>Documentation</li><li>Inputform files (JSON) or XML Configuration (XML)</li><li>CWL Files</li><li>Metadata Model</li><li>Report</li></ul></td><td></td></tr><tr><td><strong>CWL Graphical</strong></td><td><ul><li>Details</li><li>Documentation</li><li>Definition</li><li>Metadata Model</li><li>Report</li></ul></td><td></td></tr></tbody></table>

See the following pages for language-specific details for defining pipelines:

* [Nextflow](/connected-analytics/project-web-ui/p-flow/pipelines-new-view/pi-nextflow.md)
* [CWL](/connected-analytics/project-web-ui/p-flow/pipelines-new-view/pi-cwl.md)

***

### Details

The details tab provides options for configuring basic information about the pipeline.

<table><thead><tr><th width="190.35760498046875">Field</th><th>Entry</th></tr></thead><tbody><tr><td>Name</td><td>The name of the pipeline. The name must be max 255 characters, and unique within the tenant, including linked and unlinked pipelines.</td></tr><tr><td>Nextflow Version</td><td>User selectable Nextflow version available only for Nextflow pipelines.</td></tr><tr><td>Description</td><td>A short description of the pipeline.</td></tr><tr><td>Status</td><td>The <a href="#pipeline-statuses">release status</a> of the pipeline.</td></tr><tr><td>Proprietary</td><td>Hide the pipeline scripts and details from users who do not belong to the tenant who owns the pipeline. This also prevents cloning the pipeline.</td></tr><tr><td>Icon</td><td>Icons to quickly determine the pipeline type.</td></tr><tr><td>Version Number</td><td>Mandatory version number to indicate which iteration of the pipeline this is. You will see this version number as last part of the pipeline identifier URN.</td></tr><tr><td>Version Comment</td><td>Provide information about your pipeline version. Preferably what has changed in this version.<br>You can retrieve this information with API endpoint <code>get api/projects/{projectId}/pipelines/{pipelineId}/versionComment</code></td></tr><tr><td>Storage size</td><td>User selectable <a href="/connected-analytics/reference/r-resources/r-pricing.md#data-storage">storage size</a> for running the pipeline. This must be large enough to run the pipeline, but setting it too large incurs unnecessary costs. The storage size is displayed in gibibyte (2³⁰ bytes) when selected. Larger storage sizes are shown in both gibibyte and terabytes.</td></tr><tr><td>Links</td><td>External reference links. (max 100 chars as name and 2048 chars as link)</td></tr></tbody></table>

The following information becomes visible when viewing the pipeline details.

<table><thead><tr><th width="194.2396240234375">Field</th><th>Entry</th></tr></thead><tbody><tr><td>ID</td><td>Unique Identifier of the pipeline.</td></tr><tr><td>URN</td><td>Identification of the pipeline in Uniform Resource Name.</td></tr></tbody></table>

The **clone** action will be shown in the pipeline details unter the three dots at the top-right. Cloning a pipeline allows you to create modifications without impacting the original pipeline. When cloning a pipeline, you become the owner of the cloned pipeline. When you clone a pipeline, you must give it a unique name and a version number because no duplicate names are allowed within all projects of the tenant. **So the** **name must be unique per tenant**. It is possible that you see the same pipeline name twice when a pipeline linked from another tenant is cloned with that same name in your tenant. The name is then still unique per tenant, but you will see them both in your tenant.

When you clone a Nextflow pipeline, a verification of the configured Nextflow version is done to prevent the use of deprecated versions.

### Documentation

The Documentation tab is where you explain how your pipeline works to other users. You can enter rich formatted text and add images here to help explain your pipeline.

Illumina-provided pipelines open on the documentation tab instead of the details tab by default.

{% hint style="info" %}
When you export a CWL pipeline, the documentation will not be included.
{% endhint %}

### Definition (Graphical)

When using graphical mode for the pipeline definition, the Definition tab provides options for configuring the pipeline using a visualization panel and a list of component menus.

<table><thead><tr><th width="219">Menu</th><th>Description</th></tr></thead><tbody><tr><td>Machine profiles</td><td><a href="#compute">Compute types</a> available to use with Tools in the pipeline.</td></tr><tr><td>Shared settings</td><td>Settings for pipelines used in more than one tool.</td></tr><tr><td>Reference files</td><td>Descriptions of reference files used in the pipeline.</td></tr><tr><td>Input files</td><td>Descriptions of input files used in the pipeline.</td></tr><tr><td>Output files</td><td>Descriptions of output files used in the pipeline.</td></tr><tr><td>Tool</td><td>Details about the tool selected in the visualization panel.</td></tr><tr><td>Tool repository</td><td>A list of tools available to be used in the pipeline.</td></tr></tbody></table>

{% hint style="info" %}
In graphical mode, you can **drag and drop inputs** into the visualization panel to connect them to the tools. Make sure to **connect the input icons to the tool before editing the input details** in the component menu. Required tool inputs are indicated by a yellow connector.

**Safari is not supported** as browser for graphical editing.
{% endhint %}

{% hint style="warning" %}
When creating a graphical CWL pipeline, **do not use spaces in the input field names, use underscores instead**. The API performs normalization of input names when running the analysis to prevent issues with special characters (such as accented letters) by replacing them with their more common (unaccented) counterpart. Part of this normalization includes replacing spaces in names with underscores. This normalization is applied to file input name, reference file input name, step id and step parameters.

You will encounter the error ICA\_API\_004 "No value found for required input parameter" when trying to run an API analysis on a graphical pipeline that has been designed with spaces in input parameters.
{% endhint %}

### XML Configuration / JSON Inputform Files (Code)

This page is used to specify all relevant information about the pipeline parameters.

{% hint style="info" %}
There is a limit of 200 reports per report pattern which will be shown when you have multiple reports matching your regular expression.
{% endhint %}

### Compute Resources

#### Compute Nodes

For each process defined by the workflow, Platform Core will launch a compute node to execute the process.

* For each compute type, the `standard` (default - AWS on-demand) or `economy` (AWS spot instance) tiers can be selected.
* When selecting an **fpga** instance type for running analyses on Platform Core, it is recommended to use the medium size. While the large size offers slight performance benefits, these do not proportionately justify the associated cost increase for most use cases.
* When no type is specified, the default type of compute node is `standard-small`.

{% hint style="info" %}
You can see **which resources were used** in the different analysis steps at **Projects > your\_project > Flow > Analyses > your\_analysis > Steps tab**. (For child steps, these are displayed on the parent step)
{% endhint %}

By default, compute nodes have no scratch space. This is an advanced setting and should only be used when absolutely necessary as it will incur additional costs and may offer only limited performance benefits because it is not local to the compute node.

For simplicity and better integration, consider using shared storage available at `/ces`. It is what is provided in the Small/Medium/Large+ compute types. This shared storage is used when writing files with relative paths.

<details>

<summary>Scratch space notes</summary>

If you do require scratch space via a Nextflow pod annotation or a CWL resource requirement, the path is `/scratch`.

* For Nextflow `pod annotation: 'volumes.illumina.com/scratchSize', value: '1TiB'` will reserve 1 TiB.
* For CWL, adding `- class: ResourceRequirement tmpdirMin: 5000` to your requirements section will reserve 5000 MiB for CWL.

<mark style="color:red;">**Avoid the following**</mark> as it does not align with ICAv2 scratch space configuration.

* Container overlay tmp path: `/tmp`
* Legacy paths: `/ephemeral`
* Environment Variables ($TMPDIR, $TEMP and $TMP)
* Bash Command `mktemp`
* CWL `runtime.tmpdir`

</details>

#### Compute Types

Daemon sets and system processes consume approximately 1 CPU and 2 GB Memory from the base values shown in the table. Consumption will vary based on the activity of the pod.

| <p><br>Compute Type</p>      | CPUs | Mem (GiB) | Nextflow (`pod.value`) | CWL (`type, size`) |
| ---------------------------- | ---- | --------- | ---------------------- | ------------------ |
| standard-small               | 2    | 8         | standard-small         | standard, small    |
| standard-medium              | 4    | 16        | standard-medium        | standard, medium   |
| standard-large               | 8    | 32        | standard-large         | standard, large    |
| standard-xlarge              | 16   | 64        | standard-xlarge        | standard, xlarge   |
| standard-2xlarge             | 32   | 128       | standard-2xlarge       | standard, 2xlarge  |
| standard-3xlarge             | 64   | 256       | standard-3xlarge       | standard, 3xlarge  |
| hicpu-small                  | 16   | 32        | hicpu-small            | hicpu, small       |
| hicpu-medium                 | 36   | 72        | hicpu-medium           | hicpu, medium      |
| hicpu-large                  | 72   | 144       | hicpu-large            | hicpu, large       |
| himem-small                  | 8    | 64        | himem-small            | himem, small       |
| himem-medium                 | 16   | 128       | himem-medium           | himem, medium      |
| himem-large                  | 48   | 384       | himem-large            | himem, large       |
| himem-xlarge<sup>2</sup>     | 92   | 700       | himem-xlarge           | himem, xlarge      |
| hiio-small                   | 2    | 16        | hiio-small             | hiio, small        |
| hiio-medium                  | 4    | 32        | hiio-medium            | hiio, medium       |
| fpga2-medium<sup>1</sup>     | 24   | 256       | fpga2-medium           | fpga2,medium       |
| fpga2-large<sup>1</sup>      | 48   | 512       | fpga2-large            | fpga2,large        |
| gpu-small                    | 8    | 61        | gpu-small              | gpu, small         |
| gpu-medium                   | 32   | 244       | gpu-medium             | gpu, medium        |
| transfer-small<sup>3</sup>   | 4    | 10        | transfer-small         | transfer, small    |
| transfer-medium <sup>3</sup> | 8    | 15        | transfer-medium        | transfer, medium   |
| transfer-large<sup>3</sup>   | 16   | 30        | transfer-large         | transfer, large    |

{% hint style="warning" %} <sup>1</sup> **DRAGEN pipelines running on fpga2** compute type will incur a DRAGEN license cost of 0.10 BIC per gigabase of data processed, with additional **discounts** as shown below.

* **80 or less** gigabase per sample - no discount - 0.10 BIC per gigabase
* **> 80 to 160** gigabase per sample - 20% discount - 0.08 BIC per gigabase
* **> 160 to 240** gigabase per sample - 30% discount - 0.07 BIC per gigabase
* **> 240 to 320** gigabase per sample - 40% discount - 0.06 BIC per gigabase
* **> 320 and more** gigabase per sample - 50% discount - 0.05 BIC per gigabase

**DRAGEN Iterative gVCF Genotyper (iGG)** will incur a **license cost** of **0.6216 BIC per gigabase**. For example, a sample of 3.3 gigabase human reference will result in 2 BIC per sample. The associated **Compute costs** will be based on the compute instance chosen.

The **ORA (Original Read Archive) compression pipeline** is part of the DRAGEN platform. It performs lossless genomic data compression to reduce the size of FASTQ and FASTQ.GZ files (up to 4-6x smaller) while preserving data integrity with internal checksum verification. The ORA compression pipeline has a **license cost** of **0.017 BIC per input Gbase**; decompression does not have an associated license cost.
{% endhint %}

{% hint style="warning" %}
The ***DRAGEN\_Map\_Align*** **pipeline running on fpga2** has the standard **DRAGEN license cost** of 0.10 BIC per Gbase processed, with but replaces the standard volume discounts with the **discounts** shown below.

* **10 or less** gigabase per sample - no discount - 0.10 BIC per gigabase
* **> 10 to 25** gigabase per sample - 30% discount - 0.07 BIC per gigabase
* **> 25 to 60** gigabase per sample - 70% discount - 0.03 BIC per gigabase
* **> 60 and more** gigabase per sample - 85% discount - 0.015 BIC per gigabase
  {% endhint %}

{% hint style="info" %}
(2) The compute type **himem-xlarge** has low availability.
{% endhint %}

{% hint style="danger" %}
FPGA1 instances were decommissioned on Nov 1st 2025. Please migrate to F2 for improved capacity and performance with up to 40% reduced turnaround time for analysis.
{% endhint %}

{% hint style="info" %}
(3) The transfer size selected is based on the selected storage size for compute type and used during upload and download system tasks.
{% endhint %}

### Nextflow/CWL Files (Code)

Syntax highlighting is determined by the file type, but you can select alternative syntax highlighting with the drop-down selection list. The following formats are supported:

* DIFF (.diff)
* GROOVY (.groovy .nf)
* JAVASCRIPT (.js .javascript)
* JSON (.json)
* SH (.sh)
* SQL (.sql)
* TXT (.txt)
* XML (.xml)
* YAML (.yaml .cwl)

{% hint style="info" %}
If the file type is not recognized, it will default to text display. This can result in the application interpreting binary files as text when trying to display the contents.
{% endhint %}

#### Main.nf (Nextflow code)

The Nextflow project main script.

#### Nextflow\.config (Nextflow code)

The Nextflow configuration settings.

#### Workflow\.cwl (CWL code)

The Common Workflow Language main script.

#### Adding Files

Multiple files can be added by selecting the **+Create** option at the bottom of the screen to make pipelines more modular and manageable.

### Metadata Model

See [Metadata Models](/connected-analytics/web-ui-access/h-metadatamodels.md)

### Report

Here patterns for detecting report files in the analysis output can be defined. On opening an analysis result window of this pipeline, **an additional tab will display these report files.** The goal is to provide a pipeline-specific user-friendly representation of the analysis result.

To add a report select the **+ symbol** on the left side. Provide your report with a unique name, a regular expression matching the report and optionally, select the format of the report. This must be the source format of the report data generated during the analysis.

{% hint style="info" %}
There is a limit of 20 reports per report pattern which will be shown when you have multiple reports matching your regular expression.
{% endhint %}

<table><thead><tr><th width="196">Field</th><th>Entry</th></tr></thead><tbody><tr><td>User Reference</td><td>The unique analysis name.</td></tr><tr><td>Pipeline</td><td>This is not editable, but provides a link to the pipeline so you want to look up details of the pipeline.</td></tr><tr><td>User tags (optional)</td><td>One or more tags used to filter the analysis list. Select from existing tags or type a new tag name in the field.</td></tr><tr><td>Notification (optional)</td><td>Enter your email address if you want to be notified when the analysis completes.</td></tr><tr><td>Output Folder<sup>1</sup></td><td>Select a folder in which the <strong>output folder of the analysis</strong> should be located. When <strong>no folder is selected</strong>, the output folder will be located in the <strong>root of the project</strong>.<br><br>When you open the folder selection dialog, you have the option to <strong>create a new folder</strong> (bottom of the screen). You can create nested folders by using the <code>folder/subfolder</code> syntax.<br><em>Do not use a / before the first folder or after the last subfolder in the folder creation dialog.</em></td></tr><tr><td>Logs Folder</td><td><p>Select a folder where the <strong>analysis logs</strong> will be stored. When <strong>no logs folder is selected</strong>, they will be stored as <strong>subfolder in the output folder</strong>. When you select a logs folder different from your output folder, the folders will be separated.<br><br>When you open the folder selection dialog, you can <strong>create a new folder</strong> (bottom of the screen). Create nested folders by using the <code>folder/subfolder</code> syntax. <em>Do not use a / before the first folder or after the last subfolder in the folder creation dialog.</em></p><p><em><strong>When choosing a folder containing data, files with the same name will be overwritten.</strong></em></p></td></tr><tr><td>Input</td><td>Select the input files to use in the analysis. (max. 50,000)</td></tr><tr><td>Settings (optional)</td><td>Provide input settings.</td></tr><tr><td>Resources</td><td>Select the storage size for your analysis. The available storage sizes depend on your selected Pricing subscription. See <a href="/connected-analytics/reference/r-resources/r-pricing.md#data-storage">Storage</a> for more information.</td></tr></tbody></table>

<sup>1</sup> When using the API, you can [redirect analysis outputs](/connected-analytics/project-web-ui/p-flow/f-analyses.md#analysis-output-mappings) to be outside of the current project.

You can view analysis results on the Analyses page or in the output folder on the Data page. You can also **rerun your analysis** from here.

* **Details** - View information on the pipeline configuration.
* **Output files** - View the output of the Analysis.
* **Steps** - stderr and stdout information.
* **CWL** - The CWL pipeline definition.
* **Nextflow timeline** - Nextflow process execution timeline.
* **Nextflow execution** - Nextflow analysis report. Showing the run times, commands, resource usage and tasks for Nextflow analyses.
* **Report** - Shows the reports defined on the [pipeline report ](#report-code)tab.

{% hint style="info" %}
Other tabs can be available depending on your chosen pipeline.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.bioinsight.illumina.com/connected-analytics/project-web-ui/p-flow/pipelines-new-view.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
