arrow-left

All pages
gitbookPowered by GitBook
1 of 5

Loading...

Loading...

Loading...

Loading...

Loading...

NovaSeq 6000 API-based v3.7.0

The integration includes the following features:

  • Preconfigured NovaSeq 6000 v3.8 workflow that maps to lab protocols and instrument runs.

  • The following preconfigured protocols:

    • Run Format (NovaSeq 6000 v3.8)

    • NovaSeq Standard (NovaSeq 6000 v3.8) (supports the loading of pooled libraries into a library tube)

    • NovaSeq Xp (NovaSeq 6000 v3.8) (supports individual lane loading on the NovaSeq)

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

  • Automated generation of v1 sample sheet for use with bcl2fastq2 v2.20 analysis software or v2 sample sheet. This file is automatically uploaded to the instrument through the API.

  • Automatic validation of run setup information. This information is used to create the run recipe and initiate the run.

  • Automated tracking of the NovaSeq sequencing run and parsing of run statistics into Clarity LIMS, including the following features:

    • Progress and metrics of sequencing run

    • Per-instrument sequencing runs (tracked as part of the Run ID field value)

  • [Optional] Preconfigured Library Prep Validation v2.3.4 workflow used for validation purposes only. The workflow contains a single-step protocol that models the library prep required to produce normalized libraries that are ready for the NovaSeq 6000 v3.8 workflow. For more information, refer to . The Library Prep Validation v2.3.4 workflow is available in IPP v2.9 package.

