# NovaSeq X Series Sequencing v2.0 Configuration

The Illumina NovaSeq X Series Integration Packages support the integration of Clarity LIMS with Illumina NovaSeq X Series instruments. The NovaSeq X Series Integration Package v1.4.0 enables cloud‑based run planning and tracking via BaseSpace Sequence Hub, while the NovaSeq X Series On‑Prem Integration Package v1.1.0 enables on‑premises run planning and tracking via the Illumina Run Manager platform.

For instructions on validating and troubleshooting the Illumina NovaSeq X Series On-Premise Integration, refer to [NovaSeq X Series On-Premise Integration v1.1.0 User Interaction, Validation and Troubleshooting](https://github.com/illumina-swi/clarity-int-docs/blob/main/docs/int/novaseqx/novaseqx-series-workflow\&configuration/novaseqx-series-workflow\&configuration-v2.0/novaseqx-onprem-v1.1.0-user-interaction-validation-and-troubleshooting.md).

## Prerequisites and Assumptions

* The NovaSeq X Series Integration v1.4.0 requires a valid BaseSpace Sequence Hub account with an Enterprise or Professional subscription.
* The NovaSeq X Series On-Premise Integration v1.1.0 requires NovaSeq X Control Software version v1.4 and above.
* (Optional) The required Analysis Configuration Templates (ACTs), have been created on BaseSpace Sequence Hub or Illumina Run Manager UI.

  > ⚠ ACT names created must not have leading or trailing spaces.
* The NovaSeq X Series On-Premise Integration v1.1.0 requires NovaSeq X Control Software version v1.4 and above.
* The index adapter kit configured in the ACT must be created as label group in Clarity LIMS and used in the library preparation step for indexing the samples.
* Samples must go through the library preparation and quantification process before they enter the NovaSeq X Series Sequencing v2.0 workflow. It is assumed that the following steps have completed before samples are assigned to the workflow:

  * Samples have been accessioned into Clarity LIMS.
  * Sample and library names must contain only alphanumeric, dash, or underscore characters.
  * Samples have been run through QC and library prep.
  * Samples have the Molarity (nM) global field set to a valid value (required for the 'Calculate Volumes' automation in the Make Bulk Pool step).

  For more information on sample accessioning, refer to Sample Accessioning and Upload and Modify Samples in the Getting Started section of the [Clarity LIMS (Clarity & LabLink Reference Guide) documentation](https://github.com/illumina-swi/clarity-int-docs/blob/main/docs/int/novaseqx/clarity-lims/clarity-and-lablink.md).

  You can assign samples to workflows automatically, using a routing script, or manually—from the Projects & Samples dashboard. Refer to Assign and Process Samples in the [Clarity LIMS (Clarity & LabLink Reference Guide) documentation](https://github.com/illumina-swi/clarity-int-docs/blob/main/docs/int/novaseqx/clarity-lims/clarity-and-lablink.md).

## Workflows, Protocols, and Steps

Both integration packages include the following workflows:

* NovaSeq X Series Sequencing v2.0
* Library Prep Validation v2.3.7 (optional, but recommended for validation purposes)

### Library Prep Validation v2.3.7 Workflow

<details>

<summary>Protocol 1: Library Prep Validation v2.3.7</summary>

**Purpose:**

* Included for validation purposes only, this protocol models the library preparation steps required to advance samples to the NovaSeq X Series Sequencing v2.0 workflow.

  > ⚠ The label group (index adapter kit) used for library preparation must be the same as the index adapter kit specified in the ACT that is being used.

  > ⚠ **On-Premise Mode:** For more information, refer to [NovaSeq X Series On-Premise Integration v1.1.0 User Interaction, Validation and Troubleshooting](https://github.com/illumina-swi/clarity-int-docs/blob/main/docs/int/novaseqx/novaseqx-series-workflow\&configuration/novaseqx-series-workflow\&configuration-v2.0/novaseqx-onprem-v1.1.0-user-interaction-validation-and-troubleshooting.md).
* The protocol contains a single step - Library Prep Validation v2.3.7. After this step, a routing script sends the samples to the first step of the NovaSeq X Series Sequencing/On-Prem Sequencing v2.0 workflow.

**Steps:**

1.Library Prep Validation v2.3.7

</details>

### NovaSeq X Series Sequencing v2.0 Workflow

<details>

<summary>Protocol 1: NovaSeq X Series Sequencing v2.0</summary>

**Purpose:**

* This protocol models the lab processes of run setup for starting a NovaSeq X Series sequencing and secondary analysis run.

**Steps:**

1. Assign Analysis Configuration Template (NovaSeq X Series Sequencing v2.0) \* The secondary analysis of samples is configured using the ACT. \* The labels applied to the samples are validated against the selected ACT to ensure that samples use valid labels.
2. Make Bulk Pool (NovaSeq X Series Sequencing v2.0) \* The Calculate Volume script assists with pooling samples and adding resuspension buffers and reagents. \* The Validate Analysis Configurations automation validates the ACT of pooled samples to make sure that the secondary analysis configurations remain valid after pooling.
3. Dilute and Denature (NovaSeq X Series Sequencing v2.0) \* The Calculate Volume script helps denature and dilute samples from step 2 to the final loading concentration.
4. Load To Library Tube Strip (NovaSeq X Series Sequencing v2.0) \* The library pools from step 3 are ready to be loaded to the NovaSeq X Series library tube strip. \* Validates run and analysis information. \* Generates the sample sheet and creates the planned run, depending on the run mode.
5. AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) \* The step is fully automated and starts and completes automatically after the sequencing run is started and completed on the instrument side. \* The sequencing run metadata (e.g., run configuration, primary run metrics, and so on) are recorded automatically.

```
> &#9888; Samples should be queued at the step. The user must not add samples to the Ice Bucket or start or complete the step. The integration will do this automatically.
```

6. AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0) \* The step is fully automated and starts and completes automatically after the analysis run is started and completed in ICA or on instrument. \* The analysis run metadata (eg, status and high level analysis summary) are recorded automatically.

```
> &#9888; Samples should be queued at the step. The user must not add samples to the Ice Bucket or start or complete the step. The integration will do this automatically.
```

</details>

## Validation Workflow

The Library Prep Validation v2.3.7 workflow allows for validation of the system after installation is complete. This workflow can be replaced by other custom library preparation workflows.

## (Optional) Configuring Custom Library Preparation Workflow

Configure a custom library preparation workflow as follows:

1. Select **Configuration**, then select **Lab Work**.
2. Add a Routing Script automation to the last Master Step of the library preparation workflow.

   <figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-4aeb1b619a1311d11886b1b13c8ed58c6601e24b%2Fnovaseqx-v1.2.0-config-routing-script.png?alt=media" alt=""><figcaption></figcaption></figure>
3. Select **Configuration**, then select **Automation**.
4. Create a new Routing Script automation and update it as follows:

   1. For Channel Name, enter limsserver (hosted).
   2. For Command Line, enter the following script (hosted):

   <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} -i {stepURI:v2} -l {compoundOutputFileLuid0} script:changeWorkflow \
      \
      --FIELD_NAME 'Sequencing Instrument' \
      --FIELD_VALUE 'NovaSeq X Series' \
      --WORKFLOW 'NovaSeq X Series v2.0' \
      --STEP 'Assign Analysis Configuration Template (NovaSeq X Series Sequencing v2.0)' \
      --INPUTS_OR_OUTPUTS 'OUTPUTS'"
   </code></pre>

   3. For Automation Use, select the custom library preparation workflow.

   <figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-4aeb1b619a1311d11886b1b13c8ed58c6601e24b%2Fnovaseqx-v1.2.0-config-routing-script.png?alt=media" alt=""><figcaption></figcaption></figure>

## Step 1: Assign Analysis Configuration Template

In this step, secondary analyses are configured for the samples using ACTs. Each ACT contains details related to a particular secondary analysis (e.g., index adapter kit to use, reference genome setting). At this step, the user selects an ACT from a list of pre-constructed ACTs and assigns samples to it. A planned run can involve multiple ACTs and users have to repeat Step 1 for each ACT that is required for the planned run.

<details>

<summary>Validate Sample Names, Retrieve ACT List and Register Step Started Automation¹</summary>

Automatically triggered on entry to the step, this automation completes the following actions:

* Checks that submitted sample names contain only alphanumeric, dash, and underscore characters.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -exp 'submittedSamples.each { sample -> if ( !sample.name.matches( ::[A-Za-z0-9_-]+:: ) ) { fail ( ::Submitted sample :: + sample.name + :: should only have alphanumeric, dash, and underscore characters. Please rename and try again.:: ) } }' -log {compoundOutputFileLuid1} &#x26;&#x26; /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy'
  </code></pre>
* Retrieves the list of ACTs that were created in BaseSpace Sequence Hub or Illumina Run Manager.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar script:retrieve_act_list -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -n 'INSTRUMENT_USED' -t true"
  </code></pre>
* Registers the start time of the step by publishing messages to CLPA through the ICA for hosted.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy'
  </code></pre>

</details>

<details>

<summary>Retrieve ACT Information Automation</summary>

Automatically triggered when you select Retrieve ACT Information on the Record Details screen, this automation completes the following actions:

* Retrieves the details of the selected ACT and populates the step custom fields (e.g., Analysis Version, Library Prep Kit, and so on).
* Saves the details into a file that is available to download. This file is stored in the Analysis Configuration Metadata file placeholder for hosted and on-prem

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar script:retrieve_act_info -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -a '{udf:Analysis Configuration Template}' -n 'INSTRUMENT_USED'"
  </code></pre>

</details>

<details>

<summary>Apply Selected ACT to Samples and Set Next Step Automation</summary>

Automatically triggered on exit of the Record Details screen, this automation completes the following actions:

* Checks that the molarity of all samples are specified

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (!input.hasValue(::Molarity (nM)::)) { fail(::The Molarity cannot be empty.::); } else if (input.::Molarity (nM):: &#x3C;= 0) { fail(::The Molarity cannot be negative or zero.::); }' -log {compoundOutputFileLuid1} &#x26;&#x26; /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -a '{udf:Analysis Configuration Template}' -n 'INSTRUMENT_USED' --derivedSampleInstrumentIdUdf 'Instrument ID' script:validate_indexes script:assign_act &#x26;&#x26; /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (step.::Skip Pooling::) { nextStep = ::Dilute and Denature (NovaSeq X Series Sequencing v2.0):: } else { nextStep = ::Make Bulk Pool (NovaSeq X Series Sequencing v2.0):: }' -log {compoundOutputFileLuid1}"
  </code></pre>

</details>

* Checks that all samples are indexed, indexes applied are the same as the selected ACT.
* Assign the ACT ID, ACT Name, Analysis Location and Instrument ID to all the samples in the step.

<details>

<summary>Register Step Completed Automation²</summary>

Automatically triggered on exit of the step, this automation registers completion time of the step by publishing messages to CLPA through ICA for hosted.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_completed.groovy'
```

{% endcode %}

</details>

¹ These automations are required for the NovaSeq X Series Sequencing v2.0 workflows and contain additional logic needed for CLPA support. If you would like to remove support for CLPA, contact Illumina Support.

² These automations are required for CLPA support only.

All remaining automations are required for the NovaSeq X Series Sequencing v2.0 workflows.

#### Master Step Fields

The following table lists the configuration details for custom fields that are defined on the Assign Analysis Configuration Template step (both modes).

*Assign Analysis Configuration Template Master Step Field Configuration*

| **Field Name**                  | **Field Type** | **Options**                           | **Notes**       |
| ------------------------------- | -------------- | ------------------------------------- | --------------- |
| Analysis Configuration Template | Text Dropdown  | Required Field / Allow Custom Entries |                 |
| Application                     | Text           | Read Only                             |                 |
| Application Version             | Text           | Read Only                             |                 |
| Index Adapter Kit               | Text           | Read Only                             |                 |
| Library Prep Kit                | Text           | Read Only                             |                 |
| Reference Genome                | Text           | Read Only                             |                 |
| Secondary Analysis Mode         | Text           | Read Only                             |                 |
| Skip Pooling                    | Toggle switch  | Required Field                        | Default = False |

#### Global Fields

*Global Field Configuration (Derived Sample)*

| **Field Name** | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
| -------------- | -------------- | ----------- | ----------------------------------------- |
| Container      | Container Name | Built-in    |                                           |
| Container      | Well           | Built-in    |                                           |
| Molarity (nM)  | Numeric        |             | Decimal places displayed = 2              |
| ACT Name       | Text           | Read Only   |                                           |
| Sample Name    | Built-in       |             |                                           |

## Step 2: Make Bulk Pool (NovaSeq X Series Sequencing v2.0)

Samples are pooled in the Make Bulk Pool (NovaSeq X Series Sequencing v2.0) step. You can manually create working pools based on the final loading concentration required on hosted or on-prem.

Hosted

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-03a6bb2d15895262557e7911fa63609fb70a7a69%2Fmake-bulk-pool-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

On-Prem

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-c3e28e68df378e058f5e5cb3e2449eedb90ac9e0%2Fv1.0.0-make-bulk-pool-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started Automation¹</summary>

Automatically triggered on entry to the step, this automation registers the start time of the step. This automation completes this action by publishing messages to CLPA through ICA (hosted).

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy'
```

{% endcode %}

</details>

<details>

<summary>Validate Analysis Configurations Automation</summary>

Automatically triggered on exit of the Pooling screen, this automation performs analysis configuration validity and checks each pool for the following characteristics:

* Pooled samples are within the maximum configuration limit.
* Pooled samples have the same type of analysis (e.g., Cloud or Local).
* Pooled samples that have the same secondary analysis also have the same analysis version (e.g., v3.8.4) and analysis settings (e.g., Map/Align Output Format = CRAM).

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar script:validate_same_udf_value_for_analytes -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -f 'Instrument ID' -f 'Analysis Location' -v 'perPool' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -m PerPool -n 'INPUT.Instrument ID' script:validate_analysis_config script:validate_physical_logical_configurations
```

{% endcode %}

</details>

<details>

<summary>Calculate Volumes Automation</summary>

Automatically triggered when you select Calculate Volumes on the Record Details screen, this automation completes the following actions:

* Proceeds if the sample has molarity values.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (!input.hasValue(::Molarity (nM)::)) { return; };
  </code></pre>
* Uses Number of Samples in Pool to calculate the volumes needed for the 2 nM intermediate library pools.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (output.hasValue(::Number of Samples in Pool::)) { output.::Number of Samples in Pool:: = output.::Number of Samples in Pool:: + 1; } else { output.::Number of Samples in Pool:: = 1; }' -t true
  </code></pre>
* Uses the Bulk Pool Volume (ul) field and Number of Lanes to Sequence (x100) to calculate volumes needed for the 2 nM intermediate library pools.
* Copies the Final Loading Concentration (pM) and Flowcell Type from the step inputs to the step outputs.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">output.::Bulk Pool Volume (ul):: = 100 * step.::Number of Lanes to Sequence::; output.::NovaSeq X Flowcell Type:: = step.::Flowcell Type::; output.::Final Loading Concentration (pM):: = step.::Final Loading Concentration (pM)::;
  </code></pre>
* Calculates the per sample volume required for each library to make a 2 nM intermediate library pool and sets the total sample volume to zero.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">input.::Per Sample Volume (ul):: = 2 * output.::Bulk Pool Volume (ul):: / input.::Molarity (nM):: / output.::Number of Samples in Pool::;output.::Total Sample Volume (ul):: = 0;' -t true
  </code></pre>
* Calculates the adjusted per sample volume for the pools.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">script:calculate_multipool_adjusted_per_sample_volume -t
  </code></pre>
* Uses the Total Sample Volume (ul) to calculate the RSB volume (ul) required to top up the pools that are needed to create the 2 nM intermediate library pools. The RSB volume is saved to the file in the Calculation File placeholder in the Files section.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">script:evaluateDynamicExpression \
  -exp 'if (output.hasValue(::Total Sample Volume (ul)::)) { output.::Total Sample Volume (ul):: = output.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::; } else { output.::Total Sample Volume (ul):: = input.::Adjusted Per Sample Volume (ul)::; }' -t true \
  script:evaluateDynamicExpression \
  -exp 'if (output.::Total Sample Volume (ul):: > output.::Bulk Pool Volume (ul)::) { output.::RSB Volume (ul):: = 0 } else { output.::RSB Volume (ul):: = output.::Bulk Pool Volume (ul):: - output.::Total Sample Volume (ul):: }' -t true \
  </code></pre>
* Uses the *NovaSeqXSeries\_Bulk\_Pool1.csv* and *NovaSeqXSeries\_Bulk\_Pool2.csv* template files to generate a single CSV file. This file contains information about the pools and the samples that they contain. The generated file is stored in the Calculation File placeholder in the Files section.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} script:driver_file_generator \
  -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeqXSeries_Bulk_Pool1.csv -o 1.csv \
  script:driver_file_generator \
  -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeqXSeries_Bulk_Pool2.csv -o 2.csv \
  &#x26;&#x26; cat 1.csv 2.csv > {compoundOutputFileLuid0}.csv \
  </code></pre>
* Resets the Number of Samples in Pool, Total Sample Volume (ul), and Bulk Pool Volume (ul) to null before exiting the step.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">-exp 'output.::Number of Samples in Pool:: = ::::; output.::Total Sample Volume (ul):: = ::::; output.::Bulk Pool Volume (ul):: = ::::;' -t true
  </code></pre>

</details>

<details>

<summary>Set Next Step Automation</summary>

Automatically triggered on exit of the Record Details screen, this automation completes the following actions:

* Proceeds only if the sample has a molarity value.
* Copies the Analysis Location and Instrument ID from input to output.
* Sets the next step for samples to ADVANCE, which advances them to the Dilute and Denature (NovaSeq X Series Sequencing v2.0) step.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} -log {compoundOutputFileLuid1}
script:evaluateDynamicExpression -exp 'if (!input.hasValue(::Molarity (nM)::)){ return; }; if (input.hasValue(::Instrument ID::)) {output.::Instrument ID:: = input.::Instrument ID::}; if (input.hasValue(::Analysis Location::)) {output.::Analysis Location:: = input.::Analysis Location::}; nextStep = ::ADVANCE::;'
```

{% endcode %}

</details>

<details>

<summary>Register Pools and Register Step Completed Automation¹</summary>

Automatically triggered on exit of the step, this automation completes the following actions:

* Registers the pool and library information used by the Clarity LIMS workflow. Samples in the pool are assumed to have gone through library preparation.
* Registers the completion time of the step.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/pooling.groovy' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_completed.groovy'
```

{% endcode %}

This automation completes this action by publishing messages to CLPA through ICA.

</details>

¹These automations are required for CLPA support only.

All remaining automations are required for the NovaSeq X Series Sequencing v2.0 workflows.

#### Master Step Fields

The following table lists configuration details for the fields that are defined on the Make Bulk Pool (NovaSeq X Series Sequencing v2.0) step.

*Make Bulk Pool Master Step Field Configuration*

| **Field Name**                   | **Field Type**   | **Options**                                             | **Additional Options and Dropdown Items**                                                                                                                            |
| -------------------------------- | ---------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Final Loading Concentration (pM) | Numeric Dropdown | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li><p>Dropdown Items</p><ul><li>90</li><li>140</li><li>150</li><li>160</li><li>180</li></ul></li><li>Range from 0</li><li>Decimal places displayed: 0</li></ul> |
| Flowcell Type                    | Text             | <ul><li>Required Field</li></ul>                        | <ul><li><p>Dropdown Items</p><ul><li>1.5B</li><li>5B</li><li>10B</li><li>25B</li></ul></li></ul>                                                                     |
| Minimum Per Sample Volume (ul)   | Numeric          | <ul><li>Required Field</li></ul>                        | <ul><li>Decimal places displayed: 2</li><li>Default: 2</li></ul>                                                                                                     |
| Number of Lanes to Sequence      | Numeric          | <ul><li>Required Field</li></ul>                        | <ul><li>Range: 1–10</li><li>Decimal places displayed: 0</li></ul>                                                                                                    |

#### Global Fields

The following table lists the global custom fields that are configured to display on the Make Bulk Pool (NovaSeq X Series Sequencing v2.0) step.

*Global Custom Fields Configuration (Derived Sample)*

| **Field Name**                   | **Field Type**      | **Options**                                             | **Additional Options and Dropdown Items**                                                                    |
| -------------------------------- | ------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Container                        | Container Name      | Built-in                                                |                                                                                                              |
| Container                        | LIMS ID (Container) | Built-in                                                |                                                                                                              |
| Final Loading Concentration (pM) | Numeric Dropdown    | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li>Decimal places displayed: 0</li><li><p>Dropdown Items</p><ul><li>225</li><li>400</li></ul></li></ul> |
| RSB Volume (ul)                  | Numeric             | <ul><li>Read Only</li></ul>                             | <ul><li>Decimal places displayed: 2</li></ul>                                                                |
| NovaSeq X Flowcell Type          | Text Dropdown       | <ul><li>Required Field</li><li>Read Only</li></ul>      | <ul><li><p>Dropdown Items</p><ul><li>1.5B</li><li>5B</li><li>10B</li><li>25B</li></ul></li></ul>             |
| Sample Name                      | Built-in            |                                                         |                                                                                                              |
| Project Name                     | Built-in            |                                                         |                                                                                                              |

### Step 3: Dilute and Denature

The Dilute and Denature (NovaSeq X Series Sequencing v2.0) step allows you to dilute pooled samples with the addition of RSB.

Hosted

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-e50ebae47c3ff59056453bf7a2a6c2b687635d8a%2Fnovaseqx-v1.2.0-dnd-automations.png?alt=media" alt=""><figcaption></figcaption></figure>

On-Prem

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-7e0df47444aa5078ae5e71dbe4e1f19fd60bf951%2Fv1.0.0-dilute-denature-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

Automatically triggered on entry to the step, this automation completes the following actions:

* Checks that the specified flow cell type is valid.

  > ⚠ This script is required for the NovaSeq X Series Sequencing v2.0 workflow to function properly.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -h false -exp 'if (!input.hasValue(::NovaSeq X Flowcell Type::)){fail(::Invalid Flowcell Type custom field value. Please make sure all input samples have a value assigned for Flowcell Type custom field.::)}' -log {compoundOutputFileLuid1}
  </code></pre>
* Registers the start time of the step by publishing messages to CLPA through ICA for hosted

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy'
  </code></pre>

<details>

<summary>Calculate Volumes Automation</summary>

Automatically triggered when you select Calculate Volumes on the Record Details screen, this automation completes the following actions based on the NovaSeq X Flowcell Type selected:

* Sets the NaOH Volume (µl) and TT2 Volume (µl) field values.
* Computes the BP Aliquot Volume (µl) and RSB Volume (µl) required for the dilution of pools to the required final loading concentration.

  > ℹ The BP Aliquot Volume value is rounded up to the nearest µl. The value in the calculation file, however, is reflected with up to two decimal places.
* Sets the PhiX Volume (µl) and PhiX Concentration (µl) if there is a PhiX spike-in.

{% code overflow="wrap" %}

```markup
bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} -log {compoundOutputFileLuid1} \
    script:evaluateDynamicExpression -t true \ 
    -exp '
    if (!output.hasValue(::NovaSeq X Flowcell Type::) || !output.hasValue(::Final Loading Concentration (pM)::)) { fail(::Please ensure all samples have a value assigned for NovaSeq X Flowcell Type and Final Loading Concentration (pM) custom field.::) }; \
    if (output.::NovaSeq X Flowcell Type:: == ::1.5B:: || output.::NovaSeq X Flowcell Type:: == ::5B:: || output.::NovaSeq X Flowcell Type:: == ::10B::) {
        output.::NaOH Volume (ul):: = 8.5;
        output.::TT2 Volume (ul):: = 127.5;
        output.::BP Aliquot Volume (ul):: = input.::Final Loading Concentration (pM):: * 170 / (2 * 1000);
        output.::RSB Volume (ul):: = 34 - output.::BP Aliquot Volume (ul)::;
        if (step.::1-2% PhiX Spike-In::) { 
            output.::PhiX Volume (ul):: = 1; output.::PhiX Concentration (pM):: = 300; 
        }else { 
            output.::PhiX Volume (ul):: = ::::; output.::PhiX Concentration (pM):: = ::::; 
        };
    } else {
        output.::NaOH Volume (ul):: = 14;
        output.::TT2 Volume (ul):: = 210;
        output.::BP Aliquot Volume (ul):: = input.::Final Loading Concentration (pM):: * 280 / (2 * 1000);
        output.::RSB Volume (ul):: = 56 - output.::BP Aliquot Volume (ul)::;
        if (step.::1-2% PhiX Spike-In::) { 
            output.::PhiX Volume (ul):: = 1.6; output.::PhiX Concentration (pM):: = 300; 
        }
        else { 
            output.::PhiX Volume (ul):: = ::::; output.::PhiX Concentration (pM):: = ::::; 
        };
    }'
```

{% endcode %}

* Generates a single CSV file that contains information about the reagents volume required to dilute the working pools. The generated file is stored in the Calculation File placeholder in the Files section.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} \
  script:driver_file_generator \
  -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeqXSeries_Dilute_Denature_Calculate_Volumes.csv -o {compoundOutputFileLuid0}.csv -q true -destLIMSID {compoundOutputFileLuid0} -l {compoundOutputFileLuid1} \
  &#x26;&#x26; echo; echo 'Calculate Volumes completed successfully.'"
  </code></pre>

</details>

<details>

<summary>Set Next Step Automation</summary>

Automatically triggered on exit of the Record Details screen, this automation completes the following actions:

* Copies the Analysis Location and Instrument ID from input to output.
* Sets the next step for samples to ADVANCE, advancing them to the Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) step.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (input.hasValue(::Instrument ID::)) {output.::Instrument ID:: = input.::Instrument ID::}; if (input.hasValue(::Analysis Location::)) {output.::Analysis Location:: = input.::Analysis Location::}; nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed Automation²</summary>

Automatically triggered on exit of the step, this automation registers the completion time of the step by publishing messages to CLPA through ICA for hosted

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_completed.groovy'
```

{% endcode %}

</details>

¹ These automations are required for the NovaSeq X Series Sequencing v2.0 workflows and contain additional logic needed for CLPA support. If you would like to remove support for CLPA, contact Illumina Support.

² These automations are required for CLPA support only.

All remaining automations are required for the NovaSeq X Series Sequencing v2.0 workflows.

### Master Step Fields

The following table lists configuration details for the custom fields that are defined on the Dilute and Denature (NovaSeq X Series Sequencing v2.0) step.

*Dilute and Denature (NovaSeq X Series Sequencing v2.0) Master Step Field Configuration*

| **Field Name**   | **Field Type** | **Options**                      | **Additional Options and Dropdown Items**     |
| ---------------- | -------------- | -------------------------------- | --------------------------------------------- |
| 1-2% Spike-In    | Numeric        | <ul><li>Required Field</li></ul> | <ul><li>Decimal places displayed: 1</li></ul> |
| PhiX Volume (ul) | Numeric        | <ul><li>Optional Field</li></ul> | <ul><li>Decimal places displayed: 1</li></ul> |

### Global Fields

The following table lists the global custom fields that are configured to display on the Dilute and Denature (NovaSeq X Series Sequencing v2.0) step.

*Global Field Configuration (Derived Sample)*

| **Field Name**                   | **Field Type**      | **Options**    | **Additional Options and Dropdown Items**                                                              |
| -------------------------------- | ------------------- | -------------- | ------------------------------------------------------------------------------------------------------ |
| Container                        | Container Name      | Built-in       |                                                                                                        |
| Container                        | LIMS ID (Container) | Built-in       |                                                                                                        |
| BP Aliquot Volume (ul)           | Numeric             | Read Only      | Decimal places displayed = 1                                                                           |
| Final Loading Concentration (pM) | Numeric             | Required Field | <ul><li><p>Presets</p><ul><li>225</li><li>400</li></ul></li><li>Decimal Places Displayed = 0</li></ul> |
| NaOH Volume (ul)                 | Numeric             | Read Only      | Decimal places displayed = 2                                                                           |
| NovaSeq X Flowcell Type          | Text Dropdown       | Required Field | <p>Presets</p><ul><li>1.5B</li><li>5B</li><li>10B</li><li>25B</li></ul>                                |
| RSB Volume (ul)                  | Numeric             | Read Only      | Decimal places displayed = 2                                                                           |
| TT2 Volume (ul)                  | Numeric             | Read Only      | Decimal places displayed = 2                                                                           |
| Project Name                     | Built-in            |                |                                                                                                        |

### Step 4: Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0)

In this step, the user scans the library tube strip barcode into the LIMS and manually places the working pools into the library tube strip into the Clarity LIMS. Then, you can place the working pools into the library tube strip used in the NovaSeq X Series run. This step also does the following actions:

* Validates the run setup and analysis information.
* Generates the sample sheet file.
* Creates a planned run on Illumina Connected Analytics (ICA) or Illumina Run Manager UI.

Hosted

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-91424fc46f445d86f770095f66db380728e5bb9e%2Fload-to-library-tube-strip-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

On-Prem

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-99d9af8a99ec83e90871193376b521a3b0ed1516%2Fv1.0.0-load-to-tube-strip-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Validate Flowcell Inputs, Analysis Configurations and Register Step Started Automation¹</summary>

Automatically triggered on entry to the step, this automation completes the following actions:

* Checks that the selected destination container types on the Load to Library Tube Strip step matches the selected flow cell type of the samples. The 1.5B flow cell is compatible with the library 2-tube strip and the 5B, 10B and 25B flow cells are compatible with the library 8-tube strip.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1}
script:validate_same_udf_value_for_analytes -f 'Analysis Location' -f 'NovaSeq X Flowcell Type'
script:validate_selected_container
    -fn 'NovaSeq X Flowcell Type' -fv '1.5B' -ct 'Library 2-tube Strip' \
    -fn 'NovaSeq X Flowcell Type' -fv '5B' -ct 'Library 8-tube Strip' \
    -fn 'NovaSeq X Flowcell Type' -fv '10B' -ct 'Library 8-tube Strip' \
    -fn 'NovaSeq X Flowcell Type' -fv '25B' -ct 'Library 8-tube Strip'
