NovaSeq 6000 Integration v3.3.0 User and Configuration Guide
The Illumina NovaSeq 6000 Integration Package v3.3.0 supports the integration of BaseSpace Clarity LIMS to Illumina NovaSeq 6000 instruments.
Note the following key changes for this version of the integration:
• | Support for Secret Management mechanism |
• | A workflow as part of the Preconfigured Workflows Package (PCWP) v2.0.1 and Illumina Preset Protocol (IPP) v2.0 |
This version includes the following configuration change:
• | Support for PhiX spike-in |
This User and Configuration Guide describes the integration and the preconfigured workflows, protocols, steps, and automations. The guide also lists installed components and provides configuration requirements, rules, and constraints.
For instructions on validating and troubleshooting the Illumina NovaSeq 6000 Integration, see the NovaSeq 6000 Integration v3.3.0 Validation and Troubleshooting Guide.
The configuration provided in this integration has been established to support NovaSeq 6000 lab processes. Any configuration changes to protocols or workflows (including renaming protocols, steps, and fields) could break process.

The Illumina NovaSeq 6000 Integration Package v3.3.0 integration includes the following items:
• | Preconfigured NovaSeq 6000 v3.1 workflow that maps to lab protocols and instrument runs. |
• | Preconfigured protocols: |
– | Run Format (NovaSeq 6000 v3.1) |
– | NovaSeq Standard (NovaSeq 6000 v3.1) (supports the loading of pooled libraries into a library tube) |
– | NovaSeq Xp (NovaSeq 6000 v3.1) (supports individual lane loading on the NovaSeq) |
– | AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) |
• | Automated generation of a sample sheet for use with bcl2fastq2 v2.20 analysis software. This file is automatically uploaded to the instrument via the Sequencer API and is used to set up the run. |
• | Automatic validation of run setup information. This information is used to create the run recipe and initiate the run. |
• | Automated tracking of the NovaSeq sequencing run and parsing of run statistics into Clarity LIMS, including: |
– | Progress and metrics of sequencing run |
– | Per-instrument sequencing runs (tracked as part of the Run ID field value) |
– | Sequencing run parameters |
– | Sequencing run data directory location |
– | Real-Time Analysis v3 (RTA3) version and other run-specific information |
• | [Optional] Preconfigured Library Prep Validation v1.1.0/v2.0.1 workflow used for validation purposes only. The workflow contains a single-step protocol that models the library prep required to produce normalized libraries that are ready for the NovaSeq 6000 v3.1 workflow. See the NovaSeq 6000 Integration v3.3.0 Validation and Troubleshooting Guide. |
– | For Clarity LIMS v4.2 and v4.3 users, Library Prep Validation v1.1.1 workflow is available in PCWP v2.0.1 Package. |
– | For Clarity LIMS v5.1 and above users, Library Prep Validation v2.0.1 workflow is available in IPP v2.0 Package. |
• | The above two versions of Library Prep Validation workflow are identical. To avoid confusion, we only show v2.0.1 as an example in this documentation. |
The term 'UDF' (user-defined field) is used in Clarity LIMS v4.x. The term 'custom fields' is used in Clarity LIMS v5.x. The terms are used interchangeably and referred to in this guide as custom fields.

It is assumed that samples enter the NovaSeq 6000 v3.1 workflow as normalized libraries. That is, before they are assigned to the workflow:
• | Samples have been accessioned into the Clarity LIMS. |
• | Samples have been run through QC and library prep. |
• | Samples have been normalized, and the value is captured in a field called Normalized Molarity (nM). |

The Illumina NovaSeq 6000 Integration Package v3.2.2 includes two workflows:
• | NovaSeq 6000 v3.1 |
• | Library Prep Validation v2.0.1 (optional, but recommended for validation purposes) |
The following table describes the protocols and steps included in these workflows.
Library Prep Validation v2.0.1 Workflow |
|||||||||||||||||
Protocol Name |
Protocol Purpose |
Steps Included in Protocol |
|||||||||||||||
Library Prep Validation v2.0.1 |
Included for validation purposes only, this protocol models the library prep steps required to advance samples to the Run Format (NovaSeq 6000 v3.3.0) protocol. The protocol contains a single step - Library Prep Validation v2.0.1. After this step, a routing script sends the samples to the first step of the NovaSeq 6000 v3.1 workflow - Define Run Format (NovaSeq 6000 v3.1). |
|
|||||||||||||||
NovaSeq 6000 v3.0 Workflow |
|||||||||||||||||
Protocol Name |
Protocol Purpose |
Steps Included in Protocol |
|||||||||||||||
Run Format (NovaSeq 6000 v3.1) |
Allows for the assignment of per sample values for Loading Workflow Type, Normalized Molarity, Flowcell Type, and Final Loading Concentration (pM):
Compares each sample Normalized Molarity value with the Minimum Molarity value. Routing script sends samples to the NovaSeq Standard or NovaSeq Xp protocol, according to the selected Loading Workflow Type. Samples with Normalized Molarity less than Minimum Molarity are removed from the workflow. |
|
|||||||||||||||
NovaSeq Standard (NovaSeq 6000 v3.1) |
Samples are pooled and added to the library tube in preparation for the NovaSeq run. Run setup information is validated and sample sheet is generated. Routing script sends library tube to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) protocol. |
|
|||||||||||||||
NovaSeq Xp (NovaSeq 6000 v3.1) |
Samples are pooled and added to lanes on the NovaSeq flow cell. The flow cell type is determined by the option selected in the Define Run Format (NovaSeq 6000 v3.1) step. Run setup information is validated and sample sheet is generated. Routing script sends flow cell to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) protocol. |
|
|||||||||||||||
AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) |
All samples complete the workflow by going through this protocol. This protocol contains one fully automated step. Do not add samples to the Ice Bucket or start the step. The integration starts the step automatically. |
|
The Library Prep Validation v2.0.1 workflow allows for validation of the system after installation is complete. For details, see the NovaSeq 6000 Integration v3.3.0 Validation and Troubleshooting Guide.

The following table lists the step automation included in the NovaSeq 6000 v3.1 workflow. Automation details are provided in the sections following the table.
See NovaSeq Integration v3.3.0 Validation and Troubleshooting Guide for details on the validation workflow,
Protocol |
Step |
Automation |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
|||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||
|
|
|

The following sections describe the configuration installed with the Illumina NovaSeq 6000 Integration.
The Illumina NovaSeq 6000 Integration Package v3.3.0 supports BaseSpace Clarity LIMS v4 (4.2 and later), and v5 (5.3 and later).
As of Clarity LIMS v5, the term user-defined field (UDF) has been replaced with custom field in the user interface (the API resource is still called UDF). There are two types of custom fields:
• | Master Step Fields—Configured on master steps. These fields only apply to the master step on which they are configured and the steps derived from those master steps. |
• | Global Fields—Configured on entities such as submitted sample, derived sample, and measurement. These fields apply to the whole Clarity LIMS system. |

This protocol sets the Loading Workflow Type and allows the choice of the appropriate Flowcell Type and Final Loading Concentration (pM). After the protocol, a routing script sends the normalized libraries to either the NovaSeq Standard (NovaSeq 6000 v3.1) or the NovaSeq Xp (NovaSeq 6000 v3.1) protocol.
This protocol contains one step: Define Run Format (NovaSeq 6000 v3.1). The step is described in the following section.
Step 1. Define Run Format (NovaSeq 6000 v3.1)
Step input: NTP (normalized libraries)
Step output: None
The following automations are configured on this step:
• | Routing Script |
• | Set Next Steps |
Run Format (NovaSeq 6000 v3.1) automation configuration is described in the following section, in the order in which the automations are triggered at run time.
Set Next Steps
Automatically triggered on exit of the Record Details screen, this automation completes the following actions:
• | Sets the next step for samples to REMOVE: |
nextStep = ::REMOVE::
• | Calculates the Minimum Molarity using the following formula: |
input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000
• | Checks Normalized Molarity value. For samples with no Normalized Molarity value (ie, empty value, not including 0), it generates an error message informing that the field cannot be empty: |
if (!input.hasValue(::Normalized Molarity (nM)::)) {
fail(::The Normalized Molarity cannot be empty.::) ;
}
• | Compares each sample Normalized Molarity value with the Minimum Molarity value. If Normalized Molarity value is lower than the Minimum Molarity value, it sets the samples Loading Workflow Type to [Remove from workflow] and records a message in the Warning field for the sample: |
else if (input.::Normalized Molarity (nM):: < input.::Minimum Molarity (nM)::) {
input.::Warning:: = ::The Normalized Molarity is too low.:: ;
input.::Loading Workflow Type:: = ::[Remove from workflow]:: ; }
else { input.::Warning:: = ::not applicable:: }
At this point there are two options:
• | Correct the Normalized Molarity value on the Record Details screen. Edit the Loading Workflow Type field and set it to NovaSeq Standard or NovaSeq Xp, as applicable. |
• | Complete the protocol without correcting the Normalized Molarity value. In this case, those samples are removed from the workflow. |
Routing Script
Automatically triggered on exit of the step, this automation invokes the changeWorkflow script, which routes step inputs appropriately.
• | Samples with Loading Workflow Type field value = NovaSeq Standard are routed to the NovaSeq 6000 v3.1 workflow and queued for the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) step. |
• | Samples with Loading Workflow Type field value = NovaSeq Xp are routed to the NovaSeq 6000 v3.1 workflow and queued for the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1) step. |
Default automation command line is as follows:
bash -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 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Standard' \
--WORKFLOW 'NovaSeq 6000 v3.1' \
--STEP 'Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1)' \
--INPUTS_OR_OUTPUTS 'INPUTS' \
\
--FIELD_NAME 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Xp' \--WORKFLOW 'NovaSeq 6000 v3.1' \
--STEP 'Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1)' \
--INPUTS_OR_OUTPUTS 'INPUTS'"
Step UDFs/Custom Fields
There are four fields defined on the Define Run Format (NovaSeq 6000 v3.1) step.
The following table lists field configuration details.
Field Name |
Field Type |
Field Constraints |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Comment |
Multiline Text |
|
None |
|||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Instruction |
Single-line Text (v4) Text (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Define Run Format (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Configured on Analyte in Clarity LIMS v4 and Derived Sample in Clarity LIMS v5: |
||||||||||||||||||||||||
Adjusted Per Sample Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Final Loading Concentration (pM) |
Numeric (v4) Numeric Dropdown (v5) |
|
|
|||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Minimum Molarity (nM) |
Numeric |
|
|
|||||||||||||||||||||
Normalized Molarity (nM) |
Numeric |
|
|
|||||||||||||||||||||
Per Sample Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Warning |
Single-line Text (v4) Text Dropdown (v5) |
|
|
User Interaction
1. | On the Record Details screen, complete the following fields in the Sample Details table (values can vary across samples): |
• | Loading Workflow Type: Select NovaSeq Standard or NovaSeq Xp from the drop-down list. |
• | Flowcell Type: Select SP, S1, S2, or S4 from the drop-down list. |
• | Final Loading Concentration (pM): Select from the two preset options: 225 (for PCR-free workflows) or 400 (for Nano workflows). Or enter a different value. |
• | Normalized Molarity (nM): These values are copied over from the previous step. If not populated during library prep, enter the values here. |
• | Select Next Steps. This action triggers the Next Steps automation, which completes the following actions: |
• | Sets the value of the next step (for all samples) to Remove from workflow. The Routing Script automation expects this value and requires it to successfully advance samples to the next step. |
• | Calculates the Minimum Molarity. |
• | Checks Normalized Molarity value. For samples with no Normalized Molarity value (ie, empty value, not including 0), generates an error message informing that the field cannot be empty. |
• | Compares each sample Normalized Molarity value with the Minimum Molarity value. |
2. | On the Assign Next Steps screen, note the following items: |
• | In the Sample Details table, the Next Step for all samples is populated with Remove from workflow, regardless of the Loading Workflow Type. |
Do not change this value. If Next Step is not set to Remove from workflow, the routing script cannot route samples correctly.
• | For samples where Normalized Molarity is lower than the Minimum Molarity value, the Loading Workflow Type is set to Remove from workflow. A message is recorded in the Warning field for the sample: |
At this point there are two options:
• | Return to the Record Details screen and adjust the Normalized Molarity value so that it equals or exceeds the Minimum Molarity value. Set the Loading Workflow Type to NovaSeq Standard. |
• | Complete the protocol without correcting the Normalized Molarity value. In this case, the samples in question are removed from the Clarity LIMS workflow. |
3. | Select Finish Step. The Routing Script automation is triggered: |
• | Samples whose Loading Workflow Type is set to Remove from workflow (ie, where Normalized Molarity value is lower than the Minimum Molarity) are removed from the Clarity LIMS workflow. |
• | Samples whose Loading Workflow Type is set to NovaSeq Standard are routed to the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) step. The first of two steps in the NovaSeq Standard (NovaSeq 6000 v3.1) protocol. |
• | Samples whose Loading Workflow Type is set to NovaSeq Xp are routed to the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1) step. The first of three steps in the NovaSeq Xp (NovaSeq 6000 v3.1) protocol. |

