Illumina NovaSeqDx Integration Package v1.3.0 supports the integration of Clarity LIMS to Illumina NovaSeq 6000Dx instruments.
For instructions on user interaction for each step, validating and troubleshooting Illumina NovaSeqDx Integration Package v1.3.0, refer to NovaSeq 6000Dx Integration v1.3.0 User Interaction, Validation and Troubleshooting.
The configuration provided in this integration has been established to support NovaSeq 6000Dx lab processes. Any configuration changes to protocols or workflows—including renaming protocols, steps, and fields—could break the process.
Samples enter the NovaSeqDx v1.2 workflow as normalized libraries. It is assumed that the following steps have completed before samples 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).
For more information on sample accessioning, refer to the following sections of the Getting Started section of the :
Sample Accessioning
Using Sample Lists to Upload and Modify Samples
You can assign samples to workflows automatically, using a routing script, or manually—from the Projects & Samples dashboard. Refer to Assign and Process Samples in the .
The Illumina NovaSeq 6000Dx Integration Package v1.3.0 includes the following workflows:
NovaSeqDx v1.2
Library Prep Validation v2.3.4 (optional, but recommended for validation purposes)
The following describes the protocols and steps included in these workflows.
The Library Prep Validation v2.3.4 workflow allows for validation of the system after installation is complete. For details, refer to .
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 NovaSeqDx Standard (NovaSeqDx v1.2) or the NovaSeqDx Xp (NovaSeqDx v1.2) protocol.
This protocol contains one step: Define Run Format (NovaSeqDx v1.2).
Step input: Normalized Template Plate (NTP, normalized libraries)
Step output: None
There are four fields defined on the Define Run Format (NovaSeqDx v1.2) master step.
The following table lists field configuration details.
Define Run Format (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Define Run Format (NovaSeqDx v1.2) step.
Global Field Configuration (Derived Sample)
Samples are routed to this protocol when their Loading Workflow Type value is set to NovaSeq Standard. Samples are pooled and added to a library tube in preparation for the NovaSeqDx Run.
At the end of this protocol, a routing script sends the library tube to the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) protocol.
This protocol contains the following two steps:
Step 1: Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2)
Step 2: Dilute and Denature (NovaSeqDx v1.2)
In this step, libraries are placed manually into a single pool. Resuspension buffer and reagents are added.
Create only one pool per step.
Step input: NTP (normalized libraries)
Step output: Bulk pool
The following fields are defined on the Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) step.
Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) step.
Global Custom Fields Configuration (Derived Sample)
In this step, the addition of NaOH, Tris-HCl, and Resuspension Buffer (RSB) denatures and dilutes pooled samples. Manually place the pooled samples into the library tube for the NovaSeqDx 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 table lists field configuration details for the fields that are defined on the Dilute and Denature (NovaSeqDx v1.2) step. These fields are required for sample sheet and JSON file generation.
Dilute and Denature (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Dilute and Denature (NovaSeqDx v1.2) step.
Global Field Configuration (Derived Sample)
Samples are routed to this protocol when their Loading Workflow Type value is set to NovaSeq Xp.
Samples are pooled and added to lanes on the NovaSeqDx flow cell type selected in the Define Run Format (NovaSeqDx v1.2) step. At the end of this protocol, the flow cell is sent to the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) protocol.
This protocol contains the following three steps:
Step 1: Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2)
Step 2: Dilute, Denature & ExAmp (NovaSeqDx v1.2)
Step 3: Load to Flowcell (NovaSeqDx v1.2)
Manually place libraries into a pool.
Create only one pool per step.
Step input: NTP (normalized libraries)
Step output: Bulk pool
The fields in the following table are defined on the Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2) step.
Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2) step.
Global Field Configuration (Derived Sample)
In this step, the addition of DPX, NaOH, Tris-HCl, and RSB denatures and dilutes pooled samples. Manually create working pools based on the number of lanes that 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 table lists field configuration details for the fields that are defined on the Dilute, Denature & ExAmp (NovaSeqDx v1.2) step. A script sets these field values. They are not editable while running the step.
Dilute, Denature & ExAmp (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Dilute, Denature & ExAmp (NovaSeqDx v1.2) step.
Global Field Configuration (Derived Sample)
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 NovaSeqDx 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 table lists the field configuration details for the fields defined on the Load to Flowcell (NovaSeqDx v1.2) step.
Load to Flowcell (NovaSeqDx v1.2) Master Step Field Configuration
The following table lists the global custom fields that are configured to display on the Load to Flowcell (NovaSeqDx v1.2) step.
Global Field Configuration (Derived Sample)
This final protocol contains one fully automated step, AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2).
This step is fully automated. Do not add samples to the Ice Bucket or start the step manually. If steps are manually started, the sequencing service may not update the samples correctly.
Step input: Library tube from NovaSeqDx Standard or flow cell from NovaSeqDx Xp protocol
Step output: Result file/measurement
In this step, pooled samples are sequenced on the NovaSeq 6000Dx instrument and the run metrics are recorded in Clarity LIMS.
The following table shows the master step fields that are configured on the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step.
Clarity LIMS Master Step Field Configuration
The following table shows the global custom fields that capture the run metrics in Clarity LIMS.
Custom Field Configuration
Note the following details:
Values are aggregated across all lanes. Some values (eg, Yield PF (Gb) R1) are summed while others are averaged.
The names listed previously are the default global custom field names installed with the NovaSeqDx v1.2 configuration provided in the Illumina Preset Protocols (IPP) Package v2.9 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).
The sample sheet is generated on the step before the run. This step is either Dilute and Denature (NovaSeqDx v1.2) in the NovaSeqDx Standard protocol or Load to Flowcell (NovaSeqDx v1.2) in the NovaSeqDx Xp protocol. This step places samples on the library tube or flow cell that is loaded in the NovaSeq 6000Dx instrument.
In the default configuration, the Validate Run Setup and Generate Sample Sheet automation generates one sample sheet file for use with bcl2fastq v2.20 downstream analysis. This file is in the comma-separated values (CSV) format.
The sample sheet is uploaded to the NovaSeq 6000Dx Operating Software (NVOS) via the /Illumina/Sequencer/v2/sequencing-run/files endpoint to the Sequencer API. The file endpoint allows for a file to be downloaded from Clarity LIMS using OAuth (instead of Basic Authentication), which is required for NovaSeq 6000Dx.
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.
The following steps outline the sequence of events that occurs when a flow cell is loaded onto the NovaSeq 6000Dx instrument.
The following sections describe the components (files, properties, reagent categories/label groups, reagent kits, and containers) that are installed by default as part of this integration.
Illumina NovaSeq 6000Dx Integration v1.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
application.yml configuration file
The following configuration scripts:
configure_sequencer_api_proxy.sh
The following table lists the components installed by the RPM package.
Refer to for the properties installed with the integration package.
TruSeq HT Adapters v2 (D7-D5)
Buffer Cartridge
Cluster Cartridge
DPX1
DPX2
Library Tube
SP
S1
S2
This integration supports the following items:
Library tube with barcode provided in the following formats:
RUO mode: [A-Z]{2}[0-9]{7}-[A-Z]{3}
Example: AB1234567-LIB
DX mode: DX[0-9]{7}-[A-Z]{3}
Example: DX1234567-LIB
For details on configuring the NovaSeq 6000Dx Operating Software (NVOS) for integration with Clarity LIMS, contact the Clarity LIMS Support team.
The requirements for the routing script functionality are as follows.
On the steps that use the routing script (Define Run Format (NovaSeqDx v1.2) and Dilute and Denature (NovaSeqDx v1.2)):
The Next Step for all samples must be set to Remove from workflow. A script sets this value. The value must not change in the Assign Next Steps screen.
In the protocol configuration screen, the following settings are required and must not be changed:
The integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess and integration.sequencer_api.v2.run.autoComplete properties determine the conditions under which the last step of the NovaSeq 6000Dx workflow, AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2), is automatically completed. The two scenarios for autocompletion of the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step are as follows.
The step autocompletes only when the run status is RunCompletedSuccesfully (default behavior).
The step autocompletes 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, the step must be completed manually in Clarity LIMS.
For the step to autocomplete regardless of the result of the sequencing run, change the autoCompleteOnlyAtSuccess property value to false.
Edit the value of integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess property as required using the omxProps-ConfigTool utility.
Save the file.
The following table shows how the combined value of the integration.sequencer_api.v2.run.autoComplete and integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess properties affects the autoComplete behavior of the sequencing step.
run.autoComplete and run.autoCompleteOnlyAtSuccess Value Matrix
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 must not be multiple library tube containers in the system with the same name.
Library Prep Validation v2.3.4
Loading Workflow Type: Select either NovaSeq Standard or NovaSeq Xp.
Normalized Molarity (nM): Enter a value for each sample.
Flowcell Type: Select from options SP, S1, S2, or S4.
Final Loading Concentration (pM): Select from options 225 (PCR-free workflows) or 400 (Nano workflows), or enter a different value.
Compares the Normalized Molarity value of each sample with the Minimum Molarity value.
Validates user selection on NovaSeqDx Run Mode, Loading Workflow Type and Flowcell Type.
Routing script sends samples to the NovaSeqDx Standard or NovaSeqDx Xp protocol, according to the selected Loading Workflow Type.
Samples with Normalized Molarity less than Minimum Molarity are removed from the workflow.
Steps:
Define Run Format (NovaSeqDx v1.2)
Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2)
Dilute and Denature (NovaSeqDx v1.2)
Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2)
Dilute, Denature & ExAmp (NovaSeqDx v1.2)
Load to Flowcell (NovaSeqDx v1.2)
AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2)
Calculates the Minimum Molarity with the following formula:
Checks Normalized Molarity value. For samples with no Normalized Molarity value (e.g., empty value, not including 0), generates an error message informing that the field cannot be empty:
Compares the Normalized Molarity value of each sample with the Minimum Molarity value. If the Normalized Molarity value is lower than the Minimum Molarity value, this sets the Loading Workflow Type of the sample to [Remove from workflow]. The automation also records a message in the Warning field for the sample:
At this point, the following options are available:
Correct the NovaSeqDx Run Mode and 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.
Default automation command line is as follows.
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
Minimum Molarity (nM)
Numeric
Decimal places displayed = 2
Normalized Molarity (nM)
Numeric
Decimal places displayed = 2
NovaSeqDx Run Mode
Text Dropdown
Required Field
Presets
DX
RUO
Per Sample Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Warning
Text Dropdown
Read Only
Custom Entries
Presets
The Normalized Molarity (nM) is too low.
n/a
Changes the value of error and logging messages to reference the type of pool passed as bulk pool.
Calculates the Per Sample Volume (ul) to be added to the pool.
âš For accurate pipetting of each sample in a pool for sequencing, the Per Sample Volume (ul) value must be equal to or higher than the Minimum Per Sample Volume (ul). The default value (set at 5) can be edited.
Assuming the default Minimum Per Sample Volume (ul) value of 5, this automation completes the following steps for a given batch:
If the smallest Per Sample Volume (ul) value is less than 5, automatically assigns a value of 5 to the Adjusted Per Sample Volume (ul) field of the sample.
Adjusts the Adjusted Per Sample Volume (ul) 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 (ul) field value.
If the Total Sample Volume is less than the Bulk Pool Volume, this automation calculates the RSB Volume (ul) field value.
Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs.
Sets the Volume of Pool to Denature (ul) value a calculates the NaOH Volume (ul) and Tris-HCl Volume (ul) values based on the Flowcell Type.
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 in the Files section of the Record Details milestone in the Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) step.
Resets the Total Sample Volume (ul) and Number of Samples in Pool field values so that the automation is idempotent.
Minimum Per Sample Volume (ul)
Numeric
Required Field
Decimal places displayed = 2
Default
5
Number of Samples in Pool
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 0
Default
0
PhiX Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 2
Total Sample Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 2
Default
0
RSB Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Tris-HCl Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Volume of Pool to Denature (ul)
ℹ Used in Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) step only. Displays on Record Details screen and in the generated CSV file.
Numeric
Read Only
Decimal places displayed = 0
RUO mode: [A-Z]{2}[0-9]{7}-[A-Z]{3}
Copies Flowcell Type and Loading Workflow Type field values from step inputs to outputs:
Validates the parameters entered on the Record Details screen, which is used to set up the run and generate the sample sheet file. The parameters are as follows. For more information, refer to the Respond to Validation / Recipe Request Call from Instrument section of NovaSeq 6000Dx Run.
Experiment Name only contains 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.
Checks the Paired End and Read 2 Cycles field values as follows.
If Paired End = True, both Read 1 Cycles and Read 2 Cycles must be greater than 0.
If Paired End = False, Read 2 Cycles must be zero.
Checks the Flowcell field value as follows.
If Flowcell Type value is not SP, checks that the values of Read 1 Cycles and Read 2 Cycles are each 151 or less. If the value is greater than 151, an error message is generated.
Validate Analysis Software Version to ensure it is a valid version string.
Validate Override Cycles value to contain only Y, N, I, U, 0-9, and semicolon characters.
Sets the next step for samples to REMOVE:
Generates the V2 sample sheet and attaches it to the step. For more information, refer to Sample Sheet Generation.
Experiment Name
Text
Required Field
Index Read 1
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
Index Read 2
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
Output Folder
Text
Required Field
Override Cycles
Text
Paired End
Text Dropdown
Required Field
Presets
True
False
Read 1 Cycle
Numeric Dropdown
Required Field
Custom Entries
Range = 1–251
Decimal places displayed = 0
Presets
251*
Read 2 Cycle
Numeric Dropdown
Required Field
Custom Entries
Range = 0–251
Decimal places displayed = 0
Presets
251*
Run Mode
ℹ Not displayed in user interface
Text Dropdown
Read Only
Presets
SP
S1
S2
Use Custom Index Read 1 Primer
Toggle Switch
Default
None Set
Use Custom Read 1 Primer
Toggle Switch
Default
None Set
Use Custom Read 2 Primer
Toggle Switch
Default
None Set
Use Custom Recipe
Toggle Switch
Required Field
Default
No
Validation Script
Multiline Text
Required Field
Read Only
Default value is provided in the drop-down section that follows the table.
ℹ Do not remove this field as it is used by Validate Run Setup and Generate Sample Sheet automation script.
Workflow
Text
Read Only
Default
GenerateFASTQ
Workflow Type
Text Dropdown
Required Field
Presets
No Index
Single Index
Dual Index
Changes the value of error and logging messages to reference the type of pool passed as 'bulk' pool.
Calculates the Per Sample Volume (ul) to be added to the pool:
âš To ensure accurate pipetting of each sample in a pool for sequencing, the Per Sample Volume (ul) value must be equal to or higher than the Minimum Per Sample Volume (ul). The default value (set at 5) can be edited.
Assuming the default Minimum Per Sample Volume (ul) value of 5, completes the following steps for a given batch:
If the smallest Per Sample Volume (ul) value is less than 5, automatically assigns a value of 5 to the sample Adjusted Per Sample Volume (ul) field.
Adjusts the Adjusted Per Sample Volume (ul) 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 (ul) field value:
If the Total Sample Volume is less than the Bulk Pool Volume, this automation calculates the RSB Volume (ul) field value:
Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs:
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 in the Files segment of the Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2) step.
Resets the Total Sample Volume (ul) and Number of Samples in Pool field values so that the automation is idempotent.
Number of Lanes to Sequence
Numeric
Required Field
Decimal places displayed = 0
Number of Samples in Pool
ℹ For calculation purposes, not displayed
Numeric
Default
0
Decimal places displayed = 0
PhiX Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 2
Total Sample Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Default
0
Decimal places displayed = 0
Tris-HCl Volume (ul)
DPX1 Volume (ul)
DPX2 Volume (ul)
DPX3 Volume (ul)
Mastermix per Lane (ul)
The automation also completes the following actions:
Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs:
Uses the NovaSeq_Xp_Working_Pool.csv and NovaSeq_Xp_Working_Pool2.csv template files to generate a single CSV file. This file contains 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 in the Files segment of the Dilute, Denature & ExAmp (NovaSeqDx v1.2) step.
Mastermix per Lane (ul)
Numeric
Read Only
Decimal places displayed = 0
NaOH Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Tris-HCl Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
The following defines the number of samples allowed for different flow cell types:
SP: 2 working pools
S1: 2 working pools
S2: 2 working pools
S4: 4 working pools
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.
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):
Validates the parameters entered on the Record Details screen, which is used to set up the run and generate the sample sheet file.
Experiment Name only contains alphanumeric, dash, or underscore characters. Spaces are not permitted.
When Workflow Type = No Index, both Index Read 1 and Index Read 2 must be 0.
When Workflow Type = Single Index, Index Read 1 must be greater than 0 and Index Read 2 must be 0.
When Workflow Type = Dual Index, both Index Read 1 and Index Read 2 must be greater than 0.
Checks the Paired End and Read 2 Cycles field values.
When Paired End = True, both Read 1 Cycles and Read 2 Cycles must be greater than 0.
When Paired End = False, Read 2 Cycles must be 0.
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 the value is greater than 151, an error message displays.
Validate Analysis Software Version
Checks Override Cycles field value. This field contains only Y, N, I, U, 0–9, and semicolon characters.
Sets the next step for samples to ADVANCE, advancing them to the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step.
Generates the sample sheet and attaches it to the step. For more information, refer to .
Experiment Name
Text
Required Field
Index Read 1
Numeric Dropdown
Required Field
Custom Entries
Presets
0
6
8
Index Read 2
Numeric Dropdown
Required Field
Custom Entries
Presets
0
6
8
Library Tube Barcode
Text
Required Field
Output Folder
Text
Required Field
Override Cycles
Text
Paired End
Text Dropdown
Required Field
Presets
True
False
Read 1 Cycles
Numeric Dropdown
Required Field
Custom Entries
Range = 1–251
Decimal places displayed = 0
Presets
251*
Read 2 Cycles
Numeric Dropdown
Required Field
Custom Entries
Range = 0–251
Decimal places displayed = 0
Presets
251*
Run Mode
ℹ Not displayed in user interface
Text Dropdown
Read Only
Presets
SP
S1
S2
Use Custom Index Read 1 Primer
Toggle Switch
Default
None Set
Use Custom Read 1 Primer
Toggle Switch
Default
None Set
Use Custom Read 2 Primer
Toggle Switch
Default
None Set
Use Custom Recipe
Toggle Switch
Required Field
Default
No
Validation Script
Multiline Text
Required Field
Read Only
Default value provided in the drop-down section following the table.
ℹ Do not remove this field as it is used by Validate Run Setup and Generate Sample Sheet automation script.
Workflow
Text
Read Only
Default
GenerateFASTQ
Workflow Type
Text Dropdown
Required Field
Presets
No Index
Single Index
Dual Index
Disable or configure auto-complete behavior by setting the values of the integration.sequencer_api.v2.run.autoComplete and integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess properties. For details, refer to Configure autoComplete Properties.
Flow Cell Expiration Date
Date
Read Only
Flow Cell ID
Text
Read Only
Flow Cell Lot Number
Text
Read Only
Flow Cell Mode
Text
Read Only
Flow Cell Part Number
Text
Read Only
Flow Cell Side
Text
Read Only
Instrument Control Software Version
Text
Read Only
Instrument ID
Text
Read Only
Instrument Type
Text
Read Only
Lane Counter
Numeric
Read Only
Default
1
Hidden
Loading Workflow Type
Text
Read Only
Output Folder
Text
Read Only
RTA Version
Text
Read Only
Run Completion Date
Text
Read Only
Hidden
Run ID
Text
Read Only
Run Status
Text
Read Only
Sequencing Log
Multiline Text
Read Only
% Bases >=Q30 R2
Numeric
Read Only
Decimal places displayed = 2
% Error Rate R1
Numeric
Read Only
Decimal places displayed = 2
% Error Rate R2
Numeric
Read Only
Decimal places displayed = 2
% Phasing R1
Numeric
Read Only
Decimal places displayed = 3
% Phasing R2
Numeric
Read Only
Decimal places displayed = 3
% Prephasing R1
Numeric
Read Only
Decimal places displayed = 3
% Prephasing R2
Numeric
Read Only
Decimal places displayed = 3
%PF R1
Numeric
Read Only
Decimal places displayed = 2
%PF R2
Numeric
Read Only
Decimal places displayed = 2
Cluster Density (K/mm^2) R1
Numeric
Read Only
Cluster Density (K/mm^2) R2
Numeric
Read Only
Intensity Cycle 1 R1
Numeric
Read Only
Intensity Cycle 1 R2
Numeric
Read Only
Reads PF (M) R1
Numeric
Read Only
Decimal places displayed = 2
Reads PF (M) R2
Numeric
Read Only
Decimal places displayed = 2
Yield PF (Gb) R1
Numeric
Read Only
Decimal places displayed = 2
Yield PF (Gb) R2
Numeric
Read Only
Decimal places displayed = 2
If field names are changed in Clarity LIMS, they must also be changed in the integration.sequencer_api.v2.run.metricUdfNames properties. All fields are configured to be visible on the Record Details screen for the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step (in the Sample Details table). For more information, refer to the Properties section of Components Installed.
ℹ These global custom fields are configured on the Container entity, visible on each input, and must not be confused with per-lane metrics. All run metrics tracked in Clarity LIMS are overall metrics for the run. There are currently no per-lane metrics provided by NovaSeq 6000Dx Operating Software.
Index 1 Cycles
Index 2 Cycles
Analysis Software Version
Override Cycles
For detailed information on the following items, refer to the bcl2fastq2 Sample Sheet Generation section of Illumina Instrument Sample Sheets (NGS v5.17 and later).
Sample sheet generation script parameters and usage
Sample sheet data and configuration options
Enabling unique FASTQ file names per sequencing run
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 Clarity LIMS at http://localhost:9080/clarity/. The installation script sets the URL, but it can be configured with the clarity.url property in the application.yml file. For more information, refer to the Properties section of Components Installed.
The user is redirected to the Sequencer login page at
If authentication is successful, the screen displays a success message. The Clarity LIMS server provides the OAuth token and username by redirecting to
This redirect does not reload the page, but allows the NovaSeqDx to continue with run setup.
If authentication fails, the login screen does not change and a warning message displays. A background redirect to
informs the NovaSeq 6000Dx of the failure.
LibraryContainerId and FlowCellId can 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.
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 integration.sequencer_api.v2.novaseq.sequenceStepNames property. The property is a list and each entry must be the exact name of a sequencing step, not the name of the underlying master step/process type. For more information, refer to the Properties section of .
After a single container has passed validation, the run setup information (run recipe request) is returned to the NVOS via the API. Then, the run receipt 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 (NovaSeqDx v1.2) or Load to Flowcell (NovaSeqDx v1.2) step, depending on workflow.
The default field values match the names of the fields in the NovaSeq 6000Dx v1.2 configuration included in IPP. The field names are configurable through the integration.sequencer_api.v2.recipe.udfNames.* properties. Each property corresponds to an entry in the recipe. 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 is configured through the integration.sequencer_api.v2.recipe.sampleSheet.outputName property (Sample Sheet by default). If no matching output is found, or no file was attached to the output, the value of the integration.sequencer_api.v2.recipe.sampleSheet.notAvailableValue property (Not Available by default) is used in the recipe. For more information, refer to the Properties section of .
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.
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 API cannot complete the step 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.
The type of flow cell being used in the run determines the number of replicates for the step.
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.
The automated sequencing step is started.
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.
You can look up existing reagent lots 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.
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.
Master step custom fields are updated with the run information parsed from the request. For more information, refer to Respond to Record InterOps Metrics Call from Instrument.
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). For more information, refer to Respond to Record InterOps Metrics Call from Instrument.
A success message is recorded in the log file at the info level:
Clarity LIMS waits for any automations that are triggered automatically as it advances the step.
By default, 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.
A failure message is recorded in the log file at the error level:
The step is left at the Record Details screen.
The following message is recorded in the log file, at the warning level:
The step is left at the Record Details screen.
configure_sequencer_api_env.sh
configure_sequencer_api_application.sh
/etc/httpd/clarity/
Proxy setting to communicate with Clarity LIMS.
NaOH
Resuspension Buffer (RSB)
SBS Cartridge
Tris-HCl
SP and S1 flow cell: [A-Z0-9]{5}DR[A-Z0-9]{2}
S2 flow cell: [A-Z0-9]{5}DM[A-Z0-9]{2}
S4 flow cell: [A-Z0-9]{5}DS[A-Z0-9]{2}
Example: H1991DMXX
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 section in Illumina Instrument Sample Sheets (NGS v5.17 & later).
Do not manually start the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step. This step is fully automated and the sequencing service may not update samples correctly if they have been manually started.
For the automated run to start successfully, the Validate Run Setup and Generate Sample Sheet button must be selected.
Field Name
Field Type
Options
Additional Options and Dropdown Items
Comment
Multiline Text
None
Flowcell Type
Text Dropdown
Required Field
Custom Entries
Presets
SP
S1
S2
S4
Instruction
Text
Read Only
Default
Add Flowcell Type, Loading Workflow Type, and NovaSeqDx Run Mode
Field Name
Field Type
Options
Additional Options and Dropdown Items
Adjusted Per Sample Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Final Loading Concentration (pM)
Numeric Dropdown
Required Field
Custom Entries
Presets
225
400
Decimal places displayed = 0
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Field Name
Field Type
Options
Additional Options and Dropdown Items
% PhiX (2.5 nM) Spike-In
Numeric
Range = 0–100
Bulk Pool Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 2
Number of Flowcells to Sequence
Numeric
Required Field
Range = 1–10
Decimal places displayed = 0
Field Name
Field Type
Options
Additional Options and Dropdown Items
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
NaOH Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Field Name
Field Type
Options
Additional Options and Dropdown Items
Analysis Software Version
Text
BaseSpace Sequence Hub Configuration
Text Dropdown
Required Field
Presets
Not Used
Run Monitoring Only
Run Monitoring and Storage
Custom Recipe Path
Text
Field Name
Field Type
Options
Additional Options and Dropdown Items
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
Field Name
Field Type
Options
Additional Options and Dropdown Items
% PhiX (0.25nM) Spike-in
Numeric
Range = 0– 100
Bulk Pool Volume (ul)
ℹ For calculation purposes, not displayed
Numeric
Decimal places displayed = 2
Minimum Per Sample Volume (ul)
Numeric
Required Field
Default
5
Decimal places displayed = 2
Field Name
Field Type
Options
Additional Options and Dropdown Items
RSB Volume (ul)
Numeric
Read Only
Decimal places displayed = 2
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
Field Name
Field Type
Options
Additional Options and Dropdown Items
DPX1 Volume (ul)
Numeric
Read Only
Decimal places displayed = 0
DPX2 Volume (ul)
Numeric
Read Only
Decimal places displayed = 0
DPX3 Volume (ul)
Numeric
Read Only
Decimal places displayed = 0
Field Name
Field Type
Options
Additional Options and Dropdown Items
BP Aliquot Volume (ul)
Numeric
Read Only
Decimal places displayed = 0
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
Field Name
Field Type
Options
Additional Options and Dropdown Items
Analysis Software Version
Text
BaseSpace Sequence Hub Configuration
Text Dropdown
Required Field
Presets
Not Used
Run Monitoring Only
Run Monitoring and Storage
Custom Recipe Path
Text
Field Name
Field Type
Options
Additional Options and Dropdown Items
Flowcell Type
Text Dropdown
Required Field
Presets
SP
S1
S2
S4
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
[Remove from workflow]
Field Name
Field Type
Options
Additional Options and Dropdown Items
Current Cycle
Numeric
Read Only
Decimal places displayed = 0
Current Read
Numeric
Read Only
Decimal places displayed = 0
Firmware Version
Text
Read Only
Field Name
Field Type
Options
Additional Options and Dropdown Items
% Aligned R1
Numeric
Read Only
Decimal places displayed = 2
% Aligned R2
Numeric
Read Only
Decimal places displayed = 2
% Bases >=Q30 R1
Numeric
Read Only
Decimal places displayed = 2
Files Installed
Location
Description
Illumina#Sequencer#v2.war
/opt/gls/clarity/tomcat/current/webapps
War file for Sequencer 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 LIMS Tomcat 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 application.
run.autoComplete property value
run.autoCompleteOnlyAtSuccess property value
Outcome
true
true
Step automatically completes only if the sequencing run is successful.
If run is not successful, the step does not automatically complete, and the run details are recorded in Clarity LIMS.
true
false
Step automatically completes, regardless of the run status.
false
true
Step does not automatically complete.
Run details are recorded in Clarity LIMS.
false
false
Step does not automatically complete.
Run details are recorded in Clarity LIMS.









