The Illumina NovaSeq 6000 Integration Package v3.7.0 supports the integration of Clarity LIMS to NovaSeq 6000 instruments. This documentation describes the integration and includes the following information:
Preconfigured workflows, protocols, steps, and automations
Installed components
Configuration requirements, rules, and constraints
⚠️ 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.
ℹ️ Importing either the Library Prep Validation v2.3.4 workflow or the NovaSeq 6000 v3.8 workflows provides a global field named Illumina Universal Sample Identifier. This is a text field that is reserved for CLPA support and is optional. A value is not required for this integration.
Prerequisites and Assumptions
It is assumed that samples enter the NovaSeq 6000 v3.8 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).
The Illumina NovaSeq 6000 Integration Package v3.7.0 includes the following workflows:
Library Prep Validation v2.3.4 (optional, but recommended for validation purposes)
NovaSeq 6000 v3.8
Library Prep Validation v2.3.4 Workflow
Protocol: Library Prep Validation v2.3.4
Purpose:
Included for validation purposes only, this protocol models the library prep steps required to advance samples to the Run Format (NovaSeq 6000 v3.8) protocol.
The protocol contains a single step - Library Prep Validation v2.3.4. After this step, a routing script sends the samples to the first step of the NovaSeq 6000 v3.8 workflow - Define Run Format (NovaSeq 6000 v3.8).
Steps:
Library Prep Validation v2.3.4
NovaSeq 6000 v3.8 Workflow
Protocol 1: Run Format (NovaSeq 6000 v3.8)
Purpose:
Allows for the assignment of per sample values for:
Loading Workflow Type: Select either NovaSeq Standard or NovaSeq Xp.
Normalized Molarity: 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.
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.
Steps:
Define Run Format (NovaSeq 6000 v3.8)
Protocol 2: NovaSeq Standard (NovaSeq 6000 v3.8)
Purpose:
Samples are pooled and added to the library tube in preparation for the NovaSeq run. The run setup information is validated and a sample sheet is generated.
Routing script sends the library tube to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) protocol.
Steps:
Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8)
Dilute and Denature (NovaSeq 6000 v3.8)
Protocol 3: NovaSeq Xp (NovaSeq 6000 v3.8)
Purpose:
Samples are pooled and added to lanes on the NovaSeq flow cell. The option selected in the Define Run Format (NovaSeq 6000 v3.8) step determines the flow cell type. The run setup information is validated and a sample sheet is generated.
Routing script sends flow cell to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) protocol.
Steps:
Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8)
Dilute, Denature & ExAmp (NovaSeq 6000 v3.8)
Load to Flowcell (NovaSeq 6000 v3.8)
Protocol 4: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)
Purpose:
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.
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.8) or the NovaSeq Xp (NovaSeq 6000 v3.8) protocol.
This protocol contains one step: Define Run Format (NovaSeq 6000 v3.8).
Step 1. Define Run Format (NovaSeq 6000 v3.8)
Step input: NTP (normalized libraries)
Step output: None
Register Step Started Automation¹
Automatically triggered on entry to the step, this automation registers the start time of the step by publishing messages to Clarity LIMS Product Analytics (CLPA) through Illumina Connected Analytics:
Checks Normalized Molarity value. For samples with no Normalized Molarity value (e.g., 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 the Normalized Molarity value is lower than the Minimum Molarity value, it sets the samples Loading Workflow Type to [Remove from workflow]. The automation also 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.
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.8 workflow. Then, the samples are queued for the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8) step.
Samples with Loading Workflow Type field value = NovaSeq Xp are routed to the NovaSeq 6000 v3.8 workflow. Then, the samples are queued for the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) step.
This automation also registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This is only used for CLPA support.
² This automation is required for the NovaSeq 6000 v3.8 workflow to function properly. This automation contains additional logic needed for CLPA support. If you would like to remove CLPA support, then contact Illumina Support.
Automations not identified with ¹ or ² are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following table lists field configuration details defined on the Define Run Format (NovaSeq 6000 v3.8) master step.
Define Run Format (NovaSeq 6000 v3.8) Master Step Field Configuration
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 and Loading Workflow Type below
Loading Workflow Type
Text Dropdown
Required Field
Presets
NovaSeq Standard
NovaSeq Xp
Global Fields
The following table lists the global custom fields that are configured to display on the Define Run Format (NovaSeq 6000 v3.8) step.
Define Run Format (NovaSeq 6000 v3.8) Global Field Configuration (Derived Sample)
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
Decimal places displayed = 0
Presets
225
400
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]
Minimum Molarity (nM)
Numeric
Decimal places displayed = 2
Normalized Molarity (nM)
Numeric
Decimal places displayed = 2
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
Protocol 2: NovaSeq Standard (NovaSeq 6000 v3.8)
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 NovaSeq run.
At the end of this protocol, a routing script sends the library tube to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) protocol.
This protocol contains two steps:
Step 1: Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8)
Step 2: Dilute and Denature (NovaSeq 6000 v3.8)
Step 1: Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8)
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
ℹ️ Validate Unique Indexes automation is not used. The Clarity LIMS configuration for pooling handles this functionality.
Register Step Started Automation¹
Automatically triggered on entry to the step, this automation registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics:
⚠️ For accurate pipetting of each sample in a pool, the Per Sample Volume (ul) value must be greater than or equal to 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 Adjusted Per Sample Volume (ul) field.
Adjusts the Adjusted Per Sample Volume (ul) field value for all other samples in the batch. This adjustment is based on the ratio used to increase the lowest value to 5.
Calculates the Total Sample Volume (ul) field value.
Sets the Volume of Pool to Denature (ul) value and calculates the NaOH Volume (ul) and Tris-HCl Volume (ul) values based on the Flowcell 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 }
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.8).
Resets the Total Sample Volume (ul) and Number of Samples in Pool field values so that the automation is idempotent.
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)::
Set Next Step Automation
Automatically triggered on exit of the Record Details screen, the following automation sets the next step for samples to ADVANCE. The samples advance to the Dilute and Denature (NovaSeq 6000 v3.8) step:
Automatically triggered on exit of the step, the following automation completes the following actions:
Registers the pool and library information used by the Clarity LIMS workflow. Samples in the pool are assumed to have gone through library preparation.
Registers the completion time of the step. These actions are done by publishing messages to CLPA through Illumina Connected Analytics. This automation is used only for CLPA support.
Automations not identified with ¹ are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following table lists configuration details defined on the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8) step.
Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8) Master Step Field Configuration
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
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
Global 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.8) step.
Global Custom Fields Configuration (Derived Sample)
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
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 NovaSeq Standard (NovaSeq 6000 v3.8) step only. Displays on Record Details screen and in the generated CSV file.
Numeric
Read Only
Decimal places displayed = 0
Step 2: Dilute and Denature (NovaSeq 6000 v3.8)
In this step, the addition of NaOH, Tris-HCl, and Resuspension Buffer (RSB) denatures and dilutes the pooled samples. 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
Validate Single Input & Register Step Started Automation¹
Automatically triggered at the beginning of the step, this automation completes the following actions:
Checks that there is only one container input to the step.
script:validateSampleCount -min 1 -max 1
Registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.
Validate Run Setup and Generate Sample Sheet Automation
ℹ️ The script definition portion of Validate Run Setup has been moved into the Validation Script custom field due to the 4000 character limit.
If modification is required on Validate Run Setup script, perform the changes directly on the Validation Script custom field default value.
The script definition portion of the Generate Sample Sheet remains untouched.
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 are used to set up the run and generate the sample sheet file. For more information, refer to the Respond to Validation / Recipe Request Call from Instrument section of NovaSeq 6000 Run.
Experiment Name can 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 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 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.
if (input.::Flowc ell 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.::)
};
Validate Analysis Software Version to ensure it is a valid version string.
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::)
};
Validate Override Cycles value to contain only Y, N, I, U, 0-9, and semicolon characters.
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.::)
};
Outputs the Settings Header in sample sheet when UMI - Read 1 Length or UMI - Read 2 Length have value.
Generates the sample sheet and attaches it to the step. For more information, refer to Sample Sheet Generation. Sample sheet template used depends on the selected value of Samplesheet Format and/or Reverse Complement Workflow.
Automatically triggered on exit of the step, this automation completes the following actions:
Invokes the changeWorkflow script. This script routes step outputs to the NovaSeq 6000 v3.8 workflow and queues them for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.
Registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.
¹ These automations are required for the NovaSeq 6000 v3.8 workflow to function properly. These automations contain additional logic needed for CLPA support. If you would like to remove CLPA support, then contact Illumina Support.
Automations not identified with ¹ are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following table lists field configuration details defined on the Dilute and Denature (NovaSeq 6000 v3.8) step. These fields are required for sample sheet and JSON file generation.
Dilute and Denature (NovaSeq 6000 v3.8) Master Step Field Configuration
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
Not applicable
Experiment Name
Text
Required Field
Index Read 1
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
6
8
Index Read 2
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
6
8
Output Folder
Text
Required Field
Not applicable
Override Cycles
Text
Not applicable
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
151
101
51
ℹ️ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
Read 2 Cycle
Numeric Dropdown
Required Field
Custom Entries
Range = 0–251
Decimal places displayed = 0
Presets
251
151
101
51
ℹ️ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
Reverse Complement Workflow
Toggle Switch
Required Field
Default
Yes
Run Mode
ℹ️ Not displayed in user interface
Text Dropdown
Read Only
Presets
SP
S1
S2
S4
Samplesheet Format
Text Dropdown
Required Field
Presets
V1 (default)
V2
Settings Header
ℹ️ Not displayed in user interface
Text
Read Only
Not applicable
UMI—Read 1 Length
Numeric
Range = 1
UMI—Read 1 Start From Cycle
Numeric
Range = 1
UMI—Read 2 Length
Numeric
Range = 1
UMI—Read 2 Start From Cycle
Numeric
Range = 1
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
Custom
Validation Script
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 (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.::) } }; 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(::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.::) }; 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::
Global Fields
The following table lists the global custom fields that are configured to display on the Dilute and Denature (NovaSeq 6000 v3.8) step.
Global Field Configuration (Derived Sample)
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]
Protocol 3: NovaSeq Xp (NovaSeq 6000 v3.8)
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 NovaSeq flow cell type selected in the Define Run Format (NovaSeq 6000 v3.8) step. At the end of this protocol, the flow cell is sent to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) protocol.
This protocol contains the following three steps:
Step 1: Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8)
Step 1: Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8)
Manually place libraries into a pool.
⚠️ Create only one pool per step.
Step input: NTP (normalized libraries)
Step output: Bulk pool
ℹ️ Validate Unique Indexes automation is not used. The Clarity LIMS configuration for pooling handles this functionality.
Register Step Started Automation¹
Automatically triggered on entry to the step, this automation registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics:
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 (ul) and PhiX Volume (ul) field, based on the selected Flowcell Type.
step.::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):: = ::::;
};
Calculates the Per Sample Volume (ul) to be added to the pool.
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::
⚠️ For accurate pipetting of each sample in a pool, the Per Sample Volume (ul) value must be greater than or equal to 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. This adjustment is based on the ratio used to increase the lowest value to 5.
Calculates the Total Sample Volume (ul) field value.
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 Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step.
Automatically triggered on exit of the step, the following automation completes the following actions:
Registers the pool and library information used by the Clarity LIMS workflow. Samples in the pool are assumed to have gone through library preparation.
Registers the completion time of the step. These actions are done by publishing messages to CLPA through Illumina Connected Analytics. This automation is used only for CLPA support.
In this step, the addition of DPX, NaOH, Tris-HCl, and RSB denatures and dilutes the 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
Validate Inputs Flowcell Type & Register Step Started Automation²
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). The automation also validates that all inputs have the same value for this field.
Checks that the container type selected matches the value in the Flowcell Type field.
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 on the Step Setup screen of the Load to Flowcell (NovaSeq 6000 v3.8) step.
Automatically triggered on exit of the step, this automation registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.
² These automations are required for the NovaSeq 6000 v3.8 workflow to function properly. These automations contain additional logic needed for CLPA support. If you would like to remove CLPA support, then contact Illumina Support.
Automations not identified with ¹ or ² are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following table lists field configuration details defined on the Load to Flowcell (NovaSeq 6000 v3.8) step. A script sets these field values. The values are not editable while running the step.
Dilute, Denature & ExAmp (NovaSeq v3.8) Master Step Field Configuration
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
Global Fields
The following table lists the global custom fields that are configured to display on the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step.
Global Field Configuration (Derived Sample)
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]
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
Step 3: Load to Flowcell (NovaSeq 6000 v3.8)
In this step, scan the flow cell barcode into the Clarity LIMS. Then, 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)
Validate Inputs and Selected Container & Register Step Started Automation²
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 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.
Validate Run Setup and Generate Sample Sheet Automation
ℹ️ The script definition portion of Validate Run Setup has been moved into the Validation Script custom field due to the 4000 character limitation.
If modification is required to the Validate Run Setup script, perform the changes directly on Validation Script custom field default value.
The script definition portion of Generate Sample Sheet is unchanged.
Automatically triggered by selecting 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 are used to set up the run and generate the sample sheet file. For more information, refer to the Respond to Validation / Recipe Request Call from Instrument section of NovaSeq 6000 Run.
Experiment Name can 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.::)
}
};
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, the automation 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, UMI - Read 1 Start From Cycle must have value.
If UMI - Read 1 Length has no value, UMI - Read 1 Start From Cycle must not have value.
If UMI - Read 2 Length has value, UMI - Read 2 Start From Cycle must have value.
If UMI - Read 2 Length has no value, UMI - Read 2 Start From Cycle must not have value.
If UMI - Read 1 Length has not value, UMI - Read 2 Length must not have value.
If UMI - Read 1 Start From Cycle has no value, 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.::)
};
Validates Analysis Software Version to make sure it is a valid version string.
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::)
};
Checks Override Cycles field value. This value can contain only Y, N, I, U, 0–9, and semicolon characters.
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.::)
};
Outputs the Settings Header in sample sheet when UMI - Read 1 Length or UMI - Read 2 Length have values.
Sets the next step for samples to ADVANCE, which advances to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.
nextStep = ::ADVANCE::
Generates the sample sheet and attaches it to the step. The sample sheet template depends on the selected value for Samplesheet Format and/or Reverse Complete Workflow. For more information, refer to Sample Sheet Generation.
Registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.
² These automations are required for the NovaSeq 6000 v3.8 workflow to function properly. These automations contain additional logic needed for CLPA support. If you would like to remove CLPA support, then contact Illumina Support.
Automations not identified with ¹ or ² are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following table lists the field configuration details defined on the Load to Flowcell (NovaSeq 6000 v3.8) step.
Load to Flowcell (NovaSeq 6000 v3.8) Master Step Field Configuration
Field Name
Field Type
Options
Additional Options and Dropdown Items
Analysis Software Version
Text
Not applicable
BaseSpace Sequence Hub Configuration
Text Dropdown
Required Field
Presets
Not Used
Run Monitoring Only
Run Monitoring and Storage
Custom Recipe Path
Text
Not applicable
Experiment Name
Text
Required Field
Not applicable
Index Read 1
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
6
8
Index Read 2
Numeric Dropdown
Required Field
Custom Entries
Range = 0–20
Decimal places displayed = 0
Presets
0
6
8
Library Tube Barcode
Text
Required Field
Not applicable
Output Folder
Text
Required Field
Not applicable
Override Cycles
Text
Not applicable
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
151
101
51
ℹ️ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
Read 2 Cycle
Numeric Dropdown
Required Field
Custom Entries
Range = 0–251
Decimal places displayed = 0
Presets
251
151
101
51
ℹ️ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.
Reverse Complement Workflow
Toggle Switch
Required Field
Default
Yes
Run Mode
ℹ️ Not displayed in user interface
Text Dropdown
Read Only
Presets
SP
S1
S2
S4
Samplesheet Format
Text Dropdown
Required Field
Presets
V1 (default)
V2
Settings Header
ℹ️ Not displayed in user interface
Text
Read Only
Not applicable
UMI—Read 1 Length
Numeric
Range = 1
UMI—Read 1 Start From Cycle
Numeric
Range = 1
UMI—Read 2 Length
Numeric
Range = 1
UMI—Read 2 Start From Cycle
Numeric
Range = 1
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
Custom
Validation Script
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 (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.::) } }; 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(::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.::) }; 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 = ::ADVANCE::
Global Fields
The following table lists the global custom fields that are configured to display on the Load to Flowcell (NovaSeq 6000 v3.8) step.
Global Field Configuration (Derived Sample)
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]
Protocol 4: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)
This final protocol contains one fully automated step, AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8), described in the following section.
⚠️ This step is fully automated. Do not add samples to the Ice Bucket or start the step manually. The sequencing service may not update samples correctly when they have been manually started.
Step 1: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)
Step input: Library tube from NovaSeq Standard or flow cell from NovaSeq Xp protocol
Step output: Result file/measurement
In this step, pooled samples are sequenced on the NovaSeq instrument and the run metrics are recorded in Clarity LIMS.
Register Step Started & Register NovaSeq Run & Register NovaSeq Run Association & Register NovaSeq Run Started Automation¹
Automatically triggered at the beginning of the step, this automation completes the following actions:
Registers the start time of the step
Registers the NovaSeq 6000 sequencing run configuration
Registers the association of the sequencing run with the actual samples by linking the Instrument Run ID with samples ID
Registers the time that the sequencing run started
These actions are done by publishing messages to CLPA through Illumina Connected Analytics. This automation is used only for CLPA support.
Set Next Steps Automation²
By default, the Set Next Steps automation is disabled (set to Not Used) and the Sequencer API sets the next step for samples.
If necessary, override the default next step behavior used by the Sequencer API by performing the following steps:
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.
Configure the automation to trigger automatically on exit of the Record Details screen.
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 Configuring autoComplete Properties.
Update Lane Number Automation
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.
These actions are done by publishing messages to CLPA through Illumina Connected Analytics. This automation is used only for CLPA support.
¹ These automations are for CLPA support only.
² Not used. By default, the Sequencer API determines this functionality. If necessary, enable the automation and use it to override the next step behavior used by the Sequencer API.
Automations not identified with ¹ are required for the NovaSeq 6000 v3.8 to work function properly.
Master Step Fields
The following fields are configured on the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step in Clarity LIMS:
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 Completion Date
Run ID
Run Status
Sequencing Log
Global Fields
The following 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 (e.g., 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.8 configuration provided in the Illumina Preset Protocols (IPP) v2.9 or later.
All global configuration fields are configured on the Container entity.
All field names are configurable through the Custom Fields screen in the Global Fields tab.
If field names are changed in Clarity LIMS, they must also be changed for the integration.sequencer_api.v2.run.metricUdfNames property. For more information, refer to the Properties section in Components Installed. All fields are configured to be visible in the Sample Details table on the Record Details screen for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.
ℹ️ 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 currently no per-lane metrics provided by NovaSeq Control Software.
Sample Sheet Generation
The sample sheet is generated on the step before the run. This step is Dilute and Denature (NovaSeq 6000 v3.8) in the NovaSeq Standard protocol or Load to Flowcell (NovaSeq 6000 v3.8) in the NovaSeq Xp protocol. This step places samples on the library tube or flow cell that are loaded in the NovaSeq 6000 instrument.
In the default configuration, the Validate Run Setup and Generate Sample Sheet automation generates one CSV format sample sheet file. The bcl2fastq v2.20 downstream analysis uses this file.
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 the NovaSeq 6000 instrument.
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 Content
The following master step fields control the sample sheet content. These fields display in the Step Details area of the Record Details screen.
Experiment Name
Read 1 Cycles
Read 2 Cycles
Workflow
Reverse Complement Workflow
Samplesheet Format
Depending on Samplesheet Format field value selection, a v1 or v2 sample sheet is generated. 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
NovaSeq 6000 Run
The following steps outline the sequence of events that occurs when a flow cell is loaded onto the NovaSeq 6000 instrument.
User Authentication and Login
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.
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 authorize the NVCS to use your account automatically to access Clarity LIMS.
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/. The installation script sets this 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
/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 6000 of the failure.
Respond to Validation / Recipe Request Call from Instrument
The sequencing-run/recipe/novaseq endpoint consumes a POST request with a LibraryContainerId, FlowCellId, and reagents information.
LibraryContainerId, FlowCellId, and reagent information is provided by the NovaSeq 6000.
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 list 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 Components Installed.
After a single container has passed validation, the run setup information (run recipe request) is returned to the NVCS via the API. Then, the run recipe is generated.
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.8) or Load to Flowcell (NovaSeq 6000 v3.8) step, depending on workflow.
The default field values match the names of the fields in the NovaSeq v3.8 workflow configuration included in IPP. The field names are configurable through the integration.sequencer_api.v2.recipe.udfNames.* properties. Each of these properties 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 can be configured through the integration.sequencer_api.v2.recipe.sampleSheet.outputName property (Sample Sheet by default). For more information, refer to the Properties section of Components Installed. If no matching output is found, or no file was attached to the output, then the value of the integration.sequencer_api.v2.recipe.sampleSheet.notAvailableValue property (Not Available by default) is used in the recipe.
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.
Run Recipe Content
The sample sheet content and the fields configured on the Dilute and Denature (NovaSeq 6000 v3.8) and Load to Flowcell (NovaSeq 6000 v3.8) steps control the content of the run recipe.
The following example shows the run recipe content:
Respond to Sequencing Started Call from Instrument
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 occurs 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.
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. 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. 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.
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 above.
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.
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.
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:
The Current Cycle, Current Read, and Status master step custom fields are updated.
The multiline Sequencing Log master step field is updated.
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.
The Clarity LIMS waits for any automations that are triggered automatically as it advances the step.
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:
The Current Cycle, Current Read, and Status master step custom fields are updated.
The multiline Sequencing Log master step field is updated.
A failure message is recorded in the log file at the error level:
Step '${Step.name}' (${Step.limsid}) failed with Run ID ${runId}.
The step is left at the Record Details screen.
Respond to Sequencing RunEndedByUser Call from Sequencer
If you end a sequencing run, the API call for Sequencing RunEndedByUser is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:
The Current Cycle, Current Read, and Status master fields are updated.
The multiline Sequencing Log master step field is updated.
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}."
The step is left at the Record Details screen.
Components Installed
The following sections describe the components (files, properties, reagent categories/label groups, reagent kits, and containers) that are installed by default as part of this integration.
Illumina NovaSeq 6000 Integration v3.7.0 is distributed as the BaseSpaceLIMS-sequencer-api RPM package. 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
Two configuration scripts:
configure_sequencer_api_proxy.sh
configure_sequencer_api_application.sh
ℹ️ The NovaSeq 6000 v3 configuration is delivered through Illumina Preset Protocols (IPP) v2.9, which requires installation of the NGS Extensions Package 5.25.0 or later.
If the NGS Extensions Package is not already installed, or if a version earlier than v5.25.0 is installed, the latest version is installed by default with the NovaSeq 6000 integration. For more information, refer to NovaSeq 6000 Integration v3.7.0 Release Notes.
If NGS Extensions Package v5.25.0 or later is already installed, the upgrade is not forced or required.
NovaSeq 6000 Integration RPM Components
The following table lists the components installed by the RPM package.
Files Installed
Location
Description
Illumina#Sequencer#v2.war
/opt/gls/clarity/tomcat/current/webapps
War file for Sequencer API application.
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.
sequencer-api.conf
/etc/httpd/clarity/
Proxy setting to communicate with the Clarity LIMS.
Library tube with barcode provided in the format [A-Z]{2}[0-9]{7}-[A-Z]{3} (eg, AB1234567-XYZ)
SP, S1, S2, or S4 flow cell with barcode provided in one of the following formats:
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
NVCS Configuration
For details on configuring NVCS for integration with Clarity LIMS, contact the Clarity LIMS Support team.
Routing Script Requirements
The requirements for the routing script functionality are as follows.
On the steps that use the routing script (Define Run Format (NovaSeq 6000 v3.8) and Dilute and Denature (NovaSeq 6000 v3.8)), 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 Next Steps section of the protocol configuration screen, the method of assigning the next step must be set to Automation for the last step of the protocol.
Configuring autoComplete Properties
The integration.sequencer_api.v2.run.autoComplete and integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess properties determine the conditions under which the last step of the NovaSeq 6000 workflow (AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)) is automatically completed 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 when the run is successful. If the run fails or is aborted, manually complete the step in Clarity LIMS.
For the step to autoComplete regardless of the result of the sequencing run, change the autoCompleteOnlyAtSuccess property value to false.
Enabling/Disabling autoComplete Properties
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 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
run.autoComplete Property Value
run.autoCompleteOnlyAtSuccess Property Value
Outcome
true
true
Step automatically completes only if sequencing run is successful.
If run is not successful, 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.
Rules and Constraints
The workflow configuration contains several validation checks. To make sure that the calculations work properly, it is important that you do not disable any of this validation logic. The validation checks determine the following information:
Which samples, and how many, can enter each step together.
Which samples, and how many, can be pooled together.
The library tube ID must be unique. There must 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.
Do not manually start the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step. This step is a fully automated and the sequencing service may not update samples correctly if they have been manually started.
For the automated run to start successfully, Validate Run Setup and Generate Sample Sheet must be selected.