Samples are routed to this protocol if their Loading Workflow Type value is set to NovaSeq Standard. Samples are pooled and added to a library tube in preparation for the NovaSeq run.
At the end of this protocol, a routing script sends the library tube to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) protocol.
This protocol contains two steps:
• | Step 1: Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) |
• | Step 2: Dilute and Denature (NovaSeq 6000 v3.1) |
Step 1: Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1)
In this step, place libraries into a single pool, manually. Resuspension buffer and reagents are added.
Only create one pool per step.
Step input: NTP (normalized libraries)
Step output: Bulk pool
The following automations are configured on the step:
• | Calculate Volumes |
• | Set Next Step |
• | Validate Inputs Flowcell Type and Single Pool |
• | Validate Unique Indexes (Not used. This functionality is handled by the core Clarity LIMS configuration for pooling.) |
Validate Inputs Flowcell Type and Single Pool
Automatically triggered on exit of the Pooling screen, this automation completes the following actions:
• | Checks that all samples in the pool have the same Flowcell Type assigned to them. |
• | Checks that only one pool has been created. |
• | Changes the value of error and logging messages to reference the type of pool passed as bulk pool. |
/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
script:validate_flowcell_for_input_pools \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1} \
-validateSingleOutput true \
-poolType bulk"
Calculate Volumes
Automatically triggered when selecting the Calculate Volumes button on the Record Details screen, this automation completes the following actions:
• | Calculates the number of samples in the pool. |
step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1
• | Sets the value of the Bulk Pool Volume (µl), and PhiX Volume (µl) field based on the selected Flowcell Type. |
step.::PhiX Volume (µl):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (µl):: = step.::Number of Flowcells to Sequence:: * 100 + 30;
step.::PhiX Volume (µl):: *= 0.8
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (µl):: = step.::Number of Flowcells to Sequence:: * 100 + 30;
step.::PhiX Volume (µl):: *= 0.8
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (µl):: = step.::Number of Flowcells to Sequence:: * 150 + 30;
step.::PhiX Volume (µl):: *= 1.1
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (µl):: = step.::Number of Flowcells to Sequence:: * 310 + 30;
step.::PhiX Volume (µl):: *= 2.1
};
if (step.::PhiX Volume (µl):: == 0) {
step.::PhiX Volume (µl):: = ::::
};
• | Calculates the Per Sample Volume (µl) to be added to the pool: |
input.::Per Sample Volume (µl):: = ( ( (input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM):: ) * step.::Bulk Pool Volume (µl):: ) / step.::Number of Samples in Pool::
To ensure accurate pipetting of each sample in a pool for sequencing, the Per Sample Volume (µl) value must be equal to or higher than the Minimum Per Sample Volume (µl) (default value, set at 5, may be edited).
Assuming the default Minimum Per Sample Volume (µl) value of 5, completes the following steps for a given batch:
1. | If the smallest Per Sample Volume (µl) value is less than 5, automatically assigns a value of 5 to the sample Adjusted Per Sample Volume (µl) field. |
2. | Adjusts the Adjusted Per Sample Volume (µl) field value for all other samples in the batch, based on the ratio used to increase the lowest value to 5. |
• | Calculates the Total Sample Volume (µl) field value: |
step.::Total Sample Volume (µl):: = step.::Total Sample Volume (µl):: + input.::Adjusted Per Sample Volume (µl)::
• | If the Total Sample Volume is less than the Bulk Pool Volume, calculates the RSB Volume (µl) field value: |
if (step.::Total Sample Volume (µl):: >= step.::Bulk Pool Volume (µl)::) {output.::RSB Volume (µl):: = 0}
else {output.::RSB Volume (µl):: = step.::Bulk Pool Volume (µl):: - step.::Total Sample Volume (µl)::} ;
• | Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs: |
output.::Flowcell Type:: = input.::Flowcell Type:: ;
output.::Loading Workflow Type:: = input.::Loading Workflow Type:: ;
• | Sets the Volume of Pool to Denature (µl) value and calculates NaOH Volume (µl) and Tris-HCl Volume (µl) values, based on the Flowcell Type: |
if ( input.::Flowcell Type:: == ::SP:: ) { output.::Volume of Pool to Denature (µl):: = 100 ; output.::NaOH Volume (µl):: = 25 ; output.::Tris-HCl Volume (µl):: = 25 } ;
if ( input.::Flowcell Type:: == ::S1:: ) { output.::Volume of Pool to Denature (µl):: = 100 ; output.::NaOH Volume (µl):: = 25 ; output.::Tris-HCl Volume (µl):: = 25 } ;
if ( input.::Flowcell Type:: == ::S2:: ) {output.::Volume of Pool to Denature (µl):: = 150 ; output.::NaOH Volume (µl):: = 37.50 ; output.::Tris-HCl Volume (µl):: = 37.50 } ;
if ( input.::Flowcell Type:: == ::S4:: ) { output.::Volume of Pool to Denature (µl):: = 310 ; output.::NaOH Volume (µl):: = 77.50 ; output.::Tris-HCl Volume (µl):: = 77.50 }
• | Uses the NovaSeq_Standard_Bulk_Pool1.csv, NovaSeq_Standard_Bulk_Pool2.csv, and NovaSeq_Standard_Bulk_Pool3.csv template files to generate a single CSV file containing information about the pool and the samples it contains. The generated file is available for download on the Step Setup screen of Dilute and Denature (NovaSeq 6000 v3.1). |
&& /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/NovaSeq_Standard_Bulk_Pool1.csv \
-o 1.csv \ script:driver_file_generator \
-t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool2.csv \
-o 2.csv \ script:driver_file_generator \
-t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool3.csv \
-o 3.csv \
&& cat 1.csv 2.csv 3.csv > {compoundOutputFileLuid0}.csv
Set Next Step
Automatically triggered on exit of the Record Details screen, this automation sets the next step for samples to ADVANCE, advancing them to the next step in the protocol, Dilute, and Denature (NovaSeq 6000 v3.1):
nextStep = ::ADVANCE::
Step UDFs/Custom Fields
There are seven fields defined on the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) step.
The following table lists configuration details.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
||||||||||||
% PhiX (2.5 nM) Spike-In |
Numeric |
|
|
||||||||||||
Bulk Pool Volume (µl) (for calculation purposes, not displayed) |
Numeric |
|
|
||||||||||||
Number of Flowcells to Sequence |
Numeric |
|
|
||||||||||||
Minimum Per Sample Volume (µl) |
Numeric |
|
|
||||||||||||
Number of Samples in Pool (for calculation purposes, not displayed) |
Numeric |
|
|
||||||||||||
PhiX Volume (µl) (for calculation purposes, not displayed) |
Numeric |
|
|
||||||||||||
Total Sample Volume (µl) (for calculation purposes, not displayed) |
Numeric |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Configured on Analyte in Clarity LIMS v4 and Derived Sample in Clarity LIMS v5: |
||||||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
NaOH Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
RSB Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Tris-HCl Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Volume of Pool to Denature (µl) Used in Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.1) step only. Displays on Record Details screen and in the generated CSV file. |
Numeric |
|
|
User Interaction
1. | On the Queue screen, add samples of the same Flowcell Type to the Ice Bucket, and select View Ice Bucket. |
2. | On the Ice Bucket screen, select Begin Work. |
3. | On the Pooling screen complete the following actions: |
a. | Create a pool by dragging samples into the Pool Creator. |
b. | Name the pool or accept the default name (Pool #1). |
c. | Select Record Details. |
On exiting the Pooling screen, the Validate Inputs Flowcell Type and Single Pool is triggered. The automation checks that all samples in the pool are assigned the same Flowcell Type, and only one pool is created.
4. | On the Record Details screen in the Step Details area, complete the two required fields and one optional field, as needed: |
• | Number of Flowcells to Sequence—This value is used in volume calculations, to make sure that volumes are sufficient for the number of times the pool is sequenced. |
• | Minimum Per Sample Volume (µl)—In many applications, and particularly where robotics are used, a minimum sample volume is required. This value is used to calculate how much of each sample is included in the pool. |
• | % PhiX (2.5 nM) Spike-In—This value is used to calculate the volume of PhiX v3 control to include in the pool for the given percentage of spike-in. The field is optional and may be edited. |
5. | In the Sample Details table, select the pool icon to view details on the pool composition. |
6. | Select Calculate Volumes. This action triggers the Calculate Volumes automation, which completes volume calculations based on the selected Flowcell Type: |
• | Calculates Bulk Pool Volume (µl) value. |
• | Calculates PhiX Volume (µl) value if % PhiX (2.5 nM) Spike-In has value. |
• | Calculates the Per Sample Volume (µl) value to be added to the pool. |
• | Calculates the Total Sample Volume (µl) value. |
• | If the Total Sample Volume is less than the Bulk Pool Volume, calculates the RSB Volume (µl) value. |
• | Populates the Flowcell Type and Loading Workflow Type columns of the Sample Details table. |
• | Populates the Volume of Pool to Denature (µl), NaOH Volume (µl) and T ris-HCI Volume (µl) columns of the Sample Details table. (Values are set by a script and are not editable.) |
• | Generates the Calculation File (CSV) and attaches it to the step. This file contains volume information about the pool and the individual samples it contains. Select the file to download it, and then open it in Excel. |
7. | Select Next Steps. The Set Next Step automation is triggered. This automation sets the next step for samples to ADVANCE, advancing them to the next step in the protocol, Dilute, and Denature (NovaSeq 6000 v3.1). |
On the Assign Next Steps screen, the next step is already set to Dilute and Denature (NovaSeq 6000 v3.1).
8. | Select Finish Step. |
At the end of this step, the pool of samples automatically advances to the Dilute and Denature (NovaSeq 6000 v3.1) step.
Step 2: Dilute and Denature (NovaSeq 6000 v3.1)
In this step, pooled samples are denatured and diluted by the addition of NaOH, Tris-HCl, and Resuspension Buffer (RSB). Manually place the pooled samples into the library tube for the NovaSeq run.
In addition, this step validates the run setup information and generates the sample sheet file.
Step input: Bulk pool
Step output: Library tube
The following automations are configured on the step:
• | Routing Script |
• | Check Library Tube Barcode |
• | Validate Run Setup and Generate Sample Sheet |
• | Validate Single Input |
These automations are described in the following sections, in the order in which they are triggered at run time.
Validate Single Input
Automatically triggered at the beginning of the step, this automation checks that there is only one container input to the step.
script:validateSampleCount -min 1 -max 1
Check Library Tube Barcode
Automatically triggered on exit of the Placement screen, this automation completes the following actions:
• | Validates the library tube barcode to ensure it conforms to the barcode mask [A-Za-z]{2}[0–9]{7}-[A-Za-z]{3}: |
if (!output.container.name.matches(::[A-Za-z]{2}[0–9]{7}-[A-Za-z]{3}::)) {
fail(::Invalid Library Tube Barcode. Verify and try again.::)
}
• | Copies Flowcell Type and Loading Workflow Type field values from step inputs to outputs: |
output.::Flowcell Type:: = input.::Flowcell Type:: ;
output.::Loading Workflow Type:: = input.::Loading Workflow Type::
Validate Run Setup and Generate Sample Sheet
Triggered by a button on the Record Details screen, this automation completes the following actions:
• | Copies the Flowcell Type from the step input to the Run Mode field (hidden): |
step.::Run Mode:: = input.::Flowcell Type::
• | Validates the parameters entered on the Record Details screen, which is used to set up the run and generate the sample sheet file. See Respond to Validation/Recipe Request Call from Instrument for more details. |
– | Experiment Name may only contain alphanumeric, dash, or underscore characters. Spaces are not permitted. |
– | When Workflow Type = No Index, Index Read 1 must be zero. |
– | When Workflow Type = Single Index, Index Read 1 must be greater than zero, and Index Read 2 must be zero. |
– | When Workflow Type = Dual Index, both Index Read 1 and Index Read 2 must be greater than zero. |
if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0–9, -, and _::)
};
if (step.::Workflow Type:: == ::No Index::) {
if (step.::Index Read 1:: != 0 || step.::Index Read 2:: != 0) {
fail(::Index Read 1 and Index Read 2 must be 0 if No Index is selected.::)
}
} else if (step.::Workflow Type:: == ::Single Index::) {
if (step.::Index Read 1:: == 0 || step.::Index Read 2:: != 0) {
fail(::Index Read 1 must be greater than 0 and Index Read must be 0 if Single Index is selected.::)
}
} else {
if (step.::Index Read 1:: == 0 || step.::Index Read 2:: == 0) {
fail(::Index Read 1 and Index Read 2 must be greater than 0 if Dual Index is selected.::)
}
};
• | Checks the Paired End and Read 2 Cycles field values. |
– | If Paired End = True and Read 2 Cycles value is zero, generates an error. |
– | If Paired End = False, Read 2 Cycles must be zero and UMI - Read 2 Length and UMI - Read 2 Start From Cycle must be empty. |
if (step.::Paired End::.toBoolean()) {
if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {
fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::)
}
} else {
if (step.::Read 2 Cycles:: != 0) {
fail(::Read 2 Cycles must be 0 if Paired End is False.::)
};
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::)
}
};
• | Checks the Flowcell field value. |
– | If Flowcell Type value is not SP, checks that the value of both Read 1 Cycles and Read 2 Cycles is 151 or less. If value is greater than 151, generates an error message. |
if (input.::Flowcell Type::!=::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell::)
};
if (input.::Flowcell Type::!=::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell::)
};
• | Validates UMI Settings. |
– | If UMI - Read 1 Length has value, then UMI - Read 1 Start From Cycle must have value. |
– | If UMI - Read 1 Length has no value, then UMI - Read 1 Start From Cycle must not have value. |
– | If UMI - Read 2 Length has value, then UMI - Read 2 Start From Cycle must have value. |
– | If UMI - Read 2 Length has no value, then UMI - Read 2 Start From Cycle must not have value. |
– | If UMI - Read 1 Length has no value, then UMI - Read 2 Length must not have value. |
– | If UMI - Read 1 Start From Cycle has no value, then UMI - Read 2 Start From Cycle must not have value. |
if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::)
};
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::)
};
• | Outputs the Settings Header in sample sheet if UMI - Read 1 Length or UMI - Read 2 Length have value. |
step.::Settings Header:: = step.hasValue(::UMI - Read 1 Length::) || step.hasValue(::UMI - Read 2 Length::) ? ::[Settings]:: : ::::;
• | Sets the next step for samples to REMOVE: |
nextStep = ::REMOVE::
• | Generates the sample sheet and attaches it to the step. (See Sample Sheet Contents for more information.) Sample sheet template used depends on the selected value of Reverse Complement Workflow. |
&& if [ '{udf:Reverse Complement Workflow}' == 'true' ]; then \
templateFilename='NovaSeq_BCL2FASTQ_Reverse_Complement_Samplesheet.csv'; \
elif [ '{udf:Reverse Complement Workflow}' == 'false' ]; then \
templateFilename='NovaSeq_BCL2FASTQ_Samplesheet.csv'; \
else echo 'UDF Reverse Complement Workflow is empty or undefined.'; exit -1; fi \
&& /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/$templateFilename \
-o {compoundOutputFileLuid0}.csv \
-q true \
-destLIMSID {compoundOutputFileLuid0} \
-l {compoundOutputFileLuid1}"
Routing Script
Automatically triggered on exit of the step, this automation invokes the changeWorkflow script, which routes step outputs to the NovaSeq 6000 v3.1 workflow, and queues them for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step.
Default automation command line is as follows.
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 {compoundOutputFileLuid2} script:changeWorkflow \
\
--FIELD_NAME 'N/A' \
--FIELD_VALUE 'N/A' \
--WORKFLOW 'NovaSeq 6000 v3.1' \
--STEP 'AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS'"
Step UDFs/Custom Fields
There are 22 fields defined on the Dilute and Denature (NovaSeq 6000 v3.1) step. These fields are required for sample sheet and JSON file generation.
The following table lists field configuration details.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||||||||
BaseSpace Sequence Hub Configuration |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Custom Recipe Path |
Single-line Text (v4) Text Dropdown (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Experiment Name |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Index Read 1 |
Numeric (v4) Numeric Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Index Read 2 |
Numeric (v4) Numeric Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Output Folder |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Paired End |
Single-line Text (v4) Text (v5) |
|
|
|||||||||||||||||||||||||||
Read 1 Cycle |
Numeric (v4) Numeric Dropdown (v5) |
|
*Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151. |
|||||||||||||||||||||||||||
Read 2 Cycle |
Numeric (v4) Numeric Dropdown (v5) |
|
*Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151. |
|||||||||||||||||||||||||||
Reverse Complement Workflow |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Run Mode |
Single-line Text (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Sitting Header |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 1 Length |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 1 Start From Cycle |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 2 Length |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 2 Start From Cycle |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Use Custom Index Read 1 Primer |
Check Box(v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Read 1 Primer |
Check Box(v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Read 2 Primer |
Check Box(v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Recipe |
Check Box(v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Workflow |
Single-line Text (v4) Text (v5) |
|
|
|||||||||||||||||||||||||||
Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Dilute and Denature (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
User Interaction
1. | On the Placement screen, do the following actions: |
• | Drag the pool into the library tube in the Placed Samples area. |
• | Scan or type the barcode of the library tube into the Library Tube field. |
2. | Select Record Details. After exiting the Placement screen, the Check Library Tube Barcode automation checks that the library tube barcode conforms to the barcode mask [A-Za-z]{2}[0–9]{7}-[A-Za-z]{3}. If not, an error message displays. |
3. | On the Record Details screen, the Reagent Lot Tracking section allows tracking of the NaOH, Resuspension Buffer, and Tris-HCI reagents used in the step. Select from the active lots displayed in each drop-down list. |
To make reagent lots available for selection in the Reagent Lot Tracking section, configure and activate them on the Reagents and Controls screen (Clarity LIMS v4) or the Configuration > Consumables screen (Clarity LIMS v5).
• | The fields that display on the Record Details screen are used to set up the run and generate the sample sheet file. Some of these fields are autopopulated and some must be completed manually. See the following table for details. |
Field |
Value |
Experiment Name |
Enter the experiment name. Only alphanumeric characters, dashes, and underscores are permitted. Spaces are not permitted. |
BaseSpace Sequence Hub Configuration |
Select from preset options: Not Used, Run Monitoring Only, Run Monitoring and Storage. |
Workflow |
Automatically populated with preset, GenerateFASTQ. |
Workflow Type |
Select from preset options: No Index, Single Index, Dual Index, Custom. |
Index Read 1 |
Select from preset options: 0, 6, 8 - or type a value between 0 and 20. |
Index Read 2 |
Select from preset options: 0, 6, 8 - or type a value between 0 and 20. |
Paired End |
Select from preset options: True or False. |
Read 1 Cycles |
Select from preset options: 251, 151, 101, 51 - or type a value between 1 and 251. Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151. |
Read 2 Cycles |
Select from preset options: 251, 151, 101, 51 - or type a value between 1 and 251. Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151. |
Use Custom Read 1 Primer |
Select if applicable. |
Use Custom Read 2 Primer |
Select if applicable. |
Use Custom Index Read 1 Primer |
Select if applicable. |
Reverse Complement Workflow |
Select Yes (by default) for v1.5 reagents in NovaSeq Control Software v1.7 and onwards. Select No for v1 reagents. |
Use Custom Recipe |
Select if applicable. |
Custom Recipe Path |
If the Use Custom Recipe option is selected, enter the path to the custom recipe file to be used. |
UMI—Read 1 Length |
Enter the length of the Unique Molecular Identifiers (UMI) in Read 1. Leave blank if not applicable. |
UMI—Read 2 Length |
Enter the length of the Unique Molecular Identifiers (UMI) in Read 2. Leave blank if not applicable. |
UMI—Read 1 Start From Cycle |
Enter the cycle number that Read 1 starts from. Leave blank if not applicable. |
UMI—Read 2 Start From Cycle |
Enter the cycle number that Read 2 starts from. Leave blank if not applicable. |
Output Folder |
Enter the network path for sequencing run folder. For example: \\networkshare\run_data |
4. | On the Record Details screen, select Validate Run Setup and Generate Sample Sheet. |
This selection triggers the automation script, which completes the following actions:
• | Validates the information provided to set up the run. |
• | Generates the sample sheet file and attaches it to the placeholder in the Files area of the Record Details screen. |
• | Sets the value of the next step to Remove from workflow. The Routing Script automation expects this value and requires it to successfully advance samples to the next step. |
5. | Select Next Steps. |
On the Assign Next Steps screen, the Next Step field for all samples is populated with Remove from workflow.
Do not change this value. If Next Step is not set to Remove from workflow, the routing script does not route samples correctly.
6. | Select Finish Step. |
On exit from the step:
• | The Routing Script automation is triggered and samples are routed to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1 protocol. |
• | In Lab View, the pool of samples is queued for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.) step. |
At this point in the workflow, the user interaction ends. The integration automatically starts the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step and data from the run is parsed back into the Clarity LIMS.

Samples are routed to this protocol if their Loading Workflow Type value is set to NovaSeq Xp.
Samples are pooled and added to lanes on the NovaSeq flow cell type selected in the Define Run Format (NovaSeq 6000 v3.1) step. At the end of this protocol, the flow cell is sent to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) protocol.
This protocol contains the following three steps:
• | Step 1: Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1) |
• | Step 2: Dilute, Denature, and ExAmp (NovaSeq 6000 v3.1) |
• | Step 3: Load to Flowcell (NovaSeq 6000 v3.1) |
Step 1: Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1)
Manually place libraries into a pool.
Create only one pool per step.
Step input: NTP (normalized libraries)
Step output: Bulk pool
The following automations are configured on the step:
• | Calculate Volumes |
• | Set Next Step |
• | Validate Inputs Flowcell Type and Single Pool |
• | Validate Unique Indexes (Not used. This functionality is handled by the core Clarity LIMS configuration for pooling.) |
These automations are described in the following section, in the order in which they are triggered at run time.
Validate Inputs Flowcell Type and Single Pool
Automatically triggered on exit of the Pooling screen, this automation completes the following actions:
• | Checks that all samples in the pool have the same Flowcell Type assigned to them. |
• | Checks that only one pool has been created. |
• | Changes the value of error and logging messages to reference the type of pool passed as 'bulk' pool. |
/opt/gls/clarity/bin/java \
-jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
script:validate_flowcell_for_input_pools \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1} \
-validateSingleOutput true \
-poolType bulk"
Calculate Volumes
Triggered when the Calculate Volumes button is selected on the Record Details screen, this automation completes the following actions:
• | Calculates the number of samples in the pool: |
step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1
• | Sets the value of the Bulk Pool Volume (µl) and PhiX Volume (µl) field, based on the selected Flowcell Type: |
step.::PhiX Volume (µl):: = !step.hasValue(::% PhiX (0.25nM) Spike-In::) ? 0 : step.::% PhiX (0.25nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (µl):: = step.'Number of Lanes to Sequence' * 18 + 30;
step.::PhiX Volume (µl):: *= 1.9;
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (µl):: = step.'Number of Lanes to Sequence' * 18 + 30;
step.::PhiX Volume (µl):: *= 1.9;
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (µl):: = step.'Number of Lanes to Sequence' * 22 + 30;
step.::PhiX Volume (µl):: *= 1.9;
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (µl):: = step.'Number of Lanes to Sequence' * 30 + 30;
step.::PhiX Volume (µl):: *= 2.2;
};
if (step.::PhiX Volume (µl):: == 0) {
step.::PhiX Volume (µl):: = ::::;
};
• | Calculates the Per Sample Volume (µl) to be added to the pool: |
input.::Per Sample Volume (µl)::= (((input.::Final Loading Concentration (pM)::* 5/ 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (µl)::) / step.::Number of Samples in Pool::
To ensure accurate pipetting of each sample in a pool for sequencing, the Per Sample Volume (µl) value must be equal to or higher than the Minimum Per Sample Volume (µl) (default value set at 5, may be edited).
Assuming the default Minimum Per Sample Volume (µl) value of 5, completes the following steps for a given batch:
1. | If the smallest Per Sample Volume (µl) value is less than 5, automatically assigns a value of 5 to the sample Adjusted Per Sample Volume (µl) field. |
2. | Adjusts the Adjusted Per Sample Volume (µl) field value for all other samples in the batch, based on the ratio used to increase the lowest value to 5. |
• | Calculates the Total Sample Volume (µl) field value: |
step.::Total Sample Volume (µl):: = step.::Total Sample Volume (µl):: + input.::Adjusted Per Sample Volume (µl)::
• | If the Total Sample Volume is less than the Bulk Pool Volume, calculates the RSB Volume (µl) field value: |
if (step.::Total Sample Volume (µl):: >= step.::Bulk Pool Volume (µl)::) {output.::RSB Volume (µl):: = 0} else {output.::RSB Volume (µl):: = step.::Bulk Pool Volume (µl):: - step.::Total Sample Volume (µl)::} ;
• | Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs: |
output.::Flowcell Type::= input.::Flowcell Type::;output.::Loading Workflow Type::= input.::Loading Workflow Type::;
• | Uses the NovaSeq_Xp_Bulk_Pool.csv and NovaSeq_Xp_Bulk_Pool2.csv template files to generate a single CSV file containing information about the bulk pool and the samples it contains. The generated file is available for download on the Step Setup screen of the following step - Dilute, Denature, and ExAmp (NovaSeq 6000 v3.1). |
&& /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/NovaSeq_Xp_Bulk_Pool.csv \
-o {compoundOutputFileLuid0}.csv \ script:driver_file_generator \
-t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Bulk_Pool2.csv \
-o append.csv \
&& cat append.csv >> {compoundOutputFileLuid0}.csv"
Set Next Step
Automatically triggered on exit of the Record Details screen, this automation completes the following actions:
• | Copies the Flowcell Type values from the step inputs to the step outputs. |
• | Sets the next step for samples to ADVANCE, advancing them to the next step in the protocol: |
output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::
Step UDFs/Custom Fields
There are seven fields defined on the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1) step.
The following table lists Clarity LIMS v4 and Clarity LIMS v5 field configuration details.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
||||||||||||
Bulk Pool Volume (µl) (for calculation purposes, not displayed) |
Numeric |
|
|
||||||||||||
Number of Lanes to Sequence |
Numeric |
|
|
||||||||||||
Total Sample Volume (µl) (for calculation purposes, not displayed) |
Numeric |
|
|
||||||||||||
Minimum Per Sample Volume (µl) |
Numeric |
|
|
||||||||||||
Number of Samples in Pool (for calculation purposes, not displayed) |
Numeric |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Configured on Analyte in Clarity LIMS v4 and Derived Sample in Clarity LIMS v5: |
||||||||||||||||||||||||
RSB Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
User Interaction
1. | On the Queue screen, add samples of the same Flowcell Type to the Ice Bucket, and select View Ice Bucket. |
2. | On the Ice Bucket screen, select Begin Work. |
3. | On the Pooling screen: |
• | Drag samples over into the Pool Creator to create a pool. |
• | Name the pool or accept the default name (Pool #1). |
• | Select Record Details. |
On exit from the Pooling screen, the Validate Inputs Flowcell Type and Single Pool automation is triggered. The automation checks that all samples in the pool are assigned the same Flowcell Type and only one pool has been created.
4. | On the Record Details screen in the Step Details area, complete the two required fields and one optional field, as needed: |
• | Number of Lanes to Sequence—The value entered in this field is used in volume calculations, to make sure that volumes are sufficient for the number of times the pool is sequenced. |
• | Minimum Per Sample Volume (µl)—In many applications, and particularly where robotics are used, a minimum sample volume is required. The value in this field is used to calculate how much of each sample is included in the pool. |
• | % PhiX (0.25nM) Spike-In—The value in this field is used to calculate the volume of PhiX v3 control to be included in the pool for the given percentage of spike-in. The field is optional and maybe edited if necessary. |
• | The field is populated with the configured default value, 5 µl, but may be edited if necessary. |
5. | In the Sample Details table, select the pool icon to view details on the pool composition. |
6. | Select Calculate Volumes. This selection triggers the Calculate Volumes automation, which completes volume calculations based on the selected Flowcell Type: |
• | Calculates Bulk Pool Volume (µl) value. |
• | Calculates the Per Sample Volume (µl) value to be added to the pool. |
• | Calculates the Total Sample Volume (µl) value. |
• | If the Total Sample Volume is less than the Bulk Pool Volume, calculates the RSB Volume (µl) value. |
• | Populates the Flowcell Type and Loading Workflow Type columns of the Sample Details table. |
• | Generates the Calculation File (CSV) and attaches it to the step. This file contains volume information about the samples and RSB buffer to add to the pool. Select the file to download it, then open it in Excel. |
7. | Select Next Steps. This selection triggers the Set Next Step automation. This automation sets the next step for samples to ADVANCE, advancing them to the next step in the protocol, Dilute, Denature, and ExAmp (NovaSeq 6000 v3.1). |
On the Assign Next Steps screen, the next step is already set to Dilute and Denature (NovaSeq 6000 v3.1).
8. | Select Finish Step. |
At the end of this step, the pool of samples automatically advances to the Dilute and Denature (NovaSeq 6000 v3.1) step.
Step 2: Dilute, Denature and ExAmp (NovaSeq 6000 v3.1)
In this step, pooled samples are denatured and diluted by the addition of DPX, NaOH, Tris-HCl, and RSB. Manually create working pools based on the number of lanes you want to sequence.
Step input: Bulk pool
Step output: Working pool - variable number, choose how many working pools to create per bulk pool
The following automations are configured on the step:
• | Calculate Volumes |
• | Set Next Step |
• | Validate Inputs Flowcell Type |
The automations are described in the following section, in the order in which they are triggered at run time.
Validate Inputs Flowcell Type
Automatically triggered at the beginning of the step, this automation invokes the validate_flowcell_for_input_pools script. This script completes the following actions:
• | Checks the inputs to the step and validates that the Flowcell Type field is set to a valid value (SP, S1, S2, or S4) and that all inputs have the same value for this field. |
• | The container type selected matches the value in the Flowcell Type field. |
• | Validates that the number of outputs matches the number of lanes on the selected flow cell type. If validation fails, an error message informs that the number of working pools does not match the number of lanes available on the flow cell. |
bash -l -c "/opt/gls/clarity/bin/java \
-jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
script:validate_flowcell_for_input_pools \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1}"
Calculate Volumes
Automatically triggered on entry to of the Record Details screen, this automation sets the value of the following fields based on the Flowcell Type:
• | BP Aliquot Volume (µl) |
• | NaOH Volume (µl) |
• | Tris-HCl Volume (µl) |
• | DPX1 Volume (µl) |
• | DPX2 Volume (µl) |
• | DPX3 Volume (µl) |
• | Mastermix per Lane (µl) |
if ( input.::Flowcell Type:: == ::SP:: ) {
output.::BP Aliquot Volume (µl):: = 18 ;
output.::NaOH Volume (µl):: = 4.50 ;
output.::Tris-HCl Volume (µl):: = 4.50 ;
step.::DPX1 Volume (µl):: = 126 ;
step.::DPX2 Volume (µl):: = 18 ;
step.::DPX3 Volume (µl):: = 66 ;
output.::Mastermix per Lane (µl):: = 63
};
if (input.::Flowcell Type:: == ::S1::) {
output.::BP Aliquot Volume (µl):: = 18;
output.::NaOH Volume (µl):: = 4.50;
output.::Tris-HCl Volume (µl):: = 4.50;
step.::DPX1 Volume (µl):: = 126;
step.::DPX2 Volume (µl):: = 18;
step.::DPX3 Volume (µl):: = 66;
output.::Mastermix per Lane (µl):: = 63
};
if (input.::Flowcell Type:: == ::S2::) {
output.::BP Aliquot Volume (µl):: = 22;
output.::NaOH Volume (µl):: = 5.50;
output.::Tris-HCl Volume (µl):: = 5.50;
step.::DPX1 Volume (µl):: = 126;
step.::DPX2 Volume (µl):: = 18;
step.::DPX3 Volume (µl):: = 66;
output.::Mastermix per Lane (µl):: = 77
};
if (input.::Flowcell Type:: == ::S4::) {
output.::BP Aliquot Volume (µl):: = 30;
output.::NaOH Volume (µl):: = 7.50;
output.::Tris-HCl Volume (µl):: = 7.50;
step.::DPX1 Volume (µl):: = 315;
step.::DPX2 Volume (µl):: = 45;
step.::DPX3 Volume (µl):: = 165;
output.::Mastermix per Lane (µl):: = 105
};
The automation also completes the following actions:
• | Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs: |
output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;
• | Uses the NovaSeq_Xp_Working_Pool.csv and NovaSeq_Xp_Working_Pool2.csv template files to generate a single CSV file containing information about the DPX volume and the volume of BP Aliquot, Mastermix, NaOH, and Tris-HCI to add per working pool. The generated file is available for download on the Step Setup screen of the following step - Load to Flowcell (NovaSeq 6000 v3.1). |
and /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/NovaSeq_Xp_Working_Pool.csv \
-o {compoundOutputFileLuid0}.csv \script:driver_file_generator \
-t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Working_Pool2.csv \
-o append.csv \
&& cat append.csv >> {compoundOutputFileLuid0}.csv"
Set Next Step
Automatically triggered on exit of the Record Details screen, this automation:
• | Copies the Flowcell Type values from the step inputs to the step outputs. |
• | Sets the next step for samples to ADVANCE, advancing them to the next step in the protocol: |
output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::
Step UDFs/Custom Fields
There are three fields defined on the Dilute, Denature, and ExAmp (NovaSeq 6000 v3.1) step. These field values are set by a script and are not editable while running the step.
The following table lists field configuration details.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||
DPX1 Volume (µl) |
Numeric |
|
|
|||||||||
DPX2 Volume (µl) |
Numeric |
|
|
|||||||||
DPX3 Volume (µl) |
Numeric |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Dilute, Denature, and ExAmp (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Configured on Analyte in Clarity LIMS v4 and Derived Sample in Clarity LIMS v5: |
||||||||||||||||||||||||
BP Aliquot Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Mastermix per Lane (µl) |
Numeric |
|
|
|||||||||||||||||||||
NaOH Volume (µl) |
Numeric |
|
|
|||||||||||||||||||||
Tris-HCl Volume (µl) |
Numeric |
|
|
User Interaction
1. | On the Queue screen, add the pool to the Ice Bucket and select View Ice Bucket. |
2. | On the Ice Bucket screen, (optionally) set the number of derivatives to create (they are placed into the flow cell lanes) and select Begin Work. |
On entry to the Record Details screen, the Calculate Volumes automation is triggered. This automation sets the following values based on the selected Flowcell Type (calculation details are provided in the previous Calculate Volumes automation section):
• | BP Aliquot Volume (µl) |
• | NaOH Volume (µl) |
• | Tris-HCl Volume (µl) |
• | DPX1 Volume (µl) |
• | DPX2 Volume (µl) |
• | DPX3 Volume (µl) |
• | Mastermix per Lane (µl) |
• | Populates the Flowcell Type and Loading Workflow Type columns of the Sample Details table. |
• | Generates the Calculation File (CSV) and attaches it to the step. This file contains information about the DPX Mastermix volume, and the volume of Mastermix, NaOH, and Tris-HCI to add per working pool. Select the file to download it and then open it in Excel. |
3. | On the Record Details screen, the Reagent Lot Tracking section tracks the DPX1, DPX2, DPX3, NaOH, RSB, and Tris-HCI reagent lots. Select from the active lots displayed in each drop-down list. |
To make reagent lots available for selection in the Reagent Lot Tracking section, first configure and activate them. Do this action on the Reagents and Controls screen (Clarity LIMS v4x) or the Configuration > Consumables screen (Clarity LIMS v5x).
• | In the Step Details area, the DPX1, DPX2, and DPX3 reagent volume values are populated. (These values are set by a script and are not editable while running this step.) |
• | In the Sample Details table the following actions are available: |
• | Select the pool icon to view details on the working pool composition. |
• | The BP Aliquot, Mastermix per lane, NaOH, and Tris-HCI volume values for each working pool are populated. (These values are set by a script and are not editable while running the step.) |
• | The working pool number is appended to the bulk pool name. This feature quickly identifies which working pools are derived from the same bulk pool. |
• | In the Files area, select the Calculation File (CSV) to download it and then open it in Excel. View information about the DPX Mastermix volume, and the volume of Mastermix, NaOH. and Tris-HCI to add per working pool. |
• | Select Next Steps to trigger the Set Next Step automation. |
4. | On the Assign Next Steps screen, the next step is set to Load to Flowcell (NovaSeq 6000 v3.0). Select Finish Step. |
Step 3: Load to Flowcell (NovaSeq 6000 v3.1)
In this step, scan the flow cell barcode into the Clarity LIMS and manually place the working pools into the lanes of the flow cell for the NovaSeq run. This step validates the run setup information and generates the sample sheet file.
Step input: Working pool
Step output: Flow cell (output containers: SP, S1, and S2 with 2 lanes, and S4 with 4 lanes)
The following items are configured on the step:
• | Validate Run Setup and Generate Sample Sheet |
• | Validate Flowcell Barcode |
• | Validate Inputs and Selected Container |
The automations are described in the following section, in the order in which they are triggered at run time.
Validate Inputs and Selected Container
Automatically triggered at the beginning of the step, this automation invokes the validate_flowcell_for_input_pools and validateSelectedContainer scripts. These scripts validate the step inputs and the container selected by the user, as follows.
• | Checks that the Flowcell Type field has been set to a valid value (SP, S1, S2, or S4) and that all inputs have the same value. |
• | Checks that the number of outputs matches the number of lanes on the selected flow cell type. If validation fails, an error message informs that the number of working pools does not match the number of lanes available on the flow cell. |
The following table defines the number of samples allowed:
Flow Cell Type |
Number of Working Pools |
SP |
2 |
S1 |
2 |
S2 |
2 |
S4 |
4 |
• | Checks that the container type selected on entry to the Placement screen matches the value in the Flowcell Type field. If validation fails, an error message displays. |
bash -l -c "/opt/gls/clarity/bin/java \
-jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \script:validate_flowcell_for_input_pools \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1} \
-validateSelectedContainer true"
Validate Flowcell Barcode
Automatically triggered on exit of the Placement screen, this automation validates the flow cell barcode scanned into the Clarity LIMS by the user, using the following logic:
if (input.::Flowcell Type:: == ::SP:: && !output.container.name.matches( ::[A-Za-z0-9]{5}DRXX:: ) ) { \
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: ) \
} ; \
if (input.::Flowcell Type:: == ::S1:: && !output.container.name.matches( ::[A-Za-z0-9]{5}DRXX:: ) ) { \
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: ) \
} ; \
if (input.::Flowcell Type:: == ::S2:: && !output.container.name.matches( ::[A-Za-z0-9]{5}DMXX:: ) ) { \
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: ) \
} ; \
if (input.::Flowcell Type:: == ::S4:: && !output.container.name.matches( ::[A-Za-z0-9]{5}DSXX:: ) ) { \
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: ) \
} ;
• | Copies the Flowcell Type and Loading Workflow Type field values from step inputs to outputs: |
output.::Flowcell Type:: = input.::Flowcell Type:: ; \
output.::Loading Workflow Type:: = input.::Loading Workflow Type::'
Validate Run Setup and Generate Sample Sheet
Automatically triggered by selecting a button on the Record Details screen, this automation copies the Flowcell Type from the step input to the Run Mode field (hidden):
step.::Run Mode:: = input.::Flowcell Type::
• | Checks the Flowcell field value. |
– | If Flowcell Type value is not SP, checks that the value of both Read 1 Cycles and Read 2 Cycles is 151 or less. If value is greater than 151, displays an error message. |
if (input.::Flowcell Type::!=::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell::)
}
if (input.::Flowcell Type::!=::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell::)
}
• | Validates the parameters entered on the Record Details screen, which are used to set up the run and generate the sample sheet file. See Respond to Validation/Recipe Request Call from Instrument section for more details. |
– | Experiment Name may only contain alphanumeric, dash, or underscore characters. Spaces are not permitted. |
– | When Workflow Type = No Index, both Index Read 1 and Index Read 2 must be zero. |
– | When Workflow Type = Single Index, Index Read 1 must be greater than zero and Index Read 2 must be zero. |
– | When Workflow Type = Dual Index, both Index Read 1 and Index Read 2 must be greater than zero. |
if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0–9, -, and _::)
};
if (step.::Workflow Type:: == ::No Index::) {
if (step.::Index Read 1:: != 0 || step.::Index Read 2:: != 0) {
fail(::Index Read 1 and Index Read 2 must be 0 if No Index is selected.::)
}
} else if (step.::Workflow Type:: == ::Single Index::) {
if (step.::Index Read 1:: == 0 || step.::Index Read 2:: != 0) {
fail(::Index Read 1 must be greater than 0 and Index Read 2 must be 0 if Single Index is selected.::)
}
} else {
if (step.::Index Read 1:: == 0 || step.::Index Read 2:: == 0) {
fail(::Index Read 1 and Index Read 2 must be greater than 0 if Dual Index is selected.::)
}
};
• | Checks the Paired End and Read 2 Cycles field values. |
– | If Paired End = True and Read 2 Cycles value is 0, an error displays. |
– | If Paired End = False, Read 2 Cycles must be zero and UMI - Read 2 Length and UMI - Read 2 Start From Cycle must be empty. |
if (step.::Paired End::.toBoolean()) {
if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {
fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::)
}
} else {
if (step.::Read 2 Cycles:: != 0) {
fail(::Read 2 Cycles must be 0 if Paired End is False.::)
};
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::)
}
};
• | Validates UMI Settings: |
– | If UMI - Read 1 Length has value, then UMI - Read 1 Start From Cycle must have value. |
– | If UMI - Read 1 Length has no value, then UMI - Read 1 Start From Cycle must not have value. |
– | If UMI - Read 2 Length has value, then UMI - Read 2 Start From Cycle must have value. |
– | If UMI - Read 2 Length has no value, then UMI - Read 2 Start From Cycle must not have value. |
– | If UMI - Read 1 Length has not value, then UMI - Read 2 Length must not have value. |
– | If UMI - Read 1 Start From Cycle has no value, then UMI - Read 2 Start From Cycle must not have value. |
if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::)
};
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::)
};
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::)
};
• | Outputs the Settings Header in sample sheet if UMI - Read 1 Length or UMI - Read 2 Length have value. |
step.::Settings Header:: = step.hasValue(::UMI - Read 1 Length::) || step.hasValue(::UMI - Read 2 Length::) ? ::[Settings]:: : ::::;
• | Sets the next step for samples to ADVANCE, advancing them to the next step in the protocol - AUTOMATED - Run (NovaSeq 6000) v3.0. |
nextStep = ::ADVANCE::
• | Generates the sample sheet and attaches it to the step. (See Sample Sheet Contents for more information.) The sample sheet template depends on the selected value for Reverse Complete Workflow. |
&& if [ '{udf:Reverse Complement Workflow}' == 'true' ]; then \
templateFilename='NovaSeq_BCL2FASTQ_Reverse_Complement_Samplesheet.csv'; \
elif [ '{udf:Reverse Complement Workflow}' == 'false' ]; then \
templateFilename='NovaSeq_BCL2FASTQ_Samplesheet.csv'; \
else echo 'UDF Reverse Complement Workflow is empty or undefined.'; exit -1; fi \
&& /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/$templateFilename \
-o {compoundOutputFileLuid0}.csv \
-q true \
-destLIMSID {compoundOutputFileLuid0} \
-l {compoundOutputFileLuid1}"
Step UDFs/Custom Fields
There are 23 fields defined on the Load to Flowcell (NovaSeq 6000 v3.1) step.
The following table lists the field configuration details.
Field Name |
Field Type |
Field Contraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||||||||
BaseSpace Sequence Hub Configuration |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Custom Recipe Path |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Experiment Name |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Index Read 1 |
Numeric (v4) Numeric Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Index Read 2 |
Numeric (v4) Numeric Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Library Tube Barcode |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Paired Ends |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Read 1 Cycles |
Numeric (v4) Numeric Dropdown (v5) |
|
*Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151 |
|||||||||||||||||||||||||||
Read 2 Cycles |
Numeric (v4) Numeric Dropdown (v5) |
|
*Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151 |
|||||||||||||||||||||||||||
Reverse Complement Workflow |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Run Mode (not displayed in user interface) |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||||||||
Setting Header (not displayed in user interface) |
Single-line Text (v4) Text (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 1 Length |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 1 Start From Cycle |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 2 Length |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
UMI—Read 2 Start From Cycle |
Numeric (v4) Numeric (v5) |
|
Not applicable |
|||||||||||||||||||||||||||
Use Custom Index Read 1 Primer |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Read 1 Primer |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Read 2 Primer |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Use Custom Recipe |
Check Box (v4) Toggle Switch (v5) |
|
|
|||||||||||||||||||||||||||
Workflow |
Single-line Text (v4) Text (v5) |
|
|
|||||||||||||||||||||||||||
Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
Global Custom Fields
The following table lists the global custom fields that are configured to display on the Load to Flowcell (NovaSeq 6000 v3.1) step.
Field Name |
Field Type |
Field Constraints/Options |
Preset Values/Additional Options and Dropdown Items |
|||||||||||||||||||||
Configured on Analyte in Clarity LIMS v4 and Derived Sample in Clarity LIMS v5: |
||||||||||||||||||||||||
Flowcell Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
|||||||||||||||||||||
Loading Workflow Type |
Single-line Text (v4) Text Dropdown (v5) |
|
|
User Interaction
1. | On the Ice Bucket screen, complete the following actions: |
• | Select the appropriate flow cell type from the Destination Container drop-down list in the Container Options panel. |
• | Select Begin Work. |
2. | On the Placement screen, complete the following actions: |
• | Drag one or more of the pools from the left of the screen into the Placed Samples area to the right. |
• | Scan or type the barcode of the flow cell into the flow cell field. |
• | Select Record Details. |
On exit of the Placement screen, the Validate Flowcell Barcode automation validates the container barcode (described previously).
3. | Set up the run and generate the sample sheet file using the fields that display on the Record Details screen. Some of these fields are autopopulated and some must be completed manually. |
The following table lists the fields that display on Record Details screen of Load to Flowcell (NovaSeq 6000 v3.1) step.
Field |
Value |
Experiment Name |
Enter the experiment name. Only alphanumeric characters, dashes, and underscores are permitted. Spaces are not permitted. |
BaseSpace Sequence Hub Configuration |
Select from preset options: Not Used, Run Monitoring Only, Run Monitoring and Storage. |
Workflow |
Automatically populated with preset - GenerateFASTQ. |
Workflow Type |
Select from preset options: No Index, Single Index, Dual Index, Custom. |
Index Read 1 |
Select from preset options: 0, 6, 8 - or type a value between 0 and 20. |
Index Read 2 |
Select from preset options: 0, 6, 8 - or type a value between 0 and 20. |
Paired End |
Select from preset options: True or False. |
Read 1 Cycles |
Select from preset options: 251, 151, 101, 51 - or type a value between 1 and 251. Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151. |
Read 2 Cycles |
Select from preset options: 251, 151, 101, 51 - or type a value between 1 and 251. Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151. |
Use Custom Read 1 Primer |
Select if applicable. |
Use Custom Read 2 Primer |
Select if applicable. |
Use Custom Index Read 1 Primer |
Select if applicable. |
Reverse Complement Workflow |
Select Yes (by default) for v1.5 reagents in NovaSeq Control Software v1.7 and onwards. Select No for v1 reagents. |
Use Custom Recipe |
Select if applicable. |
Custom Recipe Path |
If Use Custom Recipe selected, enter the path to the custom recipe file to be used. |
UMI - Read 1 Length |
Enter the length of the Unique Molecular Identifiers (UMI) in Read 1. Leave blank if not applicable. |
UMI - Read 2 Length |
Enter the length of the Unique Molecular Identifiers (UMI) in Read 2. Leave blank if not applicable. |
UMI - Read 1 Start From Cycle |
Enter the cycle number that Read 1 starts from. Leave blank if not applicable. |
UMI - Read 2 Start From Cycle |
Enter the cycle number that Read 2 starts from. Leave blank if not applicable. |
Output Folder |
Enter the network path for sequencing run folder. For example: \\networkshare\run_data |
Library Tube Barcode |
Scan the library tube barcode. |
4. | On the Record Details screen, select Validate Run Setup and Generate Sample Sheet. |
This selection triggers the automation script, which completes the following actions:
• | Validates the information provided to set up the run. |
• | Generates the sample sheet file and attaches it to the placeholder in the Files area of the Record Details screen. |
5. | Select Next Steps. |
On the Assign Next Steps screen, the Next Step field for all samples is populated with Mark protocol as complete.
6. | Select Finish Step. |
In Lab View, the pooled samples are queued for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step.
At this point in the workflow, the user interaction ends. The integration automatically starts the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step and data from the run is parsed back into the Clarity LIMS.

This final protocol contains one fully automated step, AUTOMATED- NovaSeq Run (NovaSeq 6000 v3.1), described in the following section.
This is a fully automated step. Do not add samples to the Ice Bucket or start the step manually.
Step 1: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1)
Step input: Library tube from NovaSeq Standard or flow cell from NovaSeq Xp protocol
Step output: Result file/measurement
Do not start this step manually. It is a fully automated step and the sequencing service does not update samples correctly if they have been manually started.
In this step, pooled samples are sequenced on the NovaSeq instrument and the run metrics are recorded in Clarity LIMS.
The Automated - NovaSeq Run (NovaSeq 600 v3.1) step contains two automations:
• | Set Next Steps |
• | Update Lane Number |
By default, the Set Next Steps automation is disabled (set to Not Used) and the Sequencer API sets the next step for samples.
Set Next Steps
If necessary, override the default next step behavior used by the Sequencer API by performing the following steps:
1. | Enable the automation and use it to set custom next step behavior and generate a log file. By default, the automation sets the next step to ADVANCE and the samples complete the protocol. |
2. | Configure the automation to trigger automatically on exit of the Record Details screen. |
Update Lane Number
This automation triggers automatically upon entry to the Record Details screen.
Do not disable or modify this automation to ensure the Lane Number displays properly.
Step UDFs/Custom Fields
The following table lists the run parameters parsed from the RunParameter.xml file and mapped to fields configured on the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step.
Step UDF/ Custom Field Name |
Current Cycle |
Current Read |
Firmware Version |
Flow Cell Expiration Date |
Flow Cell ID |
Flow Cell Lot Number |
Flow Cell Mode |
Flow Cell Part Number |
Flow Cell Side |
Instrument Control Software Version |
Instrument ID |
Instrument Type |
Lane Counter |
Loading Workflow Type |
Output Folder |
RTA Version |
Run ID |
Run Status |
Sequencing Log |
Global Custom Fields
The following global custom fields are used to capture the run metrics in Clarity LIMS.
• | % Aligned R1 |
• | % Aligned R2 |
• | % Bases >=Q30 R1 |
• | % Bases >=Q30 R2 |
• | % Error Rate R1 |
• | % Error Rate R2 |
• | % Phasing R1 |
• | % Phasing R2 |
• | % Prephasing R1 |
• | % Prephasing R2 |
• | %PF R1 |
• | %PF R2 |
• | Cluster Density (K/mm^2) R1 |
• | Cluster Density (K/mm^2) R2 |
• | Intensity Cycle 1 R1 |
• | Intensity Cycle 1 R2 |
• | Reads PF (M) R1 |
• | Reads PF (M) R2 |
• | Yield PF (Gb) R1 |
• | Yield PF (Gb) R2 |
Note the following details:
• | Values are aggregated across all lanes. Some values, for example Yield PF (Gb) R1, are summed while others are averaged. |
• | The names listed previously are the default global custom field names installed with the NovaSeq Integration v3.3.0 configuration provided in the Preconfigured Workflow Package (PCWP) v2.0.1 or later. |
• | All global configuration fields are configured on the Container entity. |
• | All field names are configurable via the Clarity LIMS Configuration > Custom Fields screen (Global Fields tab). |
• | If you change the field names in Clarity LIMS, also change them through the run.metricUdfNames properties file in the application.yml file for the Sequencer API (see application.yml Properties). All fields are configured to be visible on the Record Details screen for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step (in the Sample Details table). |
These global custom fields are configured on the Container entity, visible on each input, but they should not be confused with per-lane metrics.
All run metrics tracked in Clarity LIMS are overall metrics for the run. There are no per-lane metrics provided by NovaSeq Control Software currently.