```

{% endcode %}

* Performs basic checks on the secondary analysis configuration of the samples in the same planned run. The following checks are included in this script:

  * Secondary analysis configuration of samples in a planned run is within maximum configuration limit.

  * Samples in a planned run have the same type of analysis (e.g., Cloud or Local).

  * Samples in the same pools that have the same secondary analysis (e.g., Illumina DRAGEN Enrichment) also have the same analysis settings (e.g., Map/Align Output Format = CRAM) and the same analysis version (e.g., v3.8.4).

  > ⚠ This script is required for the NovaSeq X Series Sequencing v2.0 workflow to function properly.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -m PerRun -n 'INPUT.Instrument ID' script:validate_analysis_config script:validate_physical_logical_configurations
  </code></pre>
* Registers the start time of the step by publishing messages to CLPA through ICA.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy'
  </code></pre>

</details>

<details>

<summary>Validate Library Tube Strip Barcode Automation</summary>

Automatically triggered on the Placement screen, this automation validates the library tube strip barcode to make sure that it conforms to the barcode mask LC\[0-9]{7}-LC1 for the library 8-tube strip and LC\[0-9]{7}-L\[A-Z]2 for the library 2-tube strip.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:validate_output_containers -l {compoundOutputFileLuid1} -r 'Library 8-tube Strip:LC[0-9]{7}-L[A-Z]1' -r 'Library 2-tube Strip:LC[0-9]{7}-L[A-Z]2' -max 1
```

