Validate Unique Indexes

The Clarity LIMS NGS Extensions Package v5.14 and later includes the validateUniqueIndexes script. When defining a batch of samples for library prep, this script ensures that the resulting batch will be valid for later workflow steps - such as pooling or sample sheet generation.

This section provides details on the script, its parameters, and LIMS configuration requirements.

Script Overview

The validateUniqueIndexes script checks that the reagent labels (referred to as reagent types in LIMS v4.x and earlier) attached to the input samples have distinct index sequences.

By default, validation will fail:

  • If input samples have the same reagent labels.

  • If input samples have reagent labels with different names but the same index sequence.

  • If the Ice Bucket contains more than one unindexed sample (see Rules & Constraints).

  • If any input sample is a pool (see Pool Types). You can change this behavior using the -allowPools command-line option (see Script Parameters).

  • If pools are allowed, they will be validated like other input samples.

  • Every index sequence applied to step inputs in the pool will be considered when checking for duplicated sequences (see Rules & Constraints).

Pool Types

An input is considered to be a pool if it contains multiple submitted samples and/or multiple reagent labels. A typical pool comprises multiple submitted samples and multiple labels; however, the following less common, and more complex, use cases are also supported.

A submitted pool

  • This has one submitted sample, but multiple labels - therefore it is considered a pool.

Multiple submitted samples pooled together without labels

  • This has multiple submitted samples - therefore it is considered a pool.

A single submitted sample with replicates recombined back into a pool

  • If the recombination is done with adding labels to the replicates, it is considered a pool.

  • If the recombination is done without adding labels, it is not considered a pool.

Script Parameters

Command Line Example

Example 1
bash -c "/opt/gls/clarity/bin/java -jar \
/opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
-i {stepURI:v2:http} \
-u {username} \
-p {password} \
script:validateUniqueIndexes"

Note that this command line also uses the Sample Placement Helper script (PlacementHelper.jar), included in the Lab Instrument Toolkit.

Example 2
bash -c "/opt/gls/clarity/bin/java -jar \
/opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar \
-i {stepURI:v2:http} -u {username} -p {password} \
script:validateUniqueIndexes -allowPools true"

Configuration

The validateUniqueIndexes script is intended to run when the user selects the Begin Work button on the Ice Bucket screen and starts the step.

To achieve this, configure the automation trigger as follows:

  • Trigger Location: Step

  • Trigger Style: Automatic upon entry / exit

Rules and Constraints

  • Each reagent label name must be unique. The label name is only used to look up the corresponding index sequence in the API. However, if two or more label groups (referred to as reagent categories in LIMS v4.x and earlier) contain labels with the same name, the LIMS will not be able to distinguish between them and the validation script will fail.

  • The script does not look upstream for labels - it only looks at the labels currently applied to the step inputs.

  • The Ice Bucket may include one input sample with no index assigned, therefore allowing a PhiX or similar control to be included in the pool (a control will typically have no label - this scenario is supported and the validation script will run without error).

    For LIMS v4.x and earlier, this also applies to samples with a reagent type that is not an index. Note, however, that in any scenario, the label must exist as a reagent type in the LIMS. If you add a label to an input, and the label does not have a corresponding reagent type, the validation script will fail. See note below.

Last updated