The sample sheet is generated on the step before the run, which is Dilute and Denature (NovaSeq 6000 v3.1) in the NovaSeq Standard protocol or Load to Flowcell (NovaSeq 6000 v3.1) in the NovaSeq Xp protocol. This step places samples on the library tube or flow cell that are loaded in the NovaSeq instrument.
In the default configuration, the Validate Run Setup and Generate Sample Sheet automation generates one CSV format sample sheet file for use with bcl2fastq v2.20 downstream analysis.
How it Works
The sample sheet is uploaded to the NVCS via the /Illumina/Sequencer/v2/sequencing-run/files endpoint to the Sequencer API. The file endpoint allows for a file to be downloaded from the Clarity LIMS using OAuth (instead of Basic Authentication), which is required for NovaSeq.
The run recipe response sets the sample sheet URL to the link to download the file from this endpoint and sets the sampleSheetRequiresOAuth value to true.
Sample Sheet Contents
The sample sheet content is controlled by the following step UDFs/custom fields that display in the Step Details area of the Record Details screen.
• | Experiment Name |
• | Read 1 Cycles |
• | Read 2 Cycles |
• | Workflow |
• | Reverse Complement Workflow |
See Illumina Instrument Sample Sheets (NGS v5.17 & later) for detailed information on the following items:
• | Sample sheet generation script parameters and usage |
• | Sample sheet data and configuration options |
• | Enabling unique FASTQ file names per sequencing run |