{% endcode %}

</details>

<details>

<summary>Validate Run Setup and Create Planned Run Automation</summary>

Automatically triggered after a selection on the Record Details screen, this automation completes the following actions:

* Validates the parameters entered on the Record Details screen. These parameters are used to set up the run, generate the sample sheet file, and create the planned run in ICA, depending on the run mode.
  * Run Name can only contain alphanumeric, dash, underscore, or period characters. Do not use spaces.

    <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (!step.::Run Name::.matches(::[a-zA-Z0-9-_]+[a-zA-Z0-9-_. ]*::)) { fail(::Run Name contains prohibited characters. Please check to make sure Run Name only contains alphanumeric characters, spaces, dashes, periods and underscores. Run Name must start with alphanumeric, a dash or an underscore::);}
    </code></pre>
  * Run Name cannot exceed 255 characters.

    <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (step.::Run Name::.length() > 255) { fail(::Run Name shall not exceed 255 characters.::); };
    </code></pre>
* Checks the Index 1 Cycles and Index 2 Cycles field values. If Index 2 Cycles is greater than 0, the Index 1 Cycles value must be greater than 0 or an error can occur.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (step.::Index 2 Cycles:: > 0 &#x26;&#x26; step.::Index 1 Cycles:: == 0) { fail(::Index 1 Cycles cannot be zero if Index 2 Cycles is non-zero::); };
  </code></pre>
* Checks the BCL convert version only contains alphanumeric characters and periods

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">if (!step.::BCL Convert Version::.matches(::[a-zA-Z0-9.]+::)) { fail(::BCL Convert Version contains prohibited characters. Please check to make sure BCL Convert Version only contains alphanumeric characters and periods.::); };
  </code></pre>
* Generates the sample sheet and creates the planned run. The sample sheet is attached to the step.

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseqxseries/automation/novaseqxseries-automation.jar script:generate_sample_sheet -i {stepURI:v2} -u {username} -p {password} -c {compoundOutputFileLuid0} -l {compoundOutputFileLuid1} -n 'INPUT.Instrument ID'
  </code></pre>

There is a backend validation of the sample sheet content. This validation makes sure that the sample sheet is valid to set up a Cloud and Local run mode and that it is ready for use with DRAGEN applications.

</details>

<details>

<summary>Set Next Step Automation</summary>

Automatically triggered on exit of the Record Details screen, this automation completes the following actions:

* Sets the next step for samples to ADVANCE, advancing them to the AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) step.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed Automation²</summary>