sequencer-api.conf
input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000if (!input.hasValue(::Normalized Molarity (nM)::)) {
fail(::The Normalized Molarity cannot be empty.::) ;
}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:: = ::n/a::
}input.::Per Sample Volume (ul):: = ( ( (input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM):: ) * step.::Bulk Pool Volume (ul):: ) / step.::Number of Samples in Pool::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {
output.::RSB Volume (ul):: = 0
}
else {
output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::
} ;output.::Flowcell Type:: = input.::Flowcell Type:: ;
output.::Loading Workflow Type:: = input.::Loading Workflow Type:: ;if ( input.::Flowcell Type:: == ::SP:: ) {
output.::Volume of Pool to Denature (ul):: = 100 ;
output.::NaOH Volume (ul):: = 25 ;
output.::Tris-HCl Volume (ul):: = 25
} ;
if ( input.::Flowcell Type:: == ::S1:: ) {
output.::Volume of Pool to Denature (ul):: = 100 ;
output.::NaOH Volume (ul):: = 25 ;
output.::Tris-HCl Volume (ul):: = 25
} ;
if ( input.::Flowcell Type:: == ::S2:: ) {
output.::Volume of Pool to Denature (ul):: = 150 ;
output.::NaOH Volume (ul):: = 37 ;
output.::Tris-HCl Volume (ul):: = 38
} ;
if ( input.::Flowcell Type:: == ::S4:: ) {
output.::Volume of Pool to Denature (ul):: = 310 ;
output.::NaOH Volume (ul):: = 77;
output.::Tris-HCl Volume (ul):: = 78
}&& /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}.csvstep.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: - 1;
step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: - input.::Adjusted Per Sample Volume (ul)::output.::Flowcell Type:: = input.::Flowcell Type:: ;
output.::Loading Workflow Type:: = input.::Loading Workflow Type::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 (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::)
};if (step.hasValue(::Analysis Software Version::) && !step.::Analysis Software Version::.matches(::^(\\d+)(\\.\\d+)*$::)) {
fail(::Analysis Software Version contains prohibited characters. Allowed characters are 0-9 and period. It shall start and end with numbers and separated by single period e.g. 3.8.4::)
};if (step.hasValue(::Override Cycles::) && !step.::Override Cycles::.matches(::[YNIU0-9;]+::)) {
fail(::Override Cycles ontains prohibited characters. Allowed characters are: Y, N, I, U, 0-9 and ;. Example: N1Y150;I8;I7N1;Y141U10.::)
};nextStep = ::REMOVE::/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/NovaSeqDx_BCL2FASTQ_Samplesheet_v2.csv \
-o {compoundOutputFileLuid0}.csv \
-q true \
-destLIMSID {compoundOutputFileLuid0} \
-l {compoundOutputFileLuid1}"input.::Per Sample Volume (ul)::= (((input.::Final Loading Concentration (pM)::* 5/ 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {
output.::RSB Volume (ul):: = 0
}
else {
output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::
} ;output.::Flowcell Type::= input.::Flowcell Type::;output.::Loading Workflow Type::= input.::Loading Workflow Type::;&& /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"step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: - 1;
step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: - input.::Adjusted Per Sample Volume (ul)::output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;/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"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"step.::Run Mode:: = input.::Flowcell Type::/Illumina/Sequencer/v2/sequencer_login/Illumina/Sequencer/v2/sequencer_login/Success/Illumina/Sequencer/v2/sequencer_login/ErrorSequencing run with Run ID {runId} of Step '{step.name}' ({step.limsid}) completed successfully.Step '${Step.name}' (${Step.limsid}) failed with Run ID ${runId}."Sequencing run with Run ID ${status.runInfo.runId} of Step '${step.configuration.name}' (${step.limsid}) aborted by user ${status.runInfo.userName}."nextStep = ::REMOVE::if (input.::NovaSeqDx Run Mode:: == ::DX::) {
if (input.::Loading Workflow Type:: == ::NovaSeq Xp::) {
fail(::Invalid option selected. NovaSeq Standard shall be selected for DX mode.::);
};
if (input.::Flowcell Type:: == ::SP:: || input.::Flowcell Type:: == ::S1::) {
fail(::Invalid option selected. Only S2 or S4 flowcell shall be selected for DX mode.::);
};
};bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
script:validate_same_analyte_udf_value_for_all_inputs \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1} \
-f 'NovaSeqDx Run Mode'"step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 150;
step.::PhiX Volume (ul):: *= 0.9
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 310;
step.::PhiX Volume (ul):: *= 1.9
};
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = ::::
};nextStep = ::ADVANCE::output.::NovaSeqDx Run Mode:: = input.::NovaSeqDx Run Mode::script:validateSampleCount -min 1 -max 1step.::Run Mode:: = input.::Flowcell Type::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 {compoundOutputFileLuid1} script:changeWorkflow \
--FIELD_NAME 'N/A' \
--FIELD_VALUE 'N/A' \
--WORKFLOW 'NovaSeqDx v1.2' \
--STEP 'AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS'"step.::Run Mode:: = input.::Flowcell Type::; 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.::) } }; 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 (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::) }; if (step.hasValue(::Analysis Software Version::) && !step.::Analysis Software Version::.matches(::^(\\d+)(\\.\\d+)*$::)) { fail(::Analysis Software Version contains prohibited characters. Allowed characters are 0-9 and period. It shall start and end with numbers and separated by single period e.g. 3.8.4::) }; if (step.hasValue(::Override Cycles::) && !step.::Override Cycles::.matches(::[YNIU0-9;]+::)) { fail(::Override Cycles contains prohibited characters. Allowed characters are: Y, N, I, U, 0-9 and ;. Example: N1Y150;I8;I7N1;Y141U10.::) }; nextStep = ::REMOVE::step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (0.25nM) Spike-In::) ? 0 : step.::% PhiX (0.25nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 22;
step.::PhiX Volume (ul):: *= 0.8;
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 30;
step.::PhiX Volume (ul):: *= 1.1;
};
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = ::::;
};output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::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}"output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::if (input.::Flowcell Type:: == ::SP:: && !output.container.name.matches( ::[A-Z0-9]{5}DR[A-Z0-9]{2}:: ) ) {
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
};
if (input.::Flowcell Type:: == ::S1:: && !output.container.name.matches( ::[A-Z0-9]{5}DR[A-Z0-9]{2}:: ) ) {
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
};
if (input.::Flowcell Type:: == ::S2:: && !output.container.name.matches( ::[A-Z0-9]{5}DM[A-Z0-9]{2}:: ) ) {
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
};
if (input.::Flowcell Type:: == ::S4:: && !output.container.name.matches( ::[A-Z0-9]{5}DS[A-Z0-9]{2}:: ) ) {
fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
};output.::Flowcell Type:: = input.::Flowcell Type:: ;
output.::Loading Workflow Type:: = input.::Loading Workflow Type::step.::Run Mode:: = input.::Flowcell Type::; 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.::) } }; 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 (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::) }; if (step.hasValue(::Analysis Software Version::) && !step.::Analysis Software Version::.matches(::^(\\d+)(\\.\\d+)*$::)) { fail(::Analysis Software Version contains prohibited characters. Allowed characters are 0-9 and period. It shall start and end with numbers and separated by single period e.g. 3.8.4::) }; if (step.hasValue(::Override Cycles::) && !step.::Override Cycles::.matches(::[YNIU0-9;]+::)) { fail(::Override Cycles contains prohibited characters. Allowed characters are: Y, N, I, U, 0-9 and ;. Example: N1Y150;I8;I7N1;Y141U10.::) }; step.::Settings Header:: = step.hasValue(::UMI - Read 1 Length::) || step.hasValue(::UMI - Read 2 Length::) ? ::[Settings]:: : ::::; nextStep = ::REMOVE::{
"run_name": "NVOS16027_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": "",
"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
}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 'NovaSeqDx v1.2' \
--STEP 'Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2)' \
--INPUTS_OR_OUTPUTS 'INPUTS' \
\
--FIELD_NAME 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Xp' \
--WORKFLOW 'NovaSeqDx v1.2' \
--STEP 'Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2)' \
--INPUTS_OR_OUTPUTS 'INPUTS'"/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"if ((input.::NovaSeqDx Run Mode:: == ::DX:: && !output.container.name.matches(::^DX[0-9]{7}-[A-Z]{3}$::)) || (input.::NovaSeqDx Run Mode:: == ::RUO:: && !output.container.name.matches(::[A-Z]{2}[0-9]{7}-[A-Z]{3}::))) {
fail(::Invalid Library Tube Barcode. Please verify and try again.::)
}/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"if ( input.::Flowcell Type:: == ::SP:: ) {
output.::BP Aliquot Volume (ul):: = 18 ;
output.::NaOH Volume (ul):: = 4 ;
output.::Tris-HCl Volume (ul):: = 5 ;
step.::DPX1 Volume (ul):: = 126 ;
step.::DPX2 Volume (ul):: = 18 ;
step.::DPX3 Volume (ul):: = 66 ;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S1::) {
output.::BP Aliquot Volume (ul):: = 18;
output.::NaOH Volume (ul):: = 4 ;
output.::Tris-HCl Volume (ul):: = 5 ;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S2::) {
output.::BP Aliquot Volume (ul):: = 22;
output.::NaOH Volume (ul):: = 5 ;
output.::Tris-HCl Volume (ul):: = 6 ;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 77
};
if (input.::Flowcell Type:: == ::S4::) {
output.::BP Aliquot Volume (ul):: = 30;
output.::NaOH Volume (ul):: = 7 ;
output.::Tris-HCl Volume (ul):: = 8 ;
step.::DPX1 Volume (ul):: = 315;
step.::DPX2 Volume (ul):: = 45;
step.::DPX3 Volume (ul):: = 165;
output.::Mastermix per Lane (ul):: = 105
};Status — Active.
6
8
6
8
151
101
51
* Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
151
101
51
* Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
S4
Custom
Range = 0–20
Decimal places displayed = 0
Range = 0–20
Decimal places displayed = 0
151
101
51
* Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151.
151
101
51
* Value of 251 is only supported for SP flow cell type. For all other flow cell types, maximum value is 151.
S4
Custom

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.::)
}
};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.::)
}
};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 (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::)
}if (step.hasValue(::Analysis Software Version::) && !step.::Analysis Software Version::.matches(::^(\\d+)(\\.\\d+)*$::)) {
fail(::Analysis Software Version contains prohibited characters. Allowed characters are 0-9 and period. It shall start and end with numbers and separated by single period e.g. 3.8.4::)
};if (step.hasValue(::Override Cycles::) && !step.::Override Cycles::.matches(::[YNIU0-9;]+::)) {
fail(::Override Cycles contains prohibited characters. Allowed characters are: Y, N, I, U, 0-9 and ;. Example: N1Y150;I8;I7N1;Y141U10.::)
};nextStep = ::ADVANCE::/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/NovaSeqDx_BCL2FASTQ_Samplesheet_v2.csv \
-o {compoundOutputFileLuid0}.csv \
-q true \
-destLIMSID {compoundOutputFileLuid0} \
-l {compoundOutputFileLuid1}