The following steps outline the sequence of events that occurs when a flow cell is loaded onto the NovaSeq instrument.
User authentication and login to the NovaSeq instrument is achieved via the getSequencerLoginURL endpoint (found at /Illumina/Sequencer/v2/sequencing-run/login). This endpoint returns the URL that the instrument uses to get an access token.
1. | The Sequencer API service provides the NovaSeq Control Software (NVCS) with a URL for the Clarity LIMS login screen and the NVCS displays this screen to the user. Log in to automatically authorize the NVCS to use your account to access the Clarity LIMS. |
2. | Enter credentials: |
• | Username and password are passed to the Clarity LIMS server to make sure that the access is valid. |
• | By default, the Sequencer API service tries to contact the Clarity LIMS at http://localhost:9080/clarity/. This URL is set by the installation script, but it can be configured with the clarity.url property in the application.yml file (see application.yml Properties). |
3. | User is redirected to the Sequencer login page at /Illumina/Sequencer/v2/sequencer_login. |
• | If authentication is successful, the screen displays a success message. The Clarity LIMS server provides the OAuth token and username by returning them in redirect to /Illumina/Sequencer/v2/sequencer_login/Success. This redirect does not reload the page, but allows the NovaSeq to continue with run setup. |
• | If authentication fails, the user is left on the login screen and a warning message informs them of the failure. A background redirect to /Illumina/Sequencer/v2/sequencer_login/Error informs the NovaSeq of the failure. |
Respond to Validation/Recipe Request Call from Instrument
1. | The sequencing-run/recipe/novaseq endpoint consumes a POST request with a LibraryContainerI, FlowCellId, and reagents information. |
• | LibraryContainerId, FlowCellId, and reagent information is provided by the NovaSeq. LibraryContainerId is required. |
• | LibraryContainerId and FlowCellId should match either the library tube ID or flow cell ID of the corresponding containers in Clarity LIMS. |
• | If there are no containers or multiple containers, an error is generated. |
2. | All populated containers whose name matches either the LibraryContainerId or FlowCellId are validated as follows. |
• | All samples in the container must be queued for a sequencing run step. |
• | All samples must be queued for only one sequencing run step. |
• | All samples must be queued for the same sequencing run step. |
Configure the steps that are considered sequencing run steps in the novaseq.sequenceStepNames property in the application.yml file. The property is a list and each list entry must be the exact name of a sequencing step, not the name of the underlying master step/process type. See application.yml Properties for more details.
3. | After a single container has passed validation, the run setup information (run recipe request) is returned to the NVCS via the API and the run recipe is generated. |
Note the following details:
• | The run recipe information is read from fields configured on the parent process/master step of the samples in the container. The workflow must include recipe definition in that step. |
• | By default, the parent process/master step is the Dilute and Denature (NovaSeq 6000 v3.1) or Load to Flowcell (NovaSeq 6000 v3.1) step, depending on workflow. |
• | The default field values match the names of the fields in the NovaSeq v3.3.0 configuration included in PCWP and IPP. The field names are configurable through the recipe.udfNames.* properties. Each of these properties corresponds to an entry in the recipe and the value of a property defines the name of the field that is used to populate that entry in the recipe. |
• | It is assumed that this parent process/master step removes any illegal characters from the Experiment Name field. |
• | The Clarity LIMS download link to the sample sheet created on the run setup step is used for the SampleSheet value in the recipe. The name of the output of the sample sheet on the setup step can be configured through the recipe.sampleSheet.outputName property (Sample Sheet by default) in the application.yml (see application.yml Properties for more details). If no matching output is found, or no file was attached to the output, then the value of the recipe.sampleSheet.notAvailableValue property (Not Available by default) is used in the recipe. |
4. | After the recipe is generated, it is returned as a *.json file in the response, in the form defined by the Swagger definition for the API. |
The contents of the run recipe are controlled by the sample sheet contents and the fields configured on the Dilute and Denature (NovaSeq 6000 v3.1) and Load to Flowcell (NovaSeq 6000 v3.1) steps:
Example of run recipe content is as follows:
{
"run_name": "NVCS16027_SPrime_2x250",
"run_mode": "S4",
"workflow_type": "DualIndex",
"librarytube_id": "NV0025867-LIB",
"flowcell_id": "",
"sample_loading_type": "NovaSeqStandard",
"rehyb": false,
"paired_end": true,
"read1": 151,
"read2": 151,
"index_read1": 8,
"index_read2": 8,
"output_folder": "\\\\network_path\\run_data",
"samplesheet": "<path to sample sheet on LIMS server>",
"require_samplesheet_authentication": true,
"usecustomrecipe": false,
"customRecipe": null,
"use_basespace": false,
"basespace_mode": null,
"use_custom_read1_primer": false,
"use_custom_read2_primer": false,
"use_custom_index_read1_primer": false
}
Respond to Sequencing Started Call from Instrument
1. | Matching container for the run (library tube or flow cell) is found, and contents are validated to be queued for the correct step. |
If no matching container is found or if the samples in the container are incorrectly queued, an error is thrown and the step is not started. This validation is also done during the run recipe request immediately prior, so this error case should not be encountered.
2. | Reagent kits that are configured for the Sequencer API are checked against the configuration for the step to be run: |
• | If a kit is configured for the API but does not exist in Clarity LIMS, it is created. |
• | If a kit exists, but is not enabled on the step to be run, the step configuration is updated to enable it. |
• | If a kit that is to be enabled is Archived, it is set to Active. |
• | If a kit that is to be enabled is in Pending status, it is set to Active. |
• | If any kits enabled on the step are not configured for the Sequencer API, a warning is logged and the step cannot be completed by the API without user intervention. |
• | If any kits provided in the recipe request are not configured for the Sequencer API, they are ignored and a warning is logged during lot tracking. |
3. | The number of replicates for the step is determined by the type of flow cell being used in the run. |
• | For Standard mode, this information is based on the number of lanes in the flow cell. This information is stored as part of the Sequencer API configuration. |
• | For XP mode, there is always one replicate, because there is already one input tracked for each lane. |
4. | The automated sequencing step is started. |
5. | Reagent lots are attached to the step. The Flow Cell and Library Tube reagents in the request are ignored. Information from these reagents is tracked in Clarity LIMS as containers and custom fields. |
Any other reagents in the request are handled as follows.
• | If the reagent is not configured to be tracked, a warning is logged and the reagent is ignored. |
• | Existing reagent lots are looked up by kit name (determined by Sequencer API configuration), name (the serial number in the request), and lot number (the lot number in the request). |
• | If one or more matching reagent lots exist in Clarity LIMS, the newest one is used. |
• | If the expiry date does not match the expiry in the request, or if the status is not set to Active, the lot is updated to have the correct expiry date and an Active status. |
Otherwise a new lot is created with the following configuration:
• | Reagent Kit—Matching kit as determined from Sequencer API configuration and step 2. |
• | Name—Serial number in request. |
• | Lot Number—Lot number in request. |
• | Expiry—Expiry date in request. |
• | Status—Active. |
If any reagents are expected to be in the request but are not, these reagents are logged. This action prevents the step from being completed without user intervention.
6. | Step UDFs/custom fields are updated with the run information parsed from the request. See Respond to Record InterOps Metrics Call from Instrument. |
7. | Any important events during this request are logged into the Sequencer API log file and in the Sequencing Log multiline global custom field on the step (assuming the step was started successfully). See Respond to Record InterOps Metrics Call from Instrument. |
Respond to Record InterOps Metrics Call from Instrument
When the metrics endpoint receives a POST, it completes the following actions:
• | Looks for a matching library tube or flow cell in Clarity LIMS. |
• | Find the in-progress sequencing step for that container. |
When the step is found, the run metrics in the request are written to container global custom fields in Clarity LIMS.
Respond to Sequencing Completed Call from Instrument
If the sequencing run is successful, after the metrics are recorded, the API call for Sequencing Completed is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:
1. | The Current Cycle, Current Read, and Status step UDFs/custom fields are updated. |
2. | The multiline Sequencing Log UDF/master step field is updated. |
3. | A success message is recorded in the log file at the info level: |
Sequencing run with Run ID {runId} of Step '{step.name}' ({step.limsid}) completed successfully.
4. | The Clarity LIMS waits for any automations that are triggered automatically as it advances the step. |
5. | By default, the Clarity LIMS assigns the next steps on the outputs to move them on to the first configured next step. If there are no next steps, the protocol is completed. |
Respond to Sequencing Errored Call from Instrument
If the sequencing run is unsuccessful, the API call for Sequencing Error is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:
1. | The Current Cycle, Current Read, and Status step UDF/custom fields are updated. |
2. | The multiline Sequencing Log UDF/master step field is updated. |
3. | A failure message is recorded in the log file at the error level: |
Step '${Step.name}' (${Step.limsid}) failed with Run ID ${runId}.
4. | The step is left at the Record Details screen. |
Respond to Sequencing RunEndedByUser Call from Sequencer
If the sequencing run is ended by the user, the API call for Sequencing RunEndedByUser is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:
1. | The Current Cycle, Current Read, and Status step UDFs/custom fields are updated. |
2. | The multiline Sequencing Log UDF/master step field is updated. |
3. | The following message is recorded in the log file, at the warning level: |
"Sequencing run with Run ID ${status.runInfo.runId} of Step '${step.configuration.name}' (${step.limsid}) aborted by user ${status.runInfo.userName}."
4. | The step is left at the Record Details screen. |