Automatically triggered on exit of the step, this automation registers the completion time of the step by publishing messages to CLPA through ICA/

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_completed.groovy'
```

{% endcode %}

</details>

¹ These automations are required for the NovaSeq X Series Sequencing v2.0 workflows and contain additional logic needed for CLPA support. If you would like to remove support for CLPA, contact Illumina Support.

² These automations are required for CLPA support only.

All remaining automations are required for the NovaSeq X Series Sequencing v2.0 workflows.

### Master Step Fields

The following table shows the master step fields that are configured on the Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) step. These fields are required for sample sheet generation and planned run creation in ICA.

*Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) Master Step Field Configuration*

| **Field Name**                                                                                 | **Field Type**   | **Options**                                             | **Additional Options and Dropdown Items**                                                          |
| ---------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| BCL Convert Version                                                                            | Text             |                                                         |                                                                                                    |
| Create Planned Run                                                                             | Toggle Switch    | Required Field                                          | Default = True                                                                                     |
| Index 1 Cycles                                                                                 | Numeric Dropdown | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li>Range = 0–20</li><li><p>Presets</p><ul><li>0</li><li>6</li><li>8</li></ul></li></ul>       |
| Index 2 Cycles                                                                                 | Numeric Dropdown | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li>Range = 0–20</li><li><p>Presets</p><ul><li>0</li><li>6</li><li>8</li></ul></li></ul>       |
| <p>Instrument</p><blockquote><p>ℹ Only applicable for on-premise integration.</p></blockquote> | Text             | Read Only                                               |                                                                                                    |
| Read 1 Cycles                                                                                  | Numeric Dropdown | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li>Range = 1–251</li><li><p>Presets</p><ul><li>51</li><li>101</li><li>151</li></ul></li></ul> |
| Read 2 Cycles                                                                                  | Numeric Dropdown | <ul><li>Required Field</li><li>Custom Entries</li></ul> | <ul><li>Range = 0–251</li><li><p>Presets</p><ul><li>51</li><li>101</li><li>151</li></ul></li></ul> |
| Run Name                                                                                       | Text             | <ul><li>Required Field</li></ul>                        |                                                                                                    |
| Instrument                                                                                     | Text             | <ul><li>Read Only</li></ul>                             |                                                                                                    |

## Step 5: AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0)

{% hint style="danger" %}
Do not add samples to the Ice Bucket or start and complete the AUTOMATED - Sequencing Run step. The integration does this automatically.
{% endhint %}

In this step, the pooled samples in the library tube strip are sequenced on the NovaSeq X Series instrument. Data from the run is parsed back to Clarity LIMS.

Hosted

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-88da154ecc79ddc8a0fcd4cedc6aa25afd89e2fc%2Fautomated-sequencing-run-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register NovaSeq X Series Sequencing Run Started Automation¹</summary>

Automatically triggered at the beginning of the step, this automation completes the following actions:

* Registers the start time of the step.
* Registers the NovaSeq X Series sequencing run configuration.
* Registers the association of the sequencing run with the samples by linking the Instrument Run ID with the sample ID.
* Registers the time that the sequencing run started.

This automation completes these actions by publishing messages to CLPA through ICA.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_started.groovy' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/novaseqxseries/register_novaseqxseries_run.groovy' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/novaseqxseries/novaseqxseries_associate_seqrun.groovy' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/novaseqxseries/novaseqxseries_seqrun_started.groovy'
```

