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
Parameter
Description
-u {username} -username {username}
(Required) LIMS login username
-p {password} -password {password}
(Required) LIMS login password
-i {stepURI:v2} -stepURI {stepURI:v2}
(Required) LIMS step URI
-allowPools <true/false>
(Optional) Default is false. When provided and set to true, the script will allow pools as inputs to the step. By default, validation will fail if any input contains multiple submitted samples or multiple reagent labels.
Command Line Example
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.
ℹ️ In LIMS v4.x and earlier, a reagent type may not be an index type. In this case, it will have a label and a corresponding reagent type, but no sequence value. This scenario is supported and the reagent type is treated as non-indexed. It is also possible, via the API, to add labels arbitrarily to samples, without those labels having a corresponding reagent type - this scenario is not supported.
Last updated