The following sections describe the various components (files, properties, reagent categories / label groups, reagent kits, and containers) that are installed by default as part of this integration. Information on installed workflows, protocols, steps, and automations is provided in the previous Workflows, Protocols, and Steps section.
Illumina NovaSeq Integration v3.3.0 is distributed as an RPM package, BaseSpaceLIMS-sequencer-api. This RPM package must be installed on the Clarity LIMS server.
The BaseSpaceLIMS-sequencer-api RPM installs the following items:
• | Sequencer API WAR file |
• | Configuration file - application.yml |
• | Two configuration scripts: configure_sequencer_api_proxy.sh and configure_sequencer_api_application.sh |
The NovaSeq v3 configuration is delivered through the Preconfigured Workflows Package (PCWP) v2.0.1, and Illumina Preset protocols (IPP) v2.0, which requires installation of the NGS Extensions Package v5.20.1 or later.
• | If the NGS Extensions Package is not already installed, or if a version earlier than v5.20.1 is installed, the latest version is installed by default with the NovaSeq integration. See Release Notes for details. |
• | If NGS Extensions Package v5.20.1 or later is already installed, upgrade is not forced or required. |
The following table lists the components installed by the RPM package.
Files Installed |
Location and Description |
Illumina#Sequencer#v2.war |
/opt/gls/clarity/tomcat/current/webapps War file for NovaSeq v3.3.0 API. |
configure_sequencer_api_application.sh |
/opt/gls/clarity/config/ Script that configures the Sequencer API application through its external application.yml file. |
configure_sequencer_api_env.sh |
/opt/gls/clarity/config/ Script that configures the Clarity LIMSTomcat configuration to include Secret Util settings. |
configure_sequencer_api_proxy.sh |
/opt/gls/clarity/config/ Script that configures the proxy to allow communication with the Sequencer API (NovaSeq v3.3.0 API) application. |
sequencer-api.conf |
/etc/httpd/clarity/ Proxy setting to communicate with the Clarity LIMS. |
The application.yml file is located at opt/gls/clarity/extensions/sequencing-api/.
• | All properties are configured automatically during installation, but you can also configure them by editing the application.yml file and then restarting Tomcat. |
• | All custom field names, both for recipe and run information, are represented by properties in the file. |
• | For all custom fields, the names (values in this file) can be changed. However, the property names cannot be changed, removed, or added to. For example, you can change Loading Workflow Type but you cannot change recipe.udfNames.sampleLoadingType. |
Property |
Description |
|||||||||
spring.profiles.active |
Tells the application that it is running deployed in Tomcat. Default value: tomcat (Do not change) |
|||||||||
clarity.url |
Base URL that the Sequencer API service uses to contact the Clarity LIMS. The installation script (configure_sequencer_api_application) prompts for this. |
|||||||||
clarity.username |
Username to be used when communicating with Clarity LIMS. |
|||||||||
clarity.password |
Encrypted password to be used when communicating with Clarity LIMS. |
|||||||||
security.signing-key |
Private key that should be used when signing/validating OAuth tokens. Changing this invalidates any issued tokens. |
|||||||||
security.token-expiry |
Specifies (in hours) the expiry period for login tokens issued by the Sequencer API. Default value: 88 |
|||||||||
novaseq.sequenceStepNames |
List of NovaSeq sequencing run step names for which the integration may find samples queued.
Default value: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) |
|||||||||
novaseq.flowcells |
List of supported NovaSeq flow cell types.
Default value: - type: "SP" lanes: 2 - type: "S1" lanes: 2 - type: "S2" lanes: 2 - type: "S4 "lanes: 4 |
|||||||||
novaseq.reagents |
List of supported reagent kits to be tracked on sequencing steps. - lotName: The name of the lot as it appears in the run started request. - kitName: The name of the corresponding reagent kit in Clarity LIMS that the lot should be tracked as.
Default value: - lotName: "Buffer"kitName: "Buffer Cartridge"- lotName: "Cluster"kitName: "Cluster Cartridge"- lotName: "SBS"kitName: "SBS Cartridge" |
|||||||||
recipe.udfNames |
Configures the names of the fields used in the run recipe. See Run Recipe Contents section for more information).
|
|||||||||
recipe.sampleSheet.outputName recipe.sampleSheet.notAvailableValue |
Configures the name of the sample sheet file placeholder on the step where run recipe information is populated, and the property value to use when the file is not found. |
|||||||||
run.stepUdfNames |
Configures the step UDF/custom field names to be used when recording run results.
|
|||||||||
run.metricUdfNames |
Configures the result file UDFs/measurement global field names to be used when recording run results. These are the fields that capture the run data. |
|||||||||
run.autoComplete |
Determines whether the sequencing run step should be completed automatically after parsing the run metrics on a run (see also run.autoCompleteOnlyAtSuccess). Default value: true See the Auto Complete section for more information. |
|||||||||
run.autoCompleteOnlyAtSuccess |
Determines which of the following options the sequencing run step should be:
Default value: true See the Auto Complete section for more information. |
Reagent Categories/Label Groups
• | TruSeq HT Adapters v2 (D7-D5) |
• | Buffer Cartridge |
• | Cluster Cartridge |
• | DPX1 |
• | DPX2 |
• | DPX3 |
• | NaOH |
• | Resuspension Buffer (RSB) |
• | SBS Cartridge |
• | Tris HCl |
• | Library Tube |
• | SP |
• | S1 |
• | S2 |
• | S4 |
This integration supports the following items:
• | Library tube with barcode provided in the format [A-Za-z]{2}[0–9]{7}-[A-Za-z]{3} |
Example: AB1234567-XYZ
• | SP, S1, S2, or S4 flow cell with barcode provided in one of the following formats: |
– | SP and S1 flow cell: [A-Za-z0-9]{5}DRX[XY2357] |
– | S2 flow cell: [A-Za-z0-9]{5}DMX[XY2357] |
– | S4 flow cell: [A-Za-z0-9]{5}DSX[XY2357] |
Example: H1991DMXX