{% endcode %}

</details>

<details>

<summary>Register NovaSeq X Series Sequencing Run Completed Automation¹</summary>

Automatically triggered on exit of the step, this automation completes the following actions:

* Registers the sequencing run completion time, run status, and run metrics. This script requires the Planned Run ID custom field from the Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) step.
* Registers the completion time of the step.

This automation completes these actions by publishing messages to CLPA through ICA.

{% code overflow="wrap" %}

```markup
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/novaseqxseries/novaseqxseries_seqrun_completed.groovy' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -s 'com/illumina/upa/scripts/common/step_completed.groovy'
```

{% endcode %}

</details>

¹ These automations are required for CLPA support only.

#### Master Step Fields

The following tables show the master step fields that are configured on the AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) step.

*Clarity LIMS Master Step Field Information*

| **Field Name**                      | **Source File**                                                     | **Corresponding Field in Source File**                | **Additional Information**                                                                                                                                                                         |
| ----------------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Current Cycle                       | <ul><li>RunCompletionStatus.xml</li></ul>                           | <ul><li>CompletedReads</li></ul>                      | <ul><li>Visible on Record Details screen.</li><li>Calculated based on the CompletedReads field.</li></ul>                                                                                          |
| Current Read                        | <ul><li>RunCompletionStatus.xml</li><li>RunParameters.xml</li></ul> | <ul><li>CompletedReads</li><li>PlannedReads</li></ul> | <ul><li>Visible on Record Details screen.</li><li>Calculated based on the CompletedReads field in <em>RunCompletionStatus.xml</em> and PlannedReads field in <em>RunParameters.xml</em>.</li></ul> |
| Flow Cell Expiration Date           | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>ExpirationDate</li></ul>                      | <ul><li>Visible on Record Details screen.</li><li>Corresponds to the value in the ExpirationDate field under the ConsumableInfo field for FlowCell Type.</li></ul>                                 |
| Flow Cell ID                        | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>SerialNumber</li></ul>                        | <ul><li>Visible on Record Details screen.</li><li>Corresponds to the value in the SerialNumber field under the ConsumableInfo field for FlowCell Type.</li></ul>                                   |
| Flow Cell Lot Number                | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>LotNumber</li></ul>                           | <ul><li>Visible on Record Details screen.</li><li>Corresponds to the value in the LotNumber field under the ConsumableInfo field for FlowCell Type.</li></ul>                                      |
| Flow Cell Part Number               | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>PartNumber</li></ul>                          | <ul><li>Visible on Record Details screen.</li><li>Corresponds to the value of the PartNumber field under the ConsumableInfo field for FlowCell Type.</li></ul>                                     |
| Flow Cell Side                      | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>Side</li></ul>                                | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Flow Cell Type                      | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>FlowCellType</li></ul>                        | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Instrument Control Software Version | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>SystemSuiteVersion</li></ul>                  | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Instrument ID                       | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>InstrumentSerialNumber</li></ul>              | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Instrument Type                     | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>InstrumentType</li></ul>                      | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Output Folder                       | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>OutputFolder</li></ul>                        | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |
| Library Tube Strip Barcode          | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>SerialNumber</li></ul>                        | <ul><li>Visible on Record Details screen.</li><li>Corresponds to the value of the SerialNumber field under the ConsumableInfo field for SampleTube Type.</li></ul>                                 |
| Library Tube Lot Number             | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>LotNumber</li></ul>                           | <ul><li>Hidden</li><li>Corresponds to the value of the LotNumber field under the ConsumableInfo field for SampleTube Type.</li></ul>                                                               |
| Run End Time                        | <ul><li>RunCompletionStatus.xml</li></ul>                           | <ul><li>RunEndTime</li></ul>                          | <ul><li>Hidden</li></ul>                                                                                                                                                                           |
| Run Name                            | <ul><li>RunParameters.xml</li></ul>                                 | <ul><li>ExperimentName</li></ul>                      | <ul><li>Visible on Record Details screen.</li></ul>                                                                                                                                                |

