Configuration

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

For instructions on user interaction for each step, validating and troubleshooting the NovaSeq 6000 Integration, refer to NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting.

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).

For more information on sample accessioning, refer to Sample Accessioning and Upload and Modify Samples in the Getting Started section of the Clarity LIMS (Clarity & LabLink Reference Guide) documentation.

You can assign samples to workflows automatically, using a routing script, or manually—from the Projects & Samples dashboard. Refer to Assign and Process Samples in the Clarity LIMS (Clarity & LabLink Reference Guide) documentation.

Workflows, Protocols, and Steps

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:

  1. 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:

  1. 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:

  1. Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8)

  2. 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:

  1. Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8)

  2. Dilute, Denature & ExAmp (NovaSeq 6000 v3.8)

  3. 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.

Steps:

  1. AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)

The Library Prep Validation v2.3.4 workflow allows for validation of the system after installation is complete. For details, refer to NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting.

Protocol 1: Run Format (NovaSeq 6000 v3.8)

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:

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

This automation is used only for CLPA support.

Set Next Steps Automation

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

  • Sets the next step for samples to REMOVE:

    nextStep = ::REMOVE::
  • Calculates the Minimum Molarity using the following formula:

    input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000
  • Checks Normalized Molarity value. For samples with no Normalized Molarity value (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.

Routing Script & Register Step Completed 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 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.

    Default automation command line is as follows:

    bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} -i {stepURI:v2} -l {compoundOutputFileLuid0} script:changeWorkflow \
    \
    --FIELD_NAME 'Loading Workflow Type' \
    --FIELD_VALUE 'NovaSeq Standard' \
    --WORKFLOW 'NovaSeq 6000 v3.8' \
    --STEP 'Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8)' \
    --INPUTS_OR_OUTPUTS 'INPUTS' \
    \
    --FIELD_NAME 'Loading Workflow Type' \
    --FIELD_VALUE 'NovaSeq Xp' \
    --WORKFLOW 'NovaSeq 6000 v3.8' \
    --STEP 'Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8)' \
    --INPUTS_OR_OUTPUTS 'INPUTS' \
    && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid0} -s 'com/illumina/upa/scripts/common/step_completed.groovy'"

¹ This automation is for CLPA support only.

² 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:

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

This automation is used only for CLPA support.

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.

/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
script:validate_flowcell_for_input_pools \
-i {stepURI:v2} \
-u {username} \
-p {password} \
-l {compoundOutputFileLuid1} \
-validateSingleOutput true \
-poolType bulk"
Calculate Volumes Automation

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

  • Calculates the number of samples in the pool.

    step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1
  • Sets the value of the Bulk Pool Volume (ul), and PhiX Volume (ul) field based on the selected Flowcell Type.

    step.::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):: = ::::
    };
  • 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:

    1. 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.

    2. 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.

    step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::
  • If the Total Sample Volume is less than the Bulk Pool Volume, the automation calculates the RSB Volume (ul) field value.

    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)::} ;
  • Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs.

    output.::Flowcell Type:: = input.::Flowcell Type:: ;
    output.::Loading Workflow Type:: = input.::Loading Workflow Type:: ;
  • Sets the Volume of Pool to Denature (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).

    && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool1.csv \
    -o 1.csv \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool2.csv \
    -o 2.csv \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool3.csv \
    -o 3.csv \
    && cat 1.csv 2.csv 3.csv > {compoundOutputFileLuid0}.csv
  • 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:

nextStep = ::ADVANCE::
Register Pools & Register Step Completed Automation¹

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.

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

¹ These automations are for CLPA support only.

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.

    /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_started.groovy'
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 barcode mask [A-Z]{2}[0-9]{7}-[A-Z]{3}:

    if (!output.container.name.matches(::[A-Z]{2}[0–9]{7}-[A-Z]{3}::)) {
        fail(::Invalid Library Tube Barcode. Verify and try again.::)
    }
  • Copies Flowcell Type and Loading Workflow Type field values from step inputs to outputs.

    output.::Flowcell Type:: = input.::Flowcell Type:: ;
    output.::Loading Workflow Type:: = input.::Loading Workflow Type::
Validate Run Setup and Generate Sample Sheet 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.

    step.::Settings Header:: = step.hasValue(::UMI - Read 1 Length::) || step.hasValue(::UMI - Read 2 Length::) ? ::[Settings]:: : ::::;
  • Sets the next step for samples to REMOVE.

    nextStep = ::REMOVE::
  • Generates the sample sheet and attaches it to the step. 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.

    && if [ '{udf:Samplesheet Format}' == 'V2' ]; then \
    templateFilename='NovaSeq_BCL2FASTQ_Samplesheet_v2.csv'; \
    elif [ '{udf:Reverse Complement Workflow}' == 'true' ]; then \
    templateFilename='NovaSeq_BCL2FASTQ_Reverse_Complement_Samplesheet.csv'; \
    elif [ '{udf:Reverse Complement Workflow}' == 'false' ]; then \
    templateFilename='NovaSeq_BCL2FASTQ_Samplesheet.csv'; \
    else echo 'UDF Reverse Complement Workflow is empty or undefined.'; exit -1; fi \
    && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/$templateFilename \
    -o {compoundOutputFileLuid0}.csv \
    -q true \
    -destLIMSID {compoundOutputFileLuid0} \
    -l {compoundOutputFileLuid1}"
Routing Script & Register Step Completed Automation¹

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.

    script:changeWorkflow \
    --FIELD_NAME 'N/A' \
    --FIELD_VALUE 'N/A' \
    --WORKFLOW 'NovaSeq 6000 v3.8' \
    --STEP 'AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)' \
    --INPUTS_OR_OUTPUTS 'OUTPUTS' \
  • Registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.

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

¹ 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