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.
Prerequisites and Assumptions
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).
The Illumina NovaSeq 6000Dx Integration Package v1.2.0 includes the following workflows:
NovaSeqDx v1.2
Library Prep Validation v2.3.1 (optional, but recommended for validation purposes)
The following describes the protocols and steps included in these workflows.
Library Prep Validation v2.3.1 Workflow
Protocol: Library Prep Validation v2.3.1
Purpose:
Included for validation purposes only, this protocol models the library prep steps required to advance samples to the Run Format (NovaSeqDx v1.2) protocol.
The protocol contains a single step - Library Prep Validation v2.3.1. After this step, a routing script sends the samples to the first step of the NovaSeqDx v1.2 workflow - Define Run Format (NovaSeqDx v1.2).
Steps:
Library Prep Validation v2.3.1
NovaSeqDx v1.2 Workflow
Protocol 1: Run Format (NovaSeqDx v1.2)
Purpose:
Allows for the assignment of per sample values for the following properties:
NovaSeqDx Run Mode: Select either RUO or DX.
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)
Protocol 2: NovaSeqDx Standard (NovaSeqDx v1.2)
Purpose:
Samples are pooled and added to the library tube in preparation for the NovaSeq 6000Dx run. The run setup information is validated and a sample sheet is generated.
Routing script sends the library tube to the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) protocol.
Steps:
Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2)
Dilute and Denature (NovaSeqDx v1.2)
Protocol 3: NovaSeqDx Xp (NovaSeqDx v1.2)
Purpose:
Samples are pooled and added to lanes on the NovaSeq 6000Dx flow cell. The option selected in the Define Run Format (NovaSeqDx v1.2) 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 - NovaSeqDx Run (NovaSeqDx v1.2) protocol.
Steps:
Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2)
Dilute, Denature & ExAmp (NovaSeqDx v1.2)
Load to Flowcell (NovaSeqDx v1.2)
Protocol 4: AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2)
Purpose:
All samples complete the workflow by going through this protocol.
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).
Automatically triggered on exit of the Record Details screen, this automation completes the following actions:
Sets the next step for samples to REMOVE:
nextStep = ::REMOVE::
Checks NovaSeqDx Run Mode, Loading Workflow Type, and Flowcell Type. Only the NovaSeq Standard with the S2/S4 flow cell is supported for the NovaSeqDx Run Mode:
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.::);
};
};
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:
if (!input.hasValue(::Normalized Molarity (nM)::)) {
fail(::The Normalized Molarity 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:
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::
}
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.
Routing Script Automation
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 NovaSeqDx v1.2 workflow. Then, the samples are queued for the Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2) step.
Samples with Loading Workflow Type field value = NovaSeq Xp are routed to the NovaSeqDx v1.2 workflow. Then, the samples are queued for the Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2) step.
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
Global Fields
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)
Protocol 2: NovaSeqDx Standard (NovaSeqDx v1.2)
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)
Step 1: Make Bulk Pool for NovaSeqDx Standard (NovaSeqDx v1.2)
In this step, libraries are placed manually into a single pool. Resuspension buffer and reagents are added.
Step input: NTP (normalized libraries)
Step output: Bulk pool
Validate Single NovaSeqDx Run Mode Automation
The Validate Single NovaSeqDx Run Mode automation is triggered on entry of the step. The following automation checks that all input samples have the same NovaSeqDx Run Mode assigned:
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.
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.
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 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.
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, advancing them to the Dilute and Denature (NovaSeqDx v1.2) step in the protocol:
nextStep = ::ADVANCE::
The following automation copies the NovaSeqDx Run Mode values from the step inputs to the step outputs:
output.::NovaSeqDx Run Mode:: = input.::NovaSeqDx Run Mode::
Master Step Fields
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
Global Fields
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)
Step 2: Dilute and Denature (NovaSeqDx v1.2)
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
Validate Single Input Automation
Automatically triggered at the beginning of the step, this automation checks that there is only one container input to the step.
script:validateSampleCount -min 1 -max 1
Validate Library Tube Barcode Automation
Automatically triggered on exit of the Placement screen, this automation completes the following actions:
Validates the library tube barcode to ensure it conforms to the following barcode masks:
DX mode: DX[0-9]{7}-[A-Z]{3}
RUO mode: [A-Z]{2}[0-9]{7}-[A-Z]{3}
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.::)
}
Copies Flowcell Type and Loading Workflow Type field values from step inputs to outputs:
Validate Run Setup and Generate Sample Sheet Automation
Triggered by a button on the Record Details screen, this automation completes the following actions:
Copies the Flowcell Type from the step input to the Run Mode field (hidden):
step.::Run Mode:: = input.::Flowcell Type::
Validates the parameters entered on the Record Details screen, which is used to set up the run and generate the sample sheet file. 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.
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 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.
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.::)
}
};
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.
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::)
};
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 ontains prohibited characters. Allowed characters are: Y, N, I, U, 0-9 and ;. Example: N1Y150;I8;I7N1;Y141U10.::)
};
Sets the next step for samples to REMOVE:
nextStep = ::REMOVE::
Generates the V2 sample sheet and attaches it to the step. For more information, refer to Sample Sheet Generation.
Automatically triggered on exit of the step, this automation invokes the changeWorkflow script, which routes step outputs to the NovaSeqDx v1.2 workflow, and queues them for the AUTOMATED - NovaSeqDx Run (NovaSeqDx v1.2) step.
The default automation command line is as follows.
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
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 (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::
Global Fields
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)
Protocol 3: NovaSeqDx Xp (NovaSeqDx v1.2)
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)
Step 1: Make Bulk Pool for NovaSeqDx Xp (NovaSeqDx v1.2)
Manually place libraries into a pool.
Step input: NTP (normalized libraries)
Step output: Bulk pool
Validate Inputs Flowcell Type and Single Pool Automation
Automatically triggered on exit of the Pooling screen, this automation completes the following actions:
Checks that all samples in the pool have the same Flowcell Type assigned to them.
Checks that only one pool has been created.
Changes the value of error and logging messages to reference the type of pool passed as 'bulk' pool.