*Other Clarity LIMS Master Step Fields*

| **Field Name**    | **Description**                                                                                                                                                                      | **Additional Information**        |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- |
| Run Status        | <ul><li><p>Presets</p><ul><li>RunStarted</li><li>RunCompletedSuccessfully</li><li>RunAbortedByUser</li><li>RunErroredOut</li></ul></li><li>Set by the integration service.</li></ul> | Visible on Record Details screen. |
| Sequencing Log    | <ul><li>Set by the integration service during the sequencing run.</li></ul>                                                                                                          | Visible on Record Details screen. |
| BaseSpace Run ID  | <ul><li>Received from the message sent to the integration service.</li></ul>                                                                                                         | Hidden                            |
| ICA Project ID    | <ul><li>Received from the message sent to the integration service.</li></ul>                                                                                                         | Hidden                            |
| Instrument Run ID | <ul><li>Received from the message sent to the integration service.</li></ul>                                                                                                         | Hidden                            |
| Run Start Time    | <ul><li>Received from the message sent to the integration service.</li></ul>                                                                                                         | Hidden                            |

#### Global Fields

The following global custom fields are used to capture the run metrics in Clarity LIMS:

* % Bases >=Q30 R1
* % Bases >=Q30 R2
* % Error Rate R1
* % Error Rate R2
* Yield (Gb) R1
* Yield (Gb) R2
* Reads PF
* % PF
* % Aligned R1
* % Aligned R2
* % Occupied
* % Phasing R1
* % Phasing R2
* % Prephasing R1
* % Prephasing R2
* Intensity Cycle 1 R1
* Intensity Cycle 1 R2
* Container Name
* LIMS ID
* Well
* Project Name