For details on configuring NVCS for integration with BaseSpace Clarity LIMS, contact the Clarity LIMS Support team.

The requirements for the routing script functionality are as follows.
1. | On the steps that use the routing script - Define Run Format (NovaSeq 6000 v3.1) and Dilute and Denature (NovaSeq 6000 v3.1) - the Next Step for all samples must be set to Remove from workflow. This value is set by a script. The value must not change in the Assign Next Steps screen. |
2. | Clarity LIMS v5: In the protocol configuration screen, the following settings are required and must not be changed: |
In the Next Steps section, for the last step in the protocol, the method of assigning the next step must be set to Automatic.
3. | Clarity LIMS v4: In the protocol configuration area, for all protocol steps on which the Routing Script automation is configured, the following setting is required and must not be changed: |
On the Next Steps configuration tab, the Next Steps are set by a script toggle switch must be set to Yes.

As of NovaSeq Integration v3.3.0, the application.yml configuration file contains two additional properties:
• | run.autoComplete |
• | run.autoCompleteOnlyAtSuccess |
These properties determine the conditions under which the last step of the NovaSeq 6000 workflow, AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1), is automatically completed:
• | Only when the run status is "RunCompletedSuccessfully" (default behavior) |
-or -
• | Regardless of the run status |
By default, both properties are set to true and the step only completes if the run is successful. If the run fails or is aborted, manually complete the step in Clarity LIMS.
If you would like the step to autocomplete regardless of the result of the sequencing run, you must change the autoCompleteOnlyAtSuccess property value to false.
Enabling/Disabling autoComplete Properties
1. | Open the application.yml file located at /opt/gls/clarity/extensions/sequencer-api/application.yml: |
vi /opt/gls/clarity/extensions/sequencer-api/application.yml
2. | Edit the value of the autoCompleteOnlyAtSuccessproperty as required. |
3. | Save the file. |
The following table shows how the combined value of the run.autoComplete and run.autoCompleteOnlyAtSuccess properties affects the autocomplete behavior of the sequencing step.
run.autoComplete property value |
run.autoCompleteOnlyAtSuccess property value |
Outcome |
||||||
true (default) |
true (default) |
|
||||||
true |
false |
|
||||||
false |
true |
|
||||||
false |
false |

• | 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. |
• | The library tube ID must be unique. There should not be multiple library tube containers in the system with the same name. |
• | Reagent labels (indexes) must be unique. |
• | Only controls are permitted as unindexed samples; all other unindexed samples and pools are not permitted. |
• | For sample sheet generation constraints, refer to the Bcl2fastq2 Sample Sheet Generation article. |
• | Do not manually start the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.1) step. This step is a fully automated and the sequencing service does not update samples correctly if they have been manually started. |
• | For the automated run to start successfully, select Validate Run Setup and Generate Sample Sheet. |