Sequencing run parameters
  • Sequencing run data directory location

  • Real-Time Analysis v3 (RTA3) version and other run-specific information

  • NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting

    Release Notes

    Last Updated: July 2025

    Release Date: July 2024

    Document Version: 3

    These release notes describe the key changes to software components for the Clarity LIMS NovaSeq 6000 Integration Package v3.7.0.

    hashtag
    Compatibility

    Refer to under Instruments & Integrations.

    hashtag
    New Features

    • Some integration properties are moved to database and can now be accessed and updated via System Setting in Clarity v6.3.

      • This change requires updates to the configure_sequencer_api_application.sh script.

      • Refer to for configurable properties.

    hashtag
    Defects and Security Vulnerability Fixed

    • Fixed security vulnerabilities.

    hashtag
    Revision History

    Version

    Changes

    3

    • Renamed Defects Fixed section to Defects and Security Vulnerability Fixed section, and updated section contents.

    2

    • Updated Compatibility section to reference Compatibility matrix table.

    1

    • Initial release.

    Compatibility
    NovaSeq 6000 Integration v3.7.0 Configuration

    User Interaction, Validation and Troubleshooting

    This section explains how to validate the installation of the Illumina NovaSeq 6000 Integration Package v3.7.0.

    The validation process involves the following items:

    • Running samples through the Library Prep Validation workflow.

      • The workflow contains a single-step protocol that models the library prep required to produce normalized libraries. At the end of the step, the normalized libraries advance to the workflow selected.

    • Running normalized libraries through the NovaSeq 6000 v3.8 workflow validates the following items:

      • Successful routing of samples from the Run Format (NovaSeq 6000 v3.8) step to the NovaSeq Standard (NovaSeq 6000 v3.8) or NovaSeq Xp (NovaSeq 6000 v3.8) step.

      • Automated generation of v1 sample sheet for use with bcl2fastq2 v2.20 analysis software or v2 sample sheet. This file automatically uploads to the sequencing system via the Sequencer API.

    The validation steps assume that the Illumina NovaSeq 6000 Integration Package v3.7.0 is installed and you have imported the default Clarity LIMS configuration.

    hashtag
    Activate Workflow, Create Project, Add and Assign Samples

    The following steps set up Clarity LIMS in preparation for running samples through the Library Prep Validation and NovaSeq 6000 v3.8 workflows.

    1. On the Configuration tab, under Workflows, activate both the Library Prep Validation and NovaSeq 6000 v3.8 workflows.

      ℹ Library Prep Validation v2.3.4 is available with Illumina Preset Protocols (IPP) v2.9.

    2. On the Projects and Samples screen, create a project and add samples to it.

    3. Assign the samples to the Library Prep Validation workflow.

    hashtag
    Library Prep Protocol: Library Prep Validation v2.3.4

    This single-step protocol models the library prep required to produce normalized libraries that are ready for the NovaSeq 6000 v3.8 workflow.

    Follow the steps in to run the Library Prep Validation workflow with the following:

    • Label Group = TruSeq HT Adapters v2 (D7-D5)

    • Sequencing Instrument = NovaSeq 3.0

    On exit from the step, the Routing Script automation is triggered. This automation assigns samples to the first step of the NovaSeq 6000 v3.8 workflow, Define Run Format (NovaSeq 6000 v3.8). This step is the only one in Protocol 1: Run Format (NovaSeq 6000 v3.8).

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

    This protocol includes a single step, Define Run Format (NovaSeq 6000 v3.8). The step allows for the assignment of per sample values for Loading Workflow Type, Normalized Molarity, Flowcell Type, and Final Loading Concentration (pM). At the end of the step, samples are routed to the NovaSeq Standard or NovaSeq Xp protocol, according to the selected Loading Workflow Type.

    hashtag
    Step 1: Define Run Format (NovaSeq 6000 v3.8)

    1. In Lab View, locate the Run Format (NovaSeq 6000 v3.8) protocol. The samples are queued for the Define Run Format (NovaSeq 6000 v3.8) step.

    2. Add the samples to the Ice Bucket and select View Ice Bucket.

    3. On the Ice Bucket screen, select Begin Work.

    hashtag
    Protocol 2: NovaSeq Standard (NovaSeq 6000 v3.8)

    In this protocol, samples are pooled and added to the library tube in preparation for the NovaSeq run.

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

    1. In Lab View, locate the NovaSeq Standard (NovaSeq 6000 v3.8) protocol. Samples for the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8) step are queued.

    2. On the Queue screen, add samples of the same Flowcell Type to the Ice Bucket and select View Ice Bucket.

    3. On the Ice Bucket screen, select Begin Work.

    At the end of this step, the pool of samples automatically advances to the Dilute and Denature (NovaSeq 6000 v3.8) step.

    hashtag
    Step 2: Dilute and Denature (NovaSeq 6000 v3.8)

    1. In Lab View, locate the NovaSeq Standard (NovaSeq 6000 v3.8) protocol. The pool of samples queued for the Dilute and Denature (NovaSeq 6000 v3.8) step are listed.

    2. Add the samples to the Ice Bucket and select View Ice Bucket.

    3. On the Ice Bucket screen, select Begin Work. The Validate Single Input & Register Step Started automation is triggered. This automation verifies that only one container is input for the step.

    At this point in the workflow, the user interaction ends. Proceed to AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8).

    triangle-exclamation

    Do not add samples to the Ice Bucket or start the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step. The integration adds samples automatically.

    hashtag
    Protocol 3: NovaSeq Xp (NovaSeq 6000 v3.8)

    In this protocol, 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.

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

    1. In Lab View, locate the NovaSeq Xp (NovaSeq 6000 v3.8) protocol. The samples are queued for the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) step.

    2. On the Queue screen, add samples of the same Flowcell Type to the Ice Bucket and select View Ice Bucket.

    3. On the Ice Bucket screen, select Begin Work.

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

    1. In Lab View, locate the NovaSeq Xp (NovaSeq 6000 v3.8) protocol. The pool of samples queued for the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step displays.

    2. Add the pool to the Ice Bucket and select View Ice Bucket.

    3. [Optional] On the Ice Bucket screen, set the number of derivatives to create (placed into the flow cell lanes) and select Begin Work.

    hashtag
    Step 3: Load to Flowcell (NovaSeq 6000 v3.8)

    1. On the Ice Bucket screen:

      • In the Container Options panel, select the appropriate flow cell type from the Destination Container drop-down list.

      • Select Begin Work.

    At this point in the workflow, the user interaction ends. The flow cell is queued for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.

    triangle-exclamation

    Do not add samples to the Ice Bucket or start the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step. The integration adds samples automatically.

    hashtag
    Protocol 4: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)

    This protocol contains a single fully automated step - AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8).

    The integration starts the step automatically and data from the run is parsed back into Clarity LIMS. User interaction is not required, but the various stages can be reviewed in Clarity LIMS under Review Run Data.

    Automations

    The NovaSeq Run (NovaSeq 6000 v3.8) step contains two automations:

    • Set Next Steps — This automation is disabled (Set to Not Used). By default, the Sequencer API is used to set the next step for output samples.

      ℹ The Illumina Preset Protocols (IPP) include a Set Next Steps automation configured on the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step. You can use this automation to override the default next step behavior. For details, refer to for details.

    • Update Lane Number — This automation is triggered automatically upon entry to the Record Details screen.

    hashtag
    Review Run Data

    Read summary metrics are recorded for the library pool. After the run is complete, open the step and review these metrics on the Next Steps screen in the Step Data section and the Sample Details table.

    Step Data Section

    The following values populate in the master step fields:

    • Run ID

    • Run Status

    • Output Folder

    • Current Cycle

    Sample Details Table

    Summary metrics populate the global fields listed. Values are aggregated across all lanes. Some values (for example Yield PF (Gb) R1) are summed, while others are averaged.

    • Yield PF (Gb) R1

    • Yield PF (Gb) R2

    • Reads PF (M) R1

    • Reads PF (M) R2

    hashtag
    How the Integration Works

    The following steps summarize how the Sequencer API integration works. For details on sample sheet generation and the sequence of events involved in the NovaSeq run, refer to .

    1. When setting up a run on the NovaSeq 6000 instrument, NVCS sends a request for the run recipe.

      • The Sequencer API validates that samples and containers are correctly queued for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.

      • Clarity LIMS sends a JSON response to NVCS. The response includes the run recipe information and a link to download the sample sheet (used with analysis software such as bcl2fastq2).

    circle-info

    provides detailed information on how the following components work with the Sequencer API integration:

    • Sample sheet generation and contents

    • NovaSeq 6000 run

    hashtag
    Troubleshooting

    If an automation trigger does not appear to run its corresponding scripts, refer to the following sections in the Clarity LIMS API documentation:

    • Troubleshooting Automated Worker in the .

    • Troubleshooting Automation in the .

    If an error occurs that does not provide direction on how to proceed, complete the following steps:

    1. Confirm the version of the installed Illumina NovaSeq 6000 Integration Package by running the following command on the Clarity LIMS server command line:

    2. If the error is related to the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step, review the log file information. For details, refer to .

    If the automated run step starts but does not complete, proceed as follows.

    1. Use one of the following methods to open the in progress step in Clarity LIMS:

      • Log in to the default user account.

      • In Lab View, find the step in the Recent Activities pane.

    hashtag
    Logging

    In addition to updating the Sequencing Log multiline text field on the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step, the Sequencer API writes a detailed log file to the following location:

    Log messages include the Library Tube ID and Flowcell ID whenever the messages are related to a sequencing run-related request. In the LIMS workflows, these IDs are recorded as container names.

    Some log messages are not directly related to a sequencing run request, such as downloading the sample sheet. In this case, the file LIMS ID and file name are included in log messages. The sample sheet downloaded by the sequencing system has a name that includes the sequencing container ID (Library Tube for Standard or Flowcell for Xp). The relevant container name search finds most the log messages for this request. However, if all messages for downloading a file are found, the LIMS ID of the file must be known. The LIMS ID is found in the Clarity LIMS API and, for sample sheets used in a run, in the recipe response (also included in the log file).

    Example lines from the log file:

    Automatic validation of run setup information. Information is uploaded to the NovaSeq Control Software (NVCS) via the Sequencer API and is used to create the run recipe and initiate the run.

  • Automated tracking of the NovaSeq sequencing run and parsing of run statistics into Clarity LIMS, via the Sequencer API.

  • On the Record Details screen in the Sample Details table, populate the following fields (values can vary across samples):
    • Loading Workflow Type — Select NovaSeq Standard or NovaSeq Xp from the drop-down list.

    • Flowcell Type — Select SP, S1, S2, or S4.

    • Final Loading Concentration (pM) — Select from the two preset options: 225 (for PCR-free workflows), 400 (for Nano workflows), or enter a different value.

    • Normalized Molarity (nM) — These values are copied over from the previous step. If this column is not populated during library prep, enter the values here.

  • Select Next Steps, which triggers the Set Next Steps automation and the following actions:

    • Sets the value of the next step (for all samples) to Remove from workflow. The Routing Script automation expects this value and requires it to advance samples to the next step.

    • Calculates the Minimum Molarity.

    • Checks Normalized Molarity value. For samples with no Normalized Molarity value (an empty value not including 0), generates an error message notifying that the field cannot be empty.

    • Compares each sample Normalized Molarity value with the Minimum Molarity value.

  • On the Assign Next Steps screen:

    • In the Sample Details table, the Next Step for all samples is prepopulated with Remove from workflow, regardless of the Loading Workflow Type.

      âš  Do not change this value. If Next Step is not set to Remove from workflow, the routing script is not routed samples correctly.

    • For samples whose Normalized Molarity value is lower than the Minimum Molarity value, the Loading Workflow Type is set to Remove from workflow. Also, a message is recorded in the Warning field for the sample.

    At this point, there are two options:

    • Return to the Record Details screen and adjust the Normalized Molarity value so that it equals or exceeds the Minimum Molarity value. The Loading Workflow Type must be set to NovaSeq Standard or NovaSeq Xp, as applicable.

    • Complete the protocol without correcting the Normalized Molarity value. In this case, the samples in question are removed from the Clarity LIMS workflow.

  • Select Finish Step. The Routing Script & Register Step Completed automation is triggered:

    • Samples whose Loading Workflow Type is set to Remove from workflow are removed from the Clarity LIMS workflow. (Occurs when the Normalized Molarity value is lower than the Minimum Molarity.)

    • Samples whose Loading Workflow Type is set to NovaSeq Standard are routed to the Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v3.8) step. This step is the first one in the NovaSeq Standard protocol.

    • Samples whose Loading Workflow Type is set to NovaSeq Xp are routed to the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) step. This step is the first one in the NovaSeq Xp protocol.

  • On the Pooling screen:

    1. Create a pool by dragging samples into the Pool Creator.

      âš  Only create one pool.

    2. Enter a name for the pool or accept the default name (Pool #1).

    3. Select Record Details.

  • After exiting from the Pooling screen, the Validate Inputs Flowcell Type and Single Pool automation is triggered. The automation verifies the following items:

    • All samples in the pool have been assigned the same Flowcell Type.

    • Only one pool has been created.

  • On the Record Details screen in the Step Details area, complete the two required fields and one optional field, as needed:

    • Number of Flowcells to Sequence — Used in volume calculations, to make sure that the volumes are sufficient for the number of times the pool is sequenced.

    • Minimum Per Sample Volume (ul) — Used to calculate how much of each sample is included in the pool. The field is prepopulated with the configured default value 5 µl, but can be edited.

    • % PhiX (2.5 nM) Spike-In — Used to calculate the volume of PhiX v3 control included in the pool for the given percentage of spike-in. The field is optional and can be edited.

    ℹ Assuming the default Minimum Per Sample Volume (ul) value of 5, for a given batch:

    • If the smallest Per Sample Volume (ul) value is < 5, Clarity LIMS automatically assigns a value of 5 to the Adjusted Per Sample Volume (ul) field.

    • Clarity LIMS changes 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.

  • In the Sample Details table, select the pool icon to view details on the pool composition.

  • Select Calculate Volumes to trigger the Calculate Volumes automation. This automation performs calculations based on the selected Flowcell Type, then generates and attaches the Calculation File (CSV) to the step. This file contains volume information about the pool and the individual samples that it contains.

  • Select Next Steps to trigger the Set Next Steps automation. This automation sets the next step for samples to ADVANCE and advances them to the next step in the protocol, Dilute, and Denature (NovaSeq 6000 v3.8).

    On the Assign Next Steps screen, the next step for samples is set to the next step in the workflow: Dilute and Denature (NovaSeq 6000 v3.8).

  • Select Finish Step.

  • On the Placement screen:

    1. Drag the pool into the library tube in the Placed Samples area.

    2. Scan or type the barcode of the library tube into the Library Tube field.

    3. Select Record Details.

    After exiting the Placement screen, the Validate Library Tube Barcode automation makes sure that the library tube barcode conforms to the barcode mask [A-Z]{2}[0-9]{7}-[A-Z]{3}. If it does not, an error message displays. The automation also copies the Flowcell Type and Loading Workflow Type values from step inputs to outputs.

  • On the Record Details screen, the Reagent Lot Tracking section lets you tracks the NaOH, Resuspension Buffer, and Tris-HCl reagents used in the step. Add and activate lots for these reagents. For more information on creating a new lot, refer to Add and Configure Reagent Kits and Lots in the Clarity LIMS (Clarity & LabLink Reference Guide) documentation.

  • In the Reagent Lot Tracking section, select from the active lots displayed in each drop-down list.

  • The fields displayed on the Record Details screen are used to set up the run and generate the sample sheet. Some of these fields are autopopulated and some must be completed manually.

    Fields Displayed on Record Details Screen of Dilute and Denature (NovaSeq 6000 v3.8)

    Field

    Value

    Experiment Name

    Enter the experiment name. Only alphanumeric characters, dashes, and underscores are permitted. Spaces are not permitted.

    BaseSpace Sequence Hub Configuration

    Presets

    • Not Used

    • Run Monitoring Only

    • Run Monitoring and Storage

    Workflow

  • On the Record Details screen, select Validate Run Setup and Generate Sample Sheet. This selection triggers the automation script, which performs the following actions:

    • Validates the parameters entered on the Record Details screen.

    • Generates the sample sheet and attaches it to the placeholder in the Files area of the Record Details screen.

      ℹ The v2 sample sheet generated does not include Cloud and Analysis sections. Contact Illumina Support for information on generating v2 sample sheets with those sections.

    • Select Next Steps.

  • On the Assign Next Steps screen, the Next Step for samples is prepopulated with Remove from workflow. The Routing Script automation expects this value, and requires the value to advance samples to the next step.

    âš  Do not change this value. If Next Step is not set to Remove from workflow, the routing script is not able to route samples correctly.

  • Select Finish Step.

    After exiting the step, the following actions occur:

    • The Routing Script & Register Step Completed automation is triggered and samples are routed to AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8).

    • In Lab View, the pool of samples is queued for the AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8) step.

  • On the Pooling screen, create and name a pool as follows.

    1. Create a pool by dragging samples into the Pool Creator.

      âš  Create only one pool.

    2. Enter a name for the pool or accept the default name (Pool #1).

    3. Select Record Details.

  • On exiting the Pooling screen, the Validate Inputs Flowcell Type and Single Pool automation is triggered. The automation verifies the following items:

    • All samples in the pool are assigned the same Flowcell Type.

    • Only one pool was created.

  • On the Record Details screen in the Step Details area, complete the two required fields and one optional field, as needed:

    • Number of Lanes to Sequence — Used in volume calculations to make sure that volumes are sufficient for the number of times the pool is sequenced.

    • Minimum Per Sample Volume (ul) — Used to calculate how much of each sample is included in the pool. The field is prepopulated with the configured default value 5 µl, but can be edited.

    • % PhiX (0.25nM) Spike-In — Used to calculate the volume of PhiX v3 control to be included in the pool for the given percentage of spike-in. The field is optional and can be edited.

    ℹ Assuming the default Minimum Per Sample Volume (ul) value of 5, for a given batch:

    • If the smallest Per Sample Volume (ul) value is < 5, Clarity LIMS automatically assigns a value of 5 to the samples Adjusted Per Sample Volume (ul) field.

    • Clarity LIMS then 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.

  • In the Sample Details table, select the pool icon to view details on the pool composition.

  • Select Calculate Volumes. This selection triggers the Calculate Volumes automation. This automation performs calculations based on the selected Flowcell Type, then generates and attaches the Calculation File (CSV) to the step. This file contains volume information about the pool and the individual samples that it contains.

  • Select Next Steps to trigger the Set Next Steps automation. This automation performs the following actions:

    • Copies the Flowcell Type values from the step inputs to the step outputs.

    • Sets the next step for samples to ADVANCE, advancing them to the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step in the protocol.

    On the Assign Next Steps screen, the next step for samples is set to the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step in the workflow.

  • Select Finish Step.

    At the end of this step, the pool of samples automatically advances to the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step.

  • On entry to the Record Details screen, the Calculate Volumes automation is triggered. This automation sets the following values based on the selected Flowcell Type:

    • BP Aliquot Volume (ul)

    • NaOH Volume (ul)

    • Tris-HCl Volume (ul)

    • DPX1 Volume (ul)

    • DPX2 Volume (ul)

    • DPX3 Volume (ul)

    • Mastermix per Lane (ul)

    • The automation also populates the Flowcell Type and Loading Workflow Type columns of the Sample Details table.

    • The automation also generates the Calculation File (CSV) and attaches it to the step. This file contains information about the DPX Mastermix volume and the volume of Mastermix, NaOH, and Tris-HCl to add per working pool (see the next step).

  • On the Record Details screen, the Reagent Lot Tracking section tracks the DPX1, DPX2, DPX3, NaOH, Resuspension Buffer, and Tris-HCl reagents used in the step. These reagents must be added. To add and activate reagent lots, refer to Add and Configure Reagent Kits and Lots in the Clarity LIMS (Clarity & LabLink Reference Guide) documentation.

  • On the Record Details screen:

    • In the Reagent Lot Tracking section, select from the active lots displayed in each drop-down list.

    • In the Step Details area, the DPX1, DPX2, and DPX3 reagent volume values are prepopulated. The script sets the values and they are not editable.

    • In the Sample Details table, select the pool icon to view details on the working pool composition.

      • The BP Aliquot, Mastermix per lane, NaOH, and Tris-HCl volume values for each working pool are populated. The script sets the values and they are not editable.

      • The Flowcell Type and Loading Workflow Type columns are populated.

  • In the Files area, select the Calculation File (CSV) to open it and view details on the DPX Mastermix volume and the volume of Mastermix, NaOH, and Tris-HCl to add per working pool.

  • Select Next Steps. On the Assign Next Steps screen, the next step is already set to Load to Flowcell (NovaSeq 6000 v3.8).

  • Select Finish Step.

  • The Validate Inputs and Selected Container & Register Step Started automation checks the following:

    • The Flowcell Type field is set to a valid value (SP, S1, S2, or S4) and that each input has the same value for the field.

    • The container type selected matches the value in the Flowcell Type field.

    • The number of outputs matches the number of lanes on the selected flow cell type. If validation fails, an error message reports the number of working pools does not match the number of lanes available on the flow cell.

  • On the Placement screen:

    • Drag one or more pools from the left of the screen over into the Placed Samples area on the right.

    • Scan or type the barcode of the flow cell into the Flowcell field.

    • Select Record Details.

    After exiting the Placement screen, the Validate Flowcell Barcode automation makes sure that the container barcode conforms to the barcode mask for the selected Flowcell Type (as listed in the following table). This automation also copies the Flowcell Type and Loading Workflow Type field values from step inputs to outputs.

  • The fields displayed on the Record Details screen are used to set up the run and generate the sample sheet. Some of these fields are autopopulated and some must be entered manually. For details, refer to the following table:

    Fields Displayed on Record Details Screen of Load to Flowcell (NovaSeq 6000 v3.8) Step

    Field

    Value

    Experiment Name

    Enter the experiment name. Only alphanumeric characters, dashes, and underscores are permitted. Spaces are not permitted.

    BaseSpace Sequence Hub Configuration

    Presets

    • Not Used

    • Run Monitoring Only

    • Run Monitoring and Storage

    Workflow

  • Select Validate Run Setup and Generate Sample Sheet to trigger the automation script, which does the following:

    • Validates the parameters entered on the Record Details screen.

    • Generates the sample sheet and attaches it to the placeholder in the Files area on the Record Details screen.

    ℹ The v2 sample sheet generated does not include Cloud and Analysis sections. Contact Illumina Support for information on generating v2 sample sheets with these sections.

  • Select Next Steps.

    On the Assign Next Steps screen, the Next Step field for samples is prepopulated with Mark protocol as complete.

  • Select Finish Step.

  • âš  Do not disable or modify this automation to make sure that the Lane Number displays properly.

    Current Read

  • Loading Workflow Type

  • Flow Cell ID

  • Flow Cell Side

  • Flow Cell Mode

  • Flow Cell Part Number

  • Flow Cell Lot Number

  • Flow Cell Expiration Date

  • Instrument ID

  • Instrument Type

  • Instrument Control Software Version

  • Firmware Version

  • RTA Version

  • Sequencing Log

  • Cluster Density (K/mm^2) R1

  • Cluster Density (K/mm^2) R2

  • %PF R1

  • %PF R2

  • % Bases >=Q30 R1

  • % Bases >=Q30 R2

  • Intensity Cycle 1 R1

  • Intensity Cycle 1 R2

  • % Phasing R1

  • % Phasing R2

  • % Prephasing R1

  • % Prephasing R2

  • % Aligned R1

  • % Aligned R2

  • % Error Rate R1

  • % Error Rate R2

  • When the run starts, NVCS sends a RunStarted run status request. The Sequencer API then does the following:

    • Validates reagent kit information in the RunStarted request:

      • Verifies that the reagent kit exists. If the reagent kit does not exist, the Sequencer API creates and enables it on the master step.

      • Verifies that the reagent kit is activated. If the reagent kit is not active, the Sequencer API activates it.

    • Initiates the step for the queued samples. The step produces one output file placeholder per lane of the flow cell in use, based on the flow cell type.

      • Records all relevant information from the RunStarted request on the step (such as reagent lots and step fields).

  • At the end of the run, NVCS sends one of the following run status requests:

    • RunCompletedSuccessfully

    • RunEndedByUSer

    • RunErroredOut

    The Sequencer API updates the step with any new information, which includes only the status and cycle/read information.

  • After primary analysis completes, NVCS sends a request containing the parsed run metrics. NVCS sends a request only when the run completed successfully, but the API does not make this assumption and accepts the request regardless of status. The Sequencer API then does the following actions:

    • Records the metrics into the fields on file placeholder outputs in the LIMS.

    • Completes the step in Clarity LIMS when the status is RunCompletedSuccessfully. For all other status options, the step remains in progress. This action is the default autocomplete step behavior. For details, refer to NovaSeq 6000 Integration v3.7.0 Configuration.

  • User authentication and login

  • Run recipe contents

  • Search for the step in Clarity LIMS, using either the Library Tube, or Flowcell barcode as the search term. The steps depend on whether the search is a NovaSeq Standard or NovaSeq Xp run.
  • On the Record Details screen, the Sequencing Log multiline text field contains logging information. If you are unable to reach the Record Details screen, or if the Sequencing Log field does not contain enough information to resolve the issue, review the sequencer-api.log file. For details, refer to Logging.

  • Contact Illumina Support. Provide the relevant information from the troubleshooting steps already performed.

  • Library Prep Validation Protocol
    NovaSeq 6000 Integration v3.7.0 Configuration
    NovaSeq 6000 Integration v3.7.0 Configuration
    NovaSeq 6000 Integration v3.7.0 Configuration
    Clarity LIMS (Clarity & LabLink Reference Guide) documentation
    Clarity LIMS (API & Database) documentation
    Logging
    rpm -qa | grep -i novaseq
    /opt/gls/clarity/tomcat/current/logs/sequencer-api.log
    2021-06-19 21:32:19.705 INFO --- [] SequencerAPIApplication : Started SequencerAPIApplication in 7.026 seconds (JVM running for 15.964)
    ...
    2021-06-19 21:34:44.564 INFO --- [Library Tube Id=NV1234567-LIB, Flow Cell Id=RM123DSXX] LimsApiLookupUtil : Searching for containers with name 'NV1234567-LIB' or 'RM123DSXX'
    ...
    2021-06-19 21:35:27.158 INFO --- [] FileService : Successfully retrieved file 'NV1234567-LIB.csv' with LIMS ID 40-51 through the API.
    The working pool number is appended to the bulk pool name, to identify which working pools are derived from the same bulk pool.

    Preset

    • GenerateFASTQ

    Workflow Type

    Presets

    • No Index

    • Single Index

    • Dual Index

    • Custom

    Index Read 1

    Presets

    • 0

    • 6

    • 8

    • type a value between 0 and 20

    Index Read 2

    Presets

    • 0

    • 6

    • 8

    • type a value between 0 and 20

    Paired End

    Presets

    • True

    • False

    Read 1 Cycles

    Presets

    • 251¹

    • 151

    • 101

    • 51

    • type a value between 1 and 251

    ¹The value of 251 is only supported for SP flow cell type. For all other flow cell types, the maximum value is 151.

    Read 2 Cycles

    Presets

    • 251¹

    • 151

    • 101

    • 51

    • type a value between 0 and 251

    ¹The value of 251 is only supported for SP flow cell type. For all other flow cell types, the maximum value is 151.

    Use Custom Read 1 Primer

    Select if applicable.

    Use Custom Read 2 Primer

    Select if applicable.

    Use Custom Index Read 1 Primer

    Select if applicable.

    Reverse Complement Workflow

    Select Yes (by default) for v1.5 reagents in NovaSeq Control Software v1.7 and onwards. Select No for v1 reagents.

    Use Custom Recipe

    Select if applicable.

    Custom Recipe Path

    If the Use Custom Recipe option is selected, enter the path to the custom recipe file to be used.

    UMI - Read 1 Length

    Enter the length of the Unique Molecular Identifiers (UMI) in Read 1. Leave blank if not applicable.

    UMI - Read 2 Length

    Enter the length of the UMI in Read 2. Leave blank if not applicable.

    UMI - Read 1 Start From Cycle

    Enter the cycle number that Read 1 starts from. Leave blank if not applicable.

    UMI - Read 2 Start From Cycle

    Enter the cycle number that Read 2 starts from. Leave blank if not applicable.

    Output Folder

    Enter network path for sequencing run folder (e.g., \\networkshare\run_data)

    Samplesheet Format

    Presets

    • V1

    • V2

    Analysis Software Version

    Enter the software version for BCL Convert Analysis for v2 sample sheet. Leave blank if not applicable.

    Override Cycles

    Enter the Override Cycles value for v2 sample sheet. Leave blank if not applicable.

    Flowcell Type

    Barcode Mask

    SP

    [A-Z0-9]{5}DR[A-Z0-9]{2}

    S1

    [A-Z0-9]{5}DR[A-Z0-9]{2}

    S2

    [A-Z0-9]{5}DM[A-Z0-9]{2}

    S4

    [A-Z0-9]{5}DS[A-Z0-9]{2}

    Preset

    • GenerateFASTQ

    Workflow Type

    Presets

    • No Index

    • Single Index

    • Dual Index

    • Custom

    Index Read 1

    Presets

    • 0

    • 6

    • 8

    • type a value between 0 and 20

    Index Read 2

    Presets

    • 0

    • 6

    • 8

    • type a value between 0 and 20

    Paired End

    Presets

    • True

    • False

    Read 1 Cycles

    Presets

    • 251¹

    • 151

    • 101

    • 51

    • type a value between 1 and 251

    ¹The value of 251 is only supported for SP flow cell type. For all other flow cell types, the maximum value is 151.

    Read 2 Cycles

    Presets

    • 251¹

    • 151

    • 101

    • 51

    • type a value between 0 and 251

    ¹The value of 251 is only supported for SP flow cell type. For all other flow cell types, the maximum value is 151.

    Use Custom Read 1 Primer

    Select if applicable.

    Use Custom Read 2 Primer

    Select if applicable.

    Use Custom Index Read 1 Primer

    Select if applicable.

    Reverse Complement Workflow

    Select Yes (by default) for v1.5 reagents in NovaSeq Control Software v1.7 and onwards. Select No for v1 reagents.

    Use Custom Recipe

    Select if applicable.

    Custom Recipe Path

    If you selected the Use Custom Recipe option, enter the path to the custom recipe file to be used.

    UMI - Read 1 Length

    Enter the length of the Unique Molecular Identifiers (UMI) in Read 1. Leave blank if not applicable.

    UMI - Read 2 Length

    Enter the length of the UMI in Read 2. Leave blank if not applicable.

    UMI - Read 1 Start From Cycle

    Enter the cycle number that Read 1 starts from. Leave blank if not applicable.

    UMI - Read 2 Start From Cycle

    Enter the cycle number that Read 1 starts from. Leave blank if not applicable.

    Output Folder

    Enter network path for sequencing run folder (eg, \networkshare\run_data)

    Library Tube Barcode

    Scan the library tube barcode.

    Samplesheet Format

    Presets

    • V1

    • V2

    Analysis Software Version

    Enter the software version for BCL Convert Analysis for v2 sample sheet. Leave blank if not applicable.

    Override Cycles

    Enter the Override Cycles value for v2 sample sheet. Leave blank if not applicable.

    Installation

    The Illumina NovaSeq 6000 Integration v3.7.0 supports the integration between Clarity LIMS (v6.3 and later) and the NovaSeq 6000 instrument. Refer to NovaSeq 6000 Integration v3.7.0 Release Notes for updates to this integration.

    circle-info

    Clarity LIMS is automatically stopped during installation of the RPM and will need to be restarted. The file-based and API-based integrations cannot run at the same time. When the API-based integration has finished installing, shut down Clarity LIMS and uninstall the file-based integration.

    hashtag
    Supporting Documentation

    • For details on installed protocols and steps, automations, generated and captured files, and rules and constraints, refer to .

    • For information on user interaction for each step, validating and troubleshooting the integration, refer to .

    • For information on the NovaSeq 6000 instrument system, refer to the .

    hashtag
    Prerequisites

    NovaSeq 6000 Integration v3.7.0 has the following prerequisites:

    chevron-rightPrerequisite 1: Clarity LIMS v6.2 and abovehashtag

    This integration requires Clarity LIMS v6.2 and above and uses the Clarity LIMS Secret Utility. The Secret Utility is installed and configured by the installation tooling for Clarity LIMS v6.2 and above. No additional configuration is required.

    For more information on Secret Utility configuration, refer to the .

    chevron-rightPrerequisite 2: Illumina Preset Protocols (IPP) v2.9hashtag

    The integration package depends on the configuration provided in Illumina Protocols (IPP) v2.9.

    The installation procedure provided in this document includes steps that install the following IPP configurations on the server used for the NovaSeq 6000 integration installation:

    • NovaSeq configuration

    chevron-rightPrerequisite 3: Proxy Updatehashtag

    The Illumina cloud hosted installation configures an additional include directive for /etc/httpd/conf.d/clarity.conf in the proxy configuration. Additional proxy configuration files for the Sequencer API service are expected to be placed in the /etc/httpd/conf.d/clarity folder.

    hashtag
    Sequencer API RPM Installation Components

    NovaSeq Integration v3.7.0 is distributed as the BaseSpaceLIMS-sequencer-api RPM package. This package must be installed on the Clarity LIMS server.

    The BaseSpaceLIMS-sequencer-api RPM installs the following files and scripts:

    • Sequencer API WAR file

    • application.yml configuration file

    • configure_sequencer_api_proxy.sh configuration script

    hashtag
    Sequencer API WAR

    The RPM installs the Sequencer API WAR file into the same Tomcat container as Clarity LIMS. The WAR file is at

    The version number can differ.

    The WAR file is deployed automatically when Clarity LIMS launches. Because the RPM installs a new WAR file, Clarity LIMS is automatically stopped during installation of the RPM. Restart Clarity LIMS before installing the NovaSeq and Library Prep Validation workflow configuration from the IPP.

    hashtag
    Configuration File

    The application.yml configuration file is installed at

    As part of the installation process, the file is configured with one of the configuration scripts.

    For a complete list of all properties included in the application.yml file and the properties installed into database, refer to .

    hashtag
    Configuration Scripts

    The scripts in the following table are installed at the

    During installation, the RPM runs these scripts as they are needed.

    hashtag
    Installation Steps

    If running the sequencing service and Automation Worker on the same instance, the instance must also be running a compatible version of Oracle Linux. For compatibility, refer to .

    chevron-rightInstall the IPP Packagehashtag
    1. On the server being used to install the integration, log in as the root user.

    2. Use the following yum command to install the IPP RPM:

      The --enablerepo

    chevron-rightInstall Sequencer APIhashtag

    Install the Sequencer API as follows.

    1. On the Clarity LIMS server, log in as the root user.

    2. Use the following yum command to install the RPM:

    chevron-rightInstall NovaSeq and Library Prep Validation Workflow Configurationhashtag

    Install the NovaSeq and Library Prep workflow configuration from IPP as follows.

    1. As the glsjboss user, run the following command to install the NovaSeq 6000 v3.8 workflow configuration:

      ℹ The installer validates the import of the workflow and provides the Warning/Error details in STDOUT, which allows you to either proceed with the import or cancel it.

    chevron-rightCheck Sequencer APIhashtag

    Make sure that the Sequencer API is working as follows.

    1. Visit

      This page returns the following URL string:

    chevron-right[Optional] Configure Propertieshashtag

    Configuring integration-related properties is optional.

    For more information on the configurable integration properties that enable capture and generation of files associated with the sequencing run, refer to

    hashtag
    Workflows, Protocols, and Steps Installed

    NovaSeq 6000 Integration v3.7.0 includes the workflows, protocols, and steps listed in the following table. The workflows are found in IPP v2.9.0 package.

    hashtag
    NovaSeq 6000 v3.8 Workflow

    chevron-rightProtocol 1: Run Format (NovaSeq 6000 v3.8)hashtag

    Steps:

    1. Define Run Format (NovaSeq 6000 v3.8)

    chevron-rightProtocol 2: NovaSeq Standard (NovaSeq 6000 v3.8)hashtag

    Steps:

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

    2. Dilute and Denature (NovaSeq 6000 v3.8)

    chevron-rightProtocol 3: NovaSeq Xp (NovaSeq 6000 v3.8)hashtag

    Steps:

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

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

    chevron-rightProtocol 4: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)hashtag

    Steps:

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

    hashtag
    Library Prep Validation v2.3.4 Workflow

    chevron-rightProtocol: Library Prep Validation v2.3.4hashtag

    Steps:

    1. Library Prep Validation v2.3.4

    For detailed descriptions of the steps and automations included in each protocol, and details on other components in the configuration, refer to .

    For instructions on using the Library Prep Validation v2.3.4 protocol, refer to .

    triangle-exclamation

    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.

    hashtag
    Instrument Software

    The NovaSeq instrument software includes the following components:

    • NovaSeq Control Software (NVCS) — Contains the user interface for setting up the sequencing run. Responsible for controlling the instrument and acquiring the images.

    • Real-Time Analysis v3 (RTA3) — Takes the images generated by the first module, processes, and analyzes them. Makes sure that data files are created and copied to the final destination folder.

    • Sequencing Analysis Viewer (SAV) — Displays the important quality metrics generated by the RTA3 software.

    hashtag
    Instrument Integration Configuration

    For the NovaSeq API integration to work, the NovaSeq instrument must be able to communicate with Clarity LIMS through the API. Complete the following steps to configure the NVCS and confirm that you can access Clarity LIMS from the instrument.

    1. Launch NVCS and wait for the initialization process to complete.

    2. On the NVCS Settings page, do the following:

      1. Under Mode Selection, select Server-Based.

    Library Prep Validation configuration (optional, but recommended)

    For details on IPP v2.9 installation and configuration, refer to the Illumina Preset Protocols documentation.

    configure_sequencer_api_env.sh configuration script
  • configure_sequencer_api_application.sh configuration script

  • command-line argument must be included to enable the repo. The Illumina Support team can provide you with the repo file with the appropriate naming convention.
  • Enter y to confirm that you want to proceed with the RPM and package installation.

  • Make sure that NGS Extension Package v5.25.0 is installed.

    If this package is not installed, install it or upgrade the existing package.

  • For information on IPP installer commands, parameters, and options, refer to the Illumina Preset Protocols documentation.

    The --enablerepo command-line argument must be included to enable the repo. The Illumina Support team can provide you with the repo file with the appropriate naming convention.
  • Enter y to confirm that you want to proceed with the RPM installation.

  • If necessary, install the Secret Utility Package.

    For more information on this package, refer to Prerequisite 1: Secret Utility Configuration.

  • As the glsjboss user, run configure_sequencer_api_application.sh from the following location:

  • Enter values for the following questions:

    You can also accept the default values in the application.yml configuration file by pressing Enter. For more information about the application.yml properties, refer to Integration Properties Details.

    • Would you like to use the apiuser user for communication with Clarity? [Y]

    • Enter required value for Token Expiry (hours) [88]

  • Update the Clarity LIMS proxy for the Sequencer API as follows.

    • For an on-premise system, run the following command:

    • For an Illumina cloud hosted system, make sure that the proxy has been updated as follows. Place the sequencer-api.include file in /etc/httpd/conf.d/clarity.

  • Update the Clarity LIMS Tomcat configuration as follows.

    1. Make sure that the Secret Util is installed and configured. For more information, refer to Prerequisite 1: Secret Utility Configuration.

    2. Run the following command to add the Secret Utility configuration to Clarity LIMS:

      ℹ This script modifies /opt/gls/clarity/tomcat/current/bin/setenv.sh for Clarity LIMS Tomcat to load the Secret Utility environment variable file (/etc/profile.d/claritysecret.sh) during startup.

    3. Use the following command to Start Clarity LIMS:

  • [Optional] Run the following command to install the Library Prep Validation v2.3.4 workflow:

    This step is optional, but recommended. The Library Prep Validation v2.3.4 workflow allows you to validate the NovaSeq 6000 v3.8 workflow.

  • Copy and paste the URL string into the browser. The Clarity LIMS Sign In page opens.
  • Enter sign in credentials.

  • Select Sign In. A Successfully Authenticated message displays.

  • Load to Flowcell (NovaSeq 6000 v3.8)

    NovaSeq recipes — Provides system operation instructions for use with NovaSeq 6000 reagent kits for SP, S1, S2, and S4 flow cells.

  • Universal Copy Service — Copies output files to destinations such as final destination folder and/or BaseSpace Sequence Hub (when the instrument is configured for use with BaseSpace Sequence Hub).

  • In the adjacent field, enter the Clarity LIMS URL (e.g., https://customerserver.claritylims.com).
  • [Optional] In the Output Folder field, enter the default output folder location. You can also specify the output folder location when setting up a run in NVCS.

  • Select Save to complete the configuration.

  • On the NVCS home page, you can now select Sequence to log into Clarity LIMS and start a run.

  • Script Name

    User

    Description

    configure_sequencer_api_proxy.sh

    root

    • Adds configuration to the proxy to allow communication with the Sequencer API after Tomcat has been started.

    • Run this script in the following scenarios:

      • When the Sequencer API is first installed.

      • When reconfiguring the Clarity LIMS proxy. This process happens until a version of Clarity LIMS that includes the necessary configuration files from /etc/httpd/clarity/*.conf is available.

    ℹ Not required for Illumina cloud hosted installations.

    configure_sequencer_api_env.sh

    root

    Adds Secret Management setting into the Clarity LIMS Tomcat configuration.

    configure_sequencer_api_application.sh

    glsjboss

    • Configures the installed application.yml file.

    • Sets the Clarity LIMS URL and the key to use when signing access tokens.

    âš  Run this script when the Sequencer API is first installed.

    • If you run the script multiple times, the script reconfigures each setting to its default.

    • The only exception is the signing key. For this setting, you are asked if you want a reset. If the reset is done, all previously issued tokens are no longer valid.

    NovaSeq 6000 Integration v3.7.0 Configuration
    NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting
    NovaSeq 6000 System Support Resourcesarrow-up-right
    Clarity LIMS (Clarity & LabLink Reference Guide) documentation
    Integration Properties Details
    NovaSeq 6000 Integration v3.7.0 Release Notes
    Integration Properties Details
    NovaSeq 6000 Integration v3.7.0 Configuration
    NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting
    bash /opt/gls/clarity/config/configure_sequencer_api_application.sh
    bash /opt/gls/clarity/config/configure_sequencer_api_proxy.sh
    ProxyPass ajp://localhost:9009/Illumina/Sequencer/v2
    ProxyPassReverse ajp://localhost:9009/Illumina/Sequencer/v2
    bash /opt/gls/clarity/config/configure_sequencer_api_env.sh
    /opt/gls/clarity/config/illumina-preset-protocols-installer.sh -o install Illumina_Instruments.LibraryPrepValidation-v2.3
    /opt/gls/clarity/tomcat/current/webapps/Illumina#Sequencer#v2##2.7.0.0.war
    /opt/gls/clarity/extensions/sequencer-api/application.yml
    /opt/gls/clarity/config/
    yum install BaseSpaceLIMS-Illumina-Preset-Protocols --enablerepo=<< repo name info from support >>
    yum install BaseSpaceLIMS-sequencer-api --enablerepo=< repo name info from support >
    bash /opt/gls/clarity/config/illumina-preset-protocols-installer.sh -o install Illumina_Instruments.novaseq-v3.8
    https://<< Clarity LIMS URL >>/Illumina/Sequencer/v2/sequencing-run/login
    https://<< Clarity LIMS URL >>/Illumina/Sequencer/v2/oauth/authorize?client_id=illumina_sequencer&redirect_uri=../sequencer_login&response_type=token
    /opt/gls/clarity/bin/run_clarity.sh start

    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 .

    triangle-exclamation

    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.

    circle-info

    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.

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

    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 .

    hashtag
    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

    hashtag
    Library Prep Validation v2.3.4 Workflow

    chevron-rightProtocol: Library Prep Validation v2.3.4hashtag

    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.

    hashtag
    NovaSeq 6000 v3.8 Workflow

    chevron-rightProtocol 1: Run Format (NovaSeq 6000 v3.8)hashtag

    Purpose:

    • Allows for the assignment of per sample values for:

    chevron-rightProtocol 2: NovaSeq Standard (NovaSeq 6000 v3.8)hashtag

    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.

    chevron-rightProtocol 3: NovaSeq Xp (NovaSeq 6000 v3.8)hashtag

    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.

    chevron-rightProtocol 4: AUTOMATED - NovaSeq Run (NovaSeq 6000 v3.8)hashtag

    Purpose:

    • All samples complete the workflow by going through this protocol.

    • This protocol contains one fully automated step.

    circle-info

    The Library Prep Validation v2.3.4 workflow allows for validation of the system after installation is complete. For details, refer to .

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

    hashtag
    Step 1. Define Run Format (NovaSeq 6000 v3.8)

    • Step input: NTP (normalized libraries)

    • Step output: None

    chevron-rightRegister Step Started Automation¹hashtag

    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:

    This automation is used only for CLPA support.

    chevron-rightSet Next Steps Automationhashtag

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

    • Sets the next step for samples to REMOVE:

    • Calculates the Minimum Molarity using the following formula:

    chevron-rightRouting Script & Register Step Completed Automation²hashtag

    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.

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

    hashtag
    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

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

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

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

    triangle-exclamation

    Create only one pool per step.

    • Step input: NTP (normalized libraries)

    • Step output: Bulk pool

    circle-info

    Validate Unique Indexes automation is not used. The Clarity LIMS configuration for pooling handles this functionality.

    chevron-rightRegister Step Started Automation¹hashtag

    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:

    This automation is used only for CLPA support.

    chevron-rightValidate Inputs Flowcell Type and Single Pool Automationhashtag

    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.

    chevron-rightCalculate Volumes Automationhashtag

    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.

    chevron-rightSet Next Step Automationhashtag

    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:

    chevron-rightRegister Pools & Register Step Completed Automation¹hashtag

    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.

    ¹ These automations are for CLPA support only.

    Automations not identified with ¹ are required for the NovaSeq 6000 v3.8 to work function properly.

    hashtag
    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

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

    hashtag
    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

    chevron-rightValidate Single Input & Register Step Started Automation¹hashtag

    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.

    chevron-rightValidate Library Tube Barcode Automationhashtag

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

    chevron-rightValidate Run Setup and Generate Sample Sheet Automationhashtag

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

    chevron-rightRouting Script & Register Step Completed Automation¹hashtag

    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.

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

    hashtag
    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

    chevron-rightValidation Scripthashtag

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

    hashtag
    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 2: Dilute, Denature & ExAmp (NovaSeq 6000 v3.8)

    • Step 3: Load to Flowcell (NovaSeq 6000 v3.8)

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

    Manually place libraries into a pool.

    triangle-exclamation

    Create only one pool per step.

    • Step input: NTP (normalized libraries)

    • Step output: Bulk pool

    circle-info

    Validate Unique Indexes automation is not used. The Clarity LIMS configuration for pooling handles this functionality.

    chevron-rightRegister Step Started Automation¹hashtag

    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:

    This automation is used only for CLPA support.

    chevron-rightValidate Inputs Flowcell Type and Single Pool Automationhashtag

    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.

    chevron-rightCalculate Volumes Automationhashtag

    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.

    • Sets the value of the Bulk Pool Volume (ul) and PhiX Volume (ul) field, based on the selected Flowcell Type.

    chevron-rightSet Next Step Automationhashtag

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

    • Copies the Flowcell Type values from the step inputs to the step outputs.

    • Sets the next step for samples to ADVANCE, advancing them to the next step in the protocol.

    chevron-rightRegister Pools & Register Step Completed Automation¹hashtag

    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.

    ¹ These automations are for CLPA support only.

    Automations not identified with ¹ are required for the NovaSeq 6000 v3.8 to work function properly.

    hashtag
    Master Step Fields

    The following table lists field configuration details defined on the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) step.

    Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) Master Step Field Configuration

    hashtag
    Global Fields

    The following table lists the global custom fields that are configured to display on the Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v3.8) step.

    Global Field Configuration (Derived Sample)

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

    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

    chevron-rightValidate Inputs Flowcell Type & Register Step Started Automation²hashtag

    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.

    chevron-rightCalculate Volumes Automationhashtag

    Automatically triggered on entry to of the Record Details screen, this automation sets the value of the following fields based on the Flowcell Type:

    • BP Aliquot Volume (ul)

    • NaOH Volume (ul)

    chevron-rightSet Next Step Automationhashtag

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

    • Copies the Flowcell Type values from the step inputs to the step outputs.

    • Sets the next step for samples to ADVANCE, advancing them to the next step in the protocol:

    chevron-rightRegister Step Completed Automation¹hashtag

    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 for CLPA support only.

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

    hashtag
    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

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

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

    chevron-rightValidate Inputs and Selected Container & Register Step Started Automation²hashtag

    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.

    chevron-rightValidate Flowcell Barcode Automationhashtag

    Automatically triggered on exit of the Placement screen, this automation

    • Validates the flow cell barcode scanned into the Clarity LIMS by the user, using the following logic:

    • Copies the Flowcell Type and Loading Workflow Type field values from step inputs to outputs:

    chevron-rightValidate Run Setup and Generate Sample Sheet Automationhashtag

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

    chevron-rightRegister Step Completed Automation¹hashtag

    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 for CLPA support only.

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

    hashtag
    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

    chevron-rightValidation Scripthashtag

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

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

    triangle-exclamation

    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.

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

    chevron-rightRegister Step Started & Register NovaSeq Run & Register NovaSeq Run Association & Register NovaSeq Run Started Automation¹hashtag

    Automatically triggered at the beginning of the step, this automation completes the following actions:

    • Registers the start time of the step

    chevron-rightSet Next Steps Automation²hashtag

    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:

    1. Enable the automation and use it to set custom next step behavior and generate a log file. By default, the automation sets the next step to ADVANCE and the samples complete the protocol.

    chevron-rightUpdate Lane Number Automationhashtag

    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.

    chevron-rightRegister NovaSeq RunCompleted & Register Step Completed Automation¹hashtag

    Automatically triggered upon exiting the step, this automation registers the sequencing run completion time, run status, and run metrics.

    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.

    hashtag
    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

    hashtag
    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

    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.

    circle-info

    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.

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

    chevron-rightSample Sheet Contenthashtag

    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

    hashtag
    NovaSeq 6000 Run

    The following steps outline the sequence of events that occurs when a flow cell is loaded onto the NovaSeq 6000 instrument.

    chevron-rightUser Authentication and Loginhashtag

    User authentication and login to the NovaSeq instrument is achieved via the getSequencerLoginURL endpoint (found at /Illumina/Sequencer/v2/sequencing-run/login). This endpoint returns the URL that the instrument uses to get an access token.

    1. The Sequencer API service provides the NovaSeq Control Software (NVCS) with a URL for the Clarity LIMS login screen and the NVCS displays this screen to the user. Log in to authorize the NVCS to use your account automatically to access Clarity LIMS.

    chevron-rightRespond to Validation / Recipe Request Call from Instrumenthashtag
    1. The sequencing-run/recipe/novaseq endpoint consumes a POST request with a LibraryContainerId, FlowCellId, and reagents information.

    chevron-rightRun Recipe Contenthashtag

    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:

    chevron-rightRespond to Sequencing Started Call from Instrumenthashtag
    1. Matching container for the run (library tube or flow cell) is found, and contents are validated to be queued for the correct step.

      ℹ If no matching container is found, or if the samples in the container are incorrectly queued, an error 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.

    chevron-rightRespond to Record InterOps Metrics Call from Instrumenthashtag

    When the metrics endpoint receives a POST, it completes the following actions:

    • Looks for a matching library tube or flow cell in Clarity LIMS.

    chevron-rightRespond to Sequencing Completed Call from Instrumenthashtag

    If the sequencing run is successful, after the metrics are recorded, the API call for Sequencing Completed is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:

    1. The Current Cycle, Current Read, and Status master step custom fields are updated.

    chevron-rightRespond to Sequencing Errored Call from Instrumenthashtag

    If the sequencing run is unsuccessful, the API call for Sequencing Error is received. Information is matched by Sequencing Container and the following occurs in Clarity LIMS:

    1. The Current Cycle, Current Read, and Status master step custom fields are updated.

    chevron-rightRespond to Sequencing RunEndedByUser Call from Sequencerhashtag

    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:

    1. The Current Cycle, Current Read, and Status master fields are updated.

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

    circle-info

    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 .

    hashtag
    NovaSeq 6000 Integration RPM Components

    The following table lists the components installed by the RPM package.

    hashtag
    Properties

    Refer to for the properties installed with the integration package.

    hashtag
    Reagent Categories/Label Groups

    • TruSeq HT Adapters v2 (D7-D5)

    hashtag
    Reagent Kits

    • Buffer Cartridge

    • Cluster Cartridge

    • DPX1

    • DPX2

    hashtag
    Container Types

    • Library Tube

    • SP

    • S1

    • S2

    This integration supports the following items:

    • 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}

    hashtag
    NVCS Configuration

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

    hashtag
    Routing Script Requirements

    The requirements for the routing script functionality are as follows.

    1. On the steps that use the routing script (Define Run Format (NovaSeq 6000 v3.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.

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

    hashtag
    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

    1. Edit the value of integration.sequencer_api.v2.run.autoCompleteOnlyAtSuccess property as required using the omxProps-ConfigTool utility.

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

    hashtag
    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 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

    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)

    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)

    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)

    âš  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)

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

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

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

    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:

  • Loading Workflow Type

    Text Dropdown

    • Required Field

    Presets

    • NovaSeq Standard

    • NovaSeq Xp

    Loading Workflow Type

    Text Dropdown

    • Required Field

    • Presets

      • NovaSeq Standard

      • NovaSeq Xp

    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

    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.

  • Sets the value of the Bulk Pool Volume (ul), and PhiX Volume (ul) field based on the selected Flowcell Type.
  • Calculates the Per Sample Volume (ul) to be added to the 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.

  • If the Total Sample Volume is less than the Bulk Pool Volume, the automation calculates the RSB Volume (ul) field value.

  • Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs.

  • Sets the Volume of Pool to Denature (ul) value and calculates the NaOH Volume (ul) and Tris-HCl Volume (ul) values based on the Flowcell Type:

  • Uses the NovaSeq_Standard_Bulk_Pool1.csv, NovaSeq_Standard_Bulk_Pool2.csv, and NovaSeq_Standard_Bulk_Pool3.csv template files to generate a single CSV file containing information about the pool and the samples it contains. The generated file is available for download 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.

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

    Minimum Per Sample Volume (ul)

    Numeric

    Required Field

    • Decimal places displayed = 2

    • Default

      • 5

    Number of Samples in Pool

    ℹ For calculation purposes, not displayed

    Numeric

    • Decimal places displayed = 0

    • Default

      • 0

    PhiX Volume (ul)

    ℹ For calculation purposes, not displayed

    Numeric

    • Decimal places displayed = 2

    Total Sample Volume (ul)

    ℹ For calculation purposes, not displayed

    Numeric

    • Decimal places displayed = 2

    • Default

      • 0

    RSB Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    Tris-HCl Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    Volume of Pool to Denature (ul)

    ℹ Used in Make Bulk Pool for 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

    Registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.
    Copies Flowcell Type and Loading Workflow Type field values from step inputs to outputs.
    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):

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

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

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

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

    • Validate Analysis Software Version to ensure it is a valid version string.

    • Validate Override Cycles value to contain only Y, N, I, U, 0-9, and semicolon characters.

    • Outputs the Settings Header in sample sheet when UMI - Read 1 Length or UMI - Read 2 Length have value.

    • Sets the next step for samples to REMOVE.

    • Generates the sample sheet and attaches it to the step. For more information, refer to . Sample sheet template used depends on the selected value of Samplesheet Format and/or Reverse Complement Workflow.

    Registers the completion time of the step by publishing messages to CLPA through Illumina Connected Analytics. This script is used only for CLPA support.

    Experiment Name

    Text

    • Required Field

    Index Read 1

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–20

    • Decimal places displayed = 0

    • Presets

    Index Read 2

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–20

    • Decimal places displayed = 0

    • Presets

    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

    Read 2 Cycle

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–251

    • Decimal places displayed = 0

    • Presets

    Reverse Complement Workflow

    Toggle Switch

    • Required Field

    • Default

      • Yes

    Run Mode

    ℹ Not displayed in user interface

    Text Dropdown

    • Read Only

    • Presets

      • SP

      • S1

    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

    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.

  • Calculates the Per Sample Volume (ul) to be added to the 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 sample 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.

  • If the Total Sample Volume is less than the Bulk Pool Volume, calculates the RSB Volume (ul) field value.

  • Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs.

  • Uses the NovaSeq_Xp_Bulk_Pool.csv and NovaSeq_Xp_Bulk_Pool2.csv template files to generate a single CSV file containing information about the bulk pool and the samples it contains. The generated file is available for download on the Step Setup screen of the Dilute, Denature & ExAmp (NovaSeq 6000 v3.8) step.

  • Resets the Total Sample Volume (ul) and Number of Samples in Pool field values so that the automation is idempotent.

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

    Number of Lanes to Sequence

    Numeric

    Required Field

    • Decimal places displayed = 0

    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 = 0

    • Default

      • 0

    Checks that the container type selected matches the value in the Flowcell Type field.
  • Registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics:

    This automation is used only for CLPA support.

  • Tris-HCl Volume (ul)

  • DPX1 Volume (ul)

  • DPX2 Volume (ul)

  • DPX3 Volume (ul)

  • Mastermix per Lane (ul)

  • The automation also completes the following actions:

    • Copies the Flowcell Type and Loading Workflow Type values from the step inputs to the step outputs.

    • Uses the NovaSeq_Xp_Working_Pool.csv and NovaSeq_Xp_Working_Pool2.csv template files to generate a single CSV file. This file contains information about the DPX volume and the volume of BP Aliquot, Mastermix, NaOH, and Tris-HCI to add per working pool. The generated file is available for download on the Step Setup screen of the Load to Flowcell (NovaSeq 6000 v3.8) step.

    Mastermix per Lane (ul)

    Numeric

    Read Only

    Decimal places displayed = 0

    NaOH Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    Tris-HCl Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    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.

  • Registers the start time of the step by publishing messages to CLPA through Illumina Connected Analytics:

    This automation is used only for CLPA support.

  • 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):

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

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

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

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

    • Validates Analysis Software Version to make sure it is a valid version string.

    • Checks Override Cycles field value. This value can contain only Y, N, I, U, 0–9, and semicolon characters.

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

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

    Experiment Name

    Text

    • Required Field

    • Not applicable

    Index Read 1

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–20

    • Decimal places displayed = 0

    • Presets

    Index Read 2

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–20

    • Decimal places displayed = 0

    • Presets

    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

    Read 2 Cycle

    Numeric Dropdown

    • Required Field

    • Custom Entries

    • Range = 0–251

    • Decimal places displayed = 0

    • Presets

    Reverse Complement Workflow

    Toggle Switch

    • Required Field

    • Default

      • Yes

    Run Mode

    ℹ Not displayed in user interface

    Text Dropdown

    • Read Only

    • Presets

      • SP

      • S1

    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

    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.

    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.

  • 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

  • % 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

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

  • 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

    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

    • 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

      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

      informs the NovaSeq 6000 of the failure.

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

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

  • 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

    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.

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

    The multiline Sequencing Log master step field is updated.
  • A success message is recorded in the log file at the info level:

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

  • The multiline Sequencing Log master step field is updated.
  • A failure message is recorded in the log file at the error level:

  • The step is left at the Record Details screen.

  • The multiline Sequencing Log master step field is updated.
  • The following message is recorded in the log file, at the warning level:

  • The step is left at the Record Details screen.

  • configure_sequencer_api_proxy.sh
  • configure_sequencer_api_application.sh

  • If NGS Extensions Package v5.25.0 or later is already installed, the upgrade is not forced or required.

    /etc/httpd/clarity/

    Proxy setting to communicate with the Clarity LIMS.

    DPX3

  • NaOH

  • Resuspension Buffer (RSB)

  • SBS Cartridge

  • Tris HCl

  • S4

    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

    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.

  • For sample sheet generation constraints, refer to the Bcl2fastq2 Sample Sheet Generation section in Illumina Instrument Sample Sheets (NGS v5.17 & later).

  • Do not manually start the AUTOMATED - 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.

  • 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

    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

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    % PhiX (2.5 nM) Spike-In

    Numeric

    • Range = 0–100

    Bulk Pool Volume (ul)

    ℹ For calculation purposes, not displayed

    Numeric

    • Decimal places displayed = 2

    Number of Flowcells to Sequence

    Numeric

    Required Field

    • Range = 1–10

    • Decimal places displayed = 0

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    Flowcell Type

    Text Dropdown

    Required Field

    Presets

    • SP

    • S1

    • S2

    • S4

    Loading Workflow Type

    Text Dropdown

    Required Field

    Presets

    • NovaSeq Standard

    • NovaSeq Xp

    • [Remove from workflow]

    NaOH Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    Analysis Software Version

    Text

    BaseSpace Sequence Hub Configuration

    Text Dropdown

    • Required Field

    • Presets

      • Not Used

      • Run Monitoring Only

      • Run Monitoring and Storage

    Custom Recipe Path

    Text

    • Not applicable

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    Flowcell Type

    Text Dropdown

    Required Field

    Presets

    • SP

    • S1

    • S2

    • S4

    Loading Workflow Type

    Text Dropdown

    Required Field

    Presets

    • NovaSeq Standard

    • NovaSeq Xp

    • [Remove from workflow]

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    % PhiX (0.25nM) Spike-in

    Numeric

    • Range = 0–100

    Bulk Pool Volume (ul)

    ℹ For calculation purposes, not displayed

    Numeric

    • Decimal places displayed = 2

    Minimum Per Sample Volume (ul)

    Numeric

    Required Field

    • Decimal places displayed = 2

    • Default

      • 5

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    RSB Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 2

    Flowcell Type

    Text Dropdown

    Required Field

    Presets

    • SP

    • S1

    • S2

    • S4

    Loading Workflow Type

    Text Dropdown

    Required Field

    Presets

    • NovaSeq Standard

    • NovaSeq Xp

    • [Remove from workflow]

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    DPX1 Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 0

    DPX2 Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 0

    DPX3 Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 0

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    BP Aliquot Volume (ul)

    Numeric

    Read Only

    Decimal places displayed = 0

    Flowcell Type

    Text Dropdown

    Required Field

    Presets

    • SP

    • S1

    • S2

    • S4

    Loading Workflow Type

    Text Dropdown

    Required Field

    Presets

    • NovaSeq Standard

    • NovaSeq Xp

    • [Remove from workflow]

    Field Name

    Field Type

    Options

    Additional Options and Dropdown Items

    Analysis Software Version

    Text

    • 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

    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]

    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.

    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.

    NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting
    Clarity LIMS (Clarity & LabLink Reference Guide) documentation
    Clarity LIMS (Clarity & LabLink Reference Guide) documentation
    NovaSeq 6000 Integration v3.7.0 User Interaction, Validation and Troubleshooting
    NovaSeq 6000 Integration v3.7.0 Release Notes
    Integration Properties Details

    sequencer-api.conf

    if (!input.hasValue(::Normalized Molarity (nM)::)) {
        fail(::The Normalized Molarity cannot be empty.::) ;
    }
    else if (input.::Normalized Molarity (nM):: < input.::Minimum Molarity (nM)::) {
        input.::Warning:: = ::The Normalized Molarity is too low.:: ; 
        input.::Loading Workflow Type:: = ::[Remove from workflow]:: ; }
    else { input.::Warning:: = ::not applicable:: }
    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'"
    input.::Per Sample Volume (ul):: = ( ( (input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM):: ) * step.::Bulk Pool Volume (ul):: ) / step.::Number of Samples in Pool::
    step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::
    if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0}
    else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;
    output.::Flowcell Type:: = input.::Flowcell Type:: ;
    output.::Loading Workflow Type:: = input.::Loading Workflow Type:: ;
    if ( input.::Flowcell Type:: == ::SP:: ) { output.::Volume of Pool to Denature (ul):: = 100 ; output.::NaOH Volume (ul):: = 25 ; output.::Tris-HCl Volume (ul):: = 25 } ;
    if ( input.::Flowcell Type:: == ::S1:: ) { output.::Volume of Pool to Denature (ul):: = 100 ; output.::NaOH Volume (ul):: = 25 ; output.::Tris-HCl Volume (ul):: = 25 } ;
    if ( input.::Flowcell Type:: == ::S2:: ) { output.::Volume of Pool to Denature (ul):: = 150 ; output.::NaOH Volume (ul):: = 37 ; output.::Tris-HCl Volume (ul):: = 38 } ;
    if ( input.::Flowcell Type:: == ::S4:: ) { output.::Volume of Pool to Denature (ul):: = 310 ; output.::NaOH Volume (ul):: = 77 ; output.::Tris-HCl Volume (ul):: = 78 }
    && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool1.csv \
    -o 1.csv \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool2.csv \
    -o 2.csv \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Standard_Bulk_Pool3.csv \
    -o 3.csv \
    && cat 1.csv 2.csv 3.csv > {compoundOutputFileLuid0}.csv
    step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: - 1;
    step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: - input.::Adjusted Per Sample Volume (ul)::
    step.::Run Mode:: = input.::Flowcell Type::
    input.::Per Sample Volume (ul)::= (((input.::Final Loading Concentration (pM)::* 5/ 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::
    step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::
    if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0} else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;
    output.::Flowcell Type::= input.::Flowcell Type::;output.::Loading Workflow Type::= input.::Loading Workflow Type::;
    && /opt/gls/clarity/bin/java \-jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar \
    -i {stepURI:v2} \
    -u {username} \
    -p {password} \
    -l {compoundOutputFileLuid1} \ script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Bulk_Pool.csv \
    -o {compoundOutputFileLuid0}.csv \ script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Bulk_Pool2.csv \
    -o append.csv \
    && cat append.csv >> {compoundOutputFileLuid0}.csv"
    step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: - 1;
    step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: - input.::Adjusted Per Sample Volume (ul)::
    /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'
    output.::Flowcell Type::= input.::Flowcell Type::;
    output.::Loading Workflow Type::= input.::Loading Workflow Type::;
    /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Working_Pool.csv \
    -o {compoundOutputFileLuid0}.csv \
    script:driver_file_generator \
    -t /opt/gls/clarity/extensions/conf/driverfiletemplates/NovaSeq_Xp_Working_Pool2.csv \
    -o append.csv \
    && cat append.csv >> {compoundOutputFileLuid0}.csv"
    script:validate_flowcell_for_input_pools \
    -i {stepURI:v2} \
    -u {username} \
    -p {password} \
    -l {compoundOutputFileLuid1} \
    -validateSelectedContainer true \
    /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'
    step.::Run Mode:: = input.::Flowcell Type::
    /Illumina/Sequencer/v2/sequencer_login
    /Illumina/Sequencer/v2/sequencer_login/Success
    /Illumina/Sequencer/v2/sequencer_login/Error
    Sequencing run with Run ID {runId} of Step '{step.name}' ({step.limsid}) completed successfully.
    Step '${Step.name}' (${Step.limsid}) failed with Run ID ${runId}.
    "Sequencing run with Run ID ${status.runInfo.runId} of Step '${step.configuration.name}' (${step.limsid}) aborted by user ${status.runInfo.userName}."
    /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'
    nextStep = ::REMOVE::
    /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'
    step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1
    nextStep = ::ADVANCE::
    script:validateSampleCount -min 1 -max 1
    if (!output.container.name.matches(::[A-Z]{2}[0–9]{7}-[A-Z]{3}::)) {
        fail(::Invalid Library Tube Barcode. Verify and try again.::)
    }
    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' \
    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::
    /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'
    step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1
    /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'
    if (input.::Flowcell Type:: == ::SP:: && !output.container.name.matches( ::[A-Z0-9]{5}DR[A-Z0-9]{2}:: ) ) {
        fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
    };
    if (input.::Flowcell Type:: == ::S1:: && !output.container.name.matches( ::[A-Z0-9]{5}DR[A-Z0-9]{2}:: ) ) {
        fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
    };
    if (input.::Flowcell Type:: == ::S2:: && !output.container.name.matches( ::[A-Z0-9]{5}DM[A-Z0-9]{2}:: ) ) {
        fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
    };
    if (input.::Flowcell Type:: == ::S4:: && !output.container.name.matches( ::[A-Z0-9]{5}DS[A-Z0-9]{2}:: ) ) {
        fail ( ::Invalid Flowcell Barcode. Please verify and try again.:: )
    };
    /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'
    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::
    bash -l -c "/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/novaseq6000/novaseq_seqrun_completed.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 {compoundOutputFileLuid0} -s 'com/illumina/upa/scripts/common/step_completed.groovy'"
    {
        "run_name": "NVCS16027_SPrime_2x250",
        "run_mode": "S4",
        "workflow_type": "DualIndex",
        "librarytube_id": "NV0025867-LIB",
        "flowcell_id": "",
        "sample_loading_type": "NovaSeqStandard",
        "rehyb": false,
        "paired_end": true,
        "read1": 151,
        "read2": 151,
        "index_read1": 8,
        "index_read2": 8,
        "output_folder": "\\\\network_path\\run_data",
        "samplesheet": "",
        "require_samplesheet_authentication": true,
        "usecustomrecipe": false,
        "customRecipe": null,
        "use_basespace": false,
        "basespace_mode": null,
        "use_custom_read1_primer": false,
        "use_custom_read2_primer": false,
        "use_custom_index_read1_primer": false
    }
    input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000
    /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"
    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):: = ::::
    };
    /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'
    /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'
    output.::Flowcell Type:: = input.::Flowcell Type:: ;
    output.::Loading Workflow Type:: = input.::Loading Workflow Type::
    /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'
    /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"
    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):: = ::::;
    };
    output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::
    /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'
    script:validate_flowcell_for_input_pools \
    -i {stepURI:v2} \
    -u {username} \
    -p {password} \
    -l {compoundOutputFileLuid1}" \
    if ( input.::Flowcell Type:: == ::SP:: ) {
        output.::BP Aliquot Volume (ul):: = 18 ;
        output.::NaOH Volume (ul):: = 4;
        output.::Tris-HCl Volume (ul):: = 5;
        step.::DPX1 Volume (ul):: = 126 ;
        step.::DPX2 Volume (ul):: = 18 ;
        step.::DPX3 Volume (ul):: = 66 ;
        output.::Mastermix per Lane (ul):: = 63
    };
    if (input.::Flowcell Type:: == ::S1::) {
        output.::BP Aliquot Volume (ul):: = 18;
        output.::NaOH Volume (ul):: = 4;
        output.::Tris-HCl Volume (ul):: = 5;
        step.::DPX1 Volume (ul):: = 126;
        step.::DPX2 Volume (ul):: = 18;
        step.::DPX3 Volume (ul):: = 66;
        output.::Mastermix per Lane (ul):: = 63
    };
    if (input.::Flowcell Type:: == ::S2::) {
        output.::BP Aliquot Volume (ul):: = 22;
        output.::NaOH Volume (ul):: = 5;
        output.::Tris-HCl Volume (ul):: = 6;
        step.::DPX1 Volume (ul):: = 126;
        step.::DPX2 Volume (ul):: = 18;
        step.::DPX3 Volume (ul):: = 66;
        output.::Mastermix per Lane (ul):: = 77
    };
    if (input.::Flowcell Type:: == ::S4::) {
        output.::BP Aliquot Volume (ul):: = 30;
        output.::NaOH Volume (ul):: = 7;
        output.::Tris-HCl Volume (ul):: = 8;
        step.::DPX1 Volume (ul):: = 315;
        step.::DPX2 Volume (ul):: = 45;
        step.::DPX3 Volume (ul):: = 165;
        output.::Mastermix per Lane (ul):: = 105
    };
    output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::
    output.::Flowcell Type:: = input.::Flowcell Type:: ;
    output.::Loading Workflow Type:: = input.::Loading Workflow Type::
    bash -l -c "/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' && /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/novaseq6000/register_novaseq_run.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 {compoundOutputFileLuid0} -s 'com/illumina/upa/scripts/novaseq6000/novaseq_associate_seqrun.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 {compoundOutputFileLuid0} -s 'com/illumina/upa/scripts/novaseq6000/novaseq_seqrun_started.groovy'"
    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 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.

  • Expiry — Expiry date in request
  • Status — Active

  • [Remove from workflow]
    0
  • 6

  • 8

  • 0
  • 6

  • 8

  • 251
  • 151

  • 101

  • 51

  • ℹ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.

    251
  • 151

  • 101

  • 51

  • ℹ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.

    S2
  • S4

  • Dual Index
  • Custom

  • 0
  • 6

  • 8

  • 0
  • 6

  • 8

  • 251
  • 151

  • 101

  • 51

  • ℹ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.

    251
  • 151

  • 101

  • 51

  • ℹ Value of 251 is only supported for SP flow cell type. For all other cell types, maximum value is 151.

    S2
  • S4

  • Dual Index
  • Custom

  • Sample Sheet Generation
    Sample Sheet Generation
    Components Installed
    Components Installed
    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.::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::)
    };
    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::
    && 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}"
    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(::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::
    && 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}"
    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(::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.::)
    };