At the end of the step, the pools of samples are automatically removed from the step. The step completes automatically when Run Status is RunCompletedSuccessfully.

## Step 6: AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0)

{% hint style="danger" %}
Do not add samples to the Ice Bucket or start and complete the AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) step. The integration does this automatically.
{% endhint %}

Data from the analysis is parsed back to Clarity LIMS. In this step, the secondary analysis configured using the Analysis Configuration Template (ACT) is performed in Illumina Connected Analytics (ICA). There are no automations associated with this step.

#### Master Step Fields

The following tables show the master step fields that are configured on the AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0) step.

*AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0) Master Step Field Information*

| **Field Name**           | **Description**                                                                                                                                                                                                        | **Additional Information**        |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| Analysis Status          | <ul><li><p>Presets</p><ul><li>Started</li><li>Completed</li><li>Failed</li><li>NeedsAttention</li><li>Stopped</li><li>TimedOut</li><li>CompletedWithErrors</li></ul></li><li>Set by the integration service.</li></ul> | Visible on Record Details screen. |
| Analysis Result Location | <ul><li>Received from the message sent to the integration service.</li></ul>                                                                                                                                           | Visible on Record Details screen. |
| Log                      | Multiline Text                                                                                                                                                                                                         | Read Only                         |
| App Session ID           | <ul><li>Identified by the integration service using information from <em>RunParameters.xml</em>.</li></ul>                                                                                                             | Hidden                            |

*All the fields above are Read-Only Text field, except Log is a Read-Only Multiline Text.*

## How the Integration Works

The following information summarizes how the NovaSeq X Series integration works.

* After the Validate Run Setup and Create Planned Run automation is triggered on the Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) step, the run parameters entered in the Run Details screen are sent to Illumina Connected Analytics (ICA). The analysis configuration parameters from the selected ACTs are also sent to ICA. ICA validates the run and analysis configuration. If the validation fails, ICA sends an error message to Clarity LIMS. If the validation passes, ICA generates the sample sheet and sends it back to Clarity LIMS. ICA also creates the planned run based on the selected run mode (e.g., Local or Cloud).
  * For the Local run mode, the sample sheet is generated and stored in Clarity LIMS. This sample sheet contains the run and analysis configuration information required to start the run on the NovaSeq X Series instrument.
  * For the Cloud run mode, the planned run is created in ICA. The planned run contains the run and analysis configuration information required to start the run on the instrument. The sample sheet is generated and stored in Clarity LIMS for reference purposes.
* When the sequencing run starts on the instrument, the NovaSeq X Series Control Software notifies BaseSpace Sequence Hub. BaseSpace Sequence Hub monitors the run and notifies Clarity LIMS via the integration service. The events are processed and the integration service retrieves the run information from BaseSpace Sequence Hub. This information is used to populate the custom fields in the AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) step.
* Other run events follow the same information flow. When sequencing is complete, the control software uploads the sequencing run data (primary metrics) and associated files to ICA. Then, Clarity LIMS retrieves the primary metrics and uses them to populate the fields in the Sample Details table (e.g., % Error Rate R1). The custom fields (e.g., Run Status, Current Read, and so on) on the AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) step are updated using the run related information. If the sequencing run is successfully completed, the step automatically completes.
* The integration tracks the analysis events and results in the AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0) step. You must log in to BaseSpace Sequence Hub to retrieve the cloud analysis results. For local analysis, the secondary analysis results are in the external storage configured in Illumina Run Manager. The external storage information is found in the External Storage for Analysis Results configuration settings in Illumina Run Manager.

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-728661b34fa9266a565ab0d0bbaf8d512817291e%2Fexternal-storage-configuration.png?alt=media" alt=""><figcaption></figcaption></figure>

<br>

{% hint style="danger" %}
If a planned run with the same sample name and project name (case-insensitive) has been created previously, the sample sheet generated from the Validate Run Setup and Create Planned Run automation can reflect the original case of the previous sample name. This can cause validation errors for analysis configurations with sample-level settings. To resolve this issue, change the sample name or the project name on Clarity LIMS and run the automation again.
{% endhint %}

## Configuration of Instrument Setting for On-Prem

The integration requires secondary analysis files to be present on the instrument for proper functioning of the AUTOMATED - Analysis Run step.

{% hint style="danger" %}
The following instrument setting must be **disabled**:

* Permanently delete secondary analysis files from the instrument after they are transferred to the external storage and/or cloud.

<img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-f9154ca2ec6b8a1e208c7c041335a8233ac54291%2Fnovaseqx-onprem-autodelete.png?alt=media" alt="" data-size="original">

<br>
{% endhint %}

## Start a Sequencing Run on NovaSeq X Series Instrument

The following sections outline the steps to start a Clarity LIMS cloud or local run on the NovaSeq X Series instrument.

<details>

<summary>Run Mode Configuration</summary>

1. In the NovaSeq X Series Control Software, log in to the instrument using an account that has permissions for configuring settings.
2. On the menu, select **Settings**, then select **Cloud settings**.
3. In Run Settings, select the **Cloud run storage** checkbox.
4. For Hosting location, select the applicable location from the drop-down options.
5. \[Optional] For Private domain name, enter the domain name according to the workgroup that was configured with the NovaSeq X Series integration package.
6. Select **Save**.

</details>

<details>

<summary>Start a Sequencing Run in Local Run or Cloud Run Modes</summary>

**Start a Sequencing Run in Local Run Mode**

1. Log in with the BaseSpace Sequence Hub account and select the workgroup used during the NovaSeq X Series integration package installation.
2. Import the sample sheet created in the Load to Library Tube Strip (NovaSeq X Series Sequencing v2.0) step. Refer to information on creating a local run in the NovaSeq X Plus Product Documentation on the [NovaSeq X Plus Sequencing System support site](https://support.illumina.com/sequencing/sequencing_instruments/novaseq-x-novaseq-x-plus.html).
3. When the sample sheet is selected, the contents are validated. After the validation passes, select **Next**.
4. Select **Save As Planned**.

   Run and analysis data is parsed and auto-populates in the list of runs. For more information on planning a NovaSeq X Series run, refer to the Plan a NovaSeq X Series Run section of the BaseSpace Sequence Hub Online Help at [help.basespace.illumina.com](https://help.basespace.illumina.com) and the NovaSeq X Plus Product Documentation on the [NovaSeq X Plus Sequencing System support site](https://support.illumina.com/sequencing/sequencing_instruments/novaseq-x-novaseq-x-plus.html).
5. Start the run. Refer to information on starting a planned run in the NovaSeq X Plus Product Documentation on the [NovaSeq X Plus Sequencing System support site](https://support.illumina.com/sequencing/sequencing_instruments/novaseq-x-novaseq-x-plus.html).

**Start a Sequencing Run in Cloud Run Mode**

To start a sequencing run in cloud run mode, refer to information on starting a planned run in the NovaSeq X Plus Product Documentation on the [NovaSeq X Plus Sequencing System support site](https://support.illumina.com/sequencing/sequencing_instruments/novaseq-x-novaseq-x-plus.html).

</details>

## Enabling Planned Run Generation for Samples Having Duplicate Name with Different Indexes

The library preparation workflow of the samples must be [configured to ensure unique derived sample names](https://help.claritylims.illumina.com/instruments-and-integrations/references/configure-support-samples-duplicate-names-different-indexes) before routing the samples through the library preparation workflow.

## Components Installed

The following sections describe the components (files, properties, reagent categories / label groups, reagent kits, and containers) that are installed by default as part of this integration.

**Global Fields**

**Container Global Fields**

| **Field Name**       | **Field Type** | **Settings**                                                    |
| -------------------- | -------------- | --------------------------------------------------------------- |
| % Aligned R1         | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Aligned R2         | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Bases >=Q30 R1     | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Bases >=Q30 R2     | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Error Rate R1      | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Error Rate R2      | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Occupied           | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % PF                 | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| % Phasing R1         | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 3</li></ul> |
| % Phasing R2         | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 3</li></ul> |
| % Prephasing R1      | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 3</li></ul> |
| % Prephasing R2      | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 3</li></ul> |
| Intensity Cycle 1 R1 | Numeric        | <ul><li>Read Only</li></ul>                                     |
| Intensity Cycle 1 R2 | Numeric        | <ul><li>Read Only</li></ul>                                     |
| Reads PF             | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| Yield (Gb) R1        | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |
| Yield (Gb) R2        | Numeric        | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul> |

**Derived Sample Global Fields**

| **Field Name**                   | **Field Type**   | **Settings**                                                                                                    |
| -------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------- |
| ACT ID                           | Text             | <ul><li>Read Only</li></ul>                                                                                     |
| ACT Name                         | Text             | <ul><li>Read Only</li></ul>                                                                                     |
| Adjusted Per Sample Volume (ul)  | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |
| BP Aliquot Volume (ul)           | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 1</li></ul>                                                 |
| Bulk Pool Volume (ul)            | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |
| Final Loading Concentration (pM) | Numeric Dropdown | <ul><li>Required</li><li><p>Preset:</p><ul><li>225</li><li>400</li></ul></li><li>Allow custom entries</li></ul> |
| Instrument ID                    | Text             | <ul><li>Read Only</li></ul>                                                                                     |
| Molarity (nM)                    | Numeric          | <ul><li>Decimal Places Displayed: 2</li></ul>                                                                   |
| NovaSeq X Flowcell Type          | Text Dropdown    | <ul><li>Required</li><li><p>Preset:</p><ul><li>1.5B</li><li>5B</li><li>10B</li><li>25B</li></ul></li></ul>      |
| Number of Samples in Pool        | Numeric          |                                                                                                                 |
| Per Sample Volume (ul)           | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |
| PhiX Concentration (pM)          | Numeric          |                                                                                                                 |
| PhiX Volume (ul)                 | Numeric          | <ul><li>Decimal Places Displayed: 2</li></ul>                                                                   |
| RSB Volume (ul)                  | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |
| Total Sample Volume (ul)         | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |
| TT2 Volume (ul)                  | Numeric          | <ul><li>Read Only</li><li>Decimal Places Displayed: 2</li></ul>                                                 |

**Reagent Kits**

* Buffer Cartridge
* Lyophilization Cartridge
* NaOH
* Reagent Cartridge
* Resuspension Buffer (RSB)
* TT2

**Container Types**

* Library 2-Tube Strip
* Library 8-Tube Strip
* Tube

This integration supports the library 8-tube strip with the barcode in the LC\[0-9]{7}-L\[A-Z]1 format. The integration also supports the library 2-tube strip with the barcode in the LC\[0-9]{7}-L\[A-Z]2 format.

**Control Types**

* PhiX v3

## Rules and Constraints

* The workflow configuration contains several validation checks. To make sure that the calculations work properly, it is important that you do not disable any of this validation logic. The validation checks determine the following information:
  * Which samples, and how many, can enter each step together.
  * Which samples, and how many, can be pooled together.
* All submitted samples must have an associated secondary analysis that is configured using the analysis configuration template (ACT). The ACT must be configured on BaseSpace Sequence Hub before starting the Assign Analysis Configuration Template step. The ACT names must be unique.
* The library tube strip barcode must be unique. There must not be multiple library tube strip containers with the same name in the system.
* Reagent labels, or indexes, must be unique.
* One library pool can only contain one library or control with no label/index.
* The AUTOMATED - Sequencing Run (NovaSeq X Series Sequencing v2.0) and AUTOMATED - Analysis Run (NovaSeq X Series Sequencing v2.0) steps must not be manually started or completed. These steps are fully automated and the sequencing service does not update samples correctly if they have been manually started.
* For the automated run to start successfully, you must select **Validate Run Setup and Create Planned Run** in the Load to Library Tube step.
