IGA Library Prep Automated v2.0
Illumina Genomics Architecture (IGA) Library Prep Automated v2.0 contains preset protocols that support the preparation of samples and libraries used for sequencing. These protocols can be used with the IGA NovaSeq Sequencing v2.0 workflow and NextSeq 1000/2000 v2.3 workflow (which is installed separately). They also provide the following functions:
• | File-based integration with the Hamilton robots that are used for liquid handling steps. |
• | Automated calculation of sample and buffer volumes. |
• | Automated calculation or display of reagents. |
• | When required, automatic step transition. |
IGA Library Prep Automated v2.0 includes the following protocols:
• | Protocol 1: Sample Selection |
• | Protocol 2: Sample Plating |
• | Protocol 3: Blood Extraction |
• | Protocol 4: Saliva Extraction |
• | Protocol 5: Illumina DNA PCR-Free |
• | Protocol 6: Illumina DNA with Enrichment |
• | Protocol 7: Sequencing Platform Selection |
Protocol 1: Sample Selection

Master Step: Select Samples
Step Type = No Outputs
Outputs = None
Derived Sample Generation = Not applicable
Naming Convention = Not applicable
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting Illumina Universal Sample Identifier |
|
Expanded Field Views |
Units Sample Conc. |
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
|
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Library Prep Method |
Text Dropdown |
Required Field Inherited from master step. Presets
|
|||||||||
|
IGA WF Build Version |
Text |
Read Only Inherited from master step. Default
|
||||||||||
Multiline Text Fields |
Quick reference checklist: Sample Selection |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||||||
Step File Placeholders |
|
File Name |
Set Library Prep Method Script |
Auto Configured on master step. |
|||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Library Prep Method |
Text |
Inherited from master step. |
|||||||||||
Units |
Text |
Inherited from master step. |
|||||||||||
Sample Conc. |
Numeric |
Inherited from master step. Decimal places displayed = 2 |
|||||||||||
|
Submitted Sample Type |
Text |
Read Only Inherited from master step. |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Sample Selection - Route Plated gDNA |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
|
|
Command line bash -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (submittedSample.::Sample Type:: == ::Genomic DNA::) {if (input.container.node.type[0].@name == ::96 well plate:: && step.::Library Prep Method:: == ::Illumina DNA PCR-Free:: ) {input.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA PCR-Free::} ; if (input.container.node.type[0].@name == ::96 well plate:: && step.::Library Prep Method:: == ::Illumina DNA with Enrichment::) {input.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA with Enrichment::}}' -log {compoundOutputFileLuid0} && /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 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'INPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ - -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'" |
|
Sample Selection - Set Library Prep Method and Next Steps |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'submittedSample.::Library Prep Method:: = step.::Library Prep Method::' -log {compoundOutputFileLuid0} && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (submittedSample.::Sample Type:: == ::Genomic DNA:: && input.container.node.type[0].@name == ::96 well plate::) {nextStep = ::REMOVE::} else nextStep = ::ADVANCE::' -log {compoundOutputFileLuid0}" |
|||
Validate Sample Attributes |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
|
|
Command line bash -l -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} -t false -h false script:evaluateDynamicExpression \ -exp 'if (! submittedSample.hasValue(::Sample Type::)) { \ fail(::Sample Type must be non-empty. Please update :: + submittedSample.::name::); \ }; \ acceptedSampleTypes = [::Genomic DNA::, ::Saliva::, ::Blood::]; \ if (! acceptedSampleTypes.contains(submittedSample.::Sample Type::)) { \ fail(::Invalid Sample Type found for :: + submittedSample.::name:: + ::. Must be one of :: + acceptedSampleTypes.join(::, ::)); \ }; \ if (! submittedSample.hasValue(::Submitted Sample Labware Type::)) { \ fail(::Submitted Sample Labware Type must be non-empty. Please update :: + submittedSample.::name::); \ }; \ acceptedSampleLabwareTypes = [::gDNA::, ::Saliva::, ::Blood1.3::, ::Blood2.7::, ::Blood7.5::, ::Blood10::]; \ if (! acceptedSampleLabwareTypes.contains (submittedSample.::Submitted Sample Labware Type::)) { \ fail(::Invalid Submitted Sample Labware Type found for :: + submittedSample.::name:: + ::. Must be one of :: + acceptedSampleLabwareTypes.join(::, ::)); \ }; \ if (! submittedSample.hasValue(::Units::)) { \ fail(::Units must be non-empty. Please update :: + submittedSample.::name::); \ }; \ if (submittedSample.::Sample Type:: == ::Genomic DNA:: && ! submittedSample.hasValue(::Sample Conc.::)) { \ fail(::Sample Conc. must be non-empty for Genomic DNA samples. Please update :: + submittedSample.::name::); \ };' -log {compoundOutputFileLuid0} && \ /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/register_sample.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_started.groovy'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow
Protocol 2: Sample Plating

Master Step: Plate Samples
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Variable
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Type Sequencing Method Submitted Sample Name Library Prep Method Waiting |
|
Expanded View Fields |
Date Submitted Sample Category |
Group |
Setting |
Table Position |
---|---|---|
Sample Table |
Column Headers |
Submitted Sample Name Sample Type Sequencing Method Library Prep Method |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
|
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Step Sample Type |
Text |
Read Only Inherited from master step. |
|||||||||
|
Liquid Handling Instrument ID |
Text |
Read Only Inherited from master step. |
||||||||||
|
Multiline Text Fields |
Quick reference checklist: Sample Plating i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: Sample Plating i) post-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||||
Step File Placeholders |
File Name |
Liquid Handler Input File |
Auto Configured on master step. |
||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handler Output File |
Manual Configured on master step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
|
Sample Type |
Text |
|
||||||||||
Submitted Sample Type |
Text |
Read Only |
|||||||||||
|
Container Name |
Built_In |
|
||||||||||
|
Well |
Built_In |
|
||||||||||
Transfer Volume (µl) |
Numeric |
|
|||||||||||
Submitted Sample Labware Type |
Text |
|
|||||||||||
LIMS ID (Container) |
Built_In |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Placement Reminder |
Trigger Location |
Placement Trigger |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/iga_helpers/pop_up_ msg.py -s {stepURI} -u {username} -p {password} -w 'OK' -- message 'Please place all samples starting from position A:1, do not leave any gaps.'" |
|||
Sample Plating & Extraction - Validate Single Sample Type and Library Prep Method |
Trigger Location |
Step Trigger |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (!step.hasValue(::Step Sample Type::)) {step.::Step Sample Type:: = submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]::} else {if ( step.::Step Sample Type:: != submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]:: ) { fail (::Samples must be of the same type and marked for same library prep method::) }}' \ -log {compoundOutputFileLuid1} \ && /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'" |
|||
Sample Plating - Hamilton Output Plate Barcode Check, Store Instrument ID & Set Next Steps to Remove from Workflow before Custom Routing |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/01_CFP_Batching_confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar \ -i {stepURI} \ -u {username} \ -p {password} \ script:evaluateDynamicExpression \ -t false \ -h false \ -exp 'nextStep = ::REMOVE:: ' \ -log {compoundOutputFileLuid1}" |
|||
Sample Plating - Route Samples |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (submittedSample.::Library Prep Method::.toLowerCase().contains(::enrichment::)) {output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA with Enrichment:: } else if (submittedSample.::Library Prep Method::.contains(::PCR-Free::)) {output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA PCR-Free::}' \ -log {compoundOutputFileLuid1} \ && /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 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Extraction - Blood (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Extraction - Saliva (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Extraction - Blood (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Extraction - Saliva (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ && /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'" |
|||
Sample Plating - Sample Placement SAM Plate Barcode Uniqueness Check |
Trigger Location |
Placement
|
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression -exp 'if ( !output.container.name.matches( ::LP[0-9]{7}-SAM:: ) ) {fail ( ::Invalid SAM Plate Barcode format. This plate ID must be in the format LPxxxxxxx-SAM, where 'x' is a digit 0-9, e.g. LP1234567-SAM. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/01_A_CFP_Batching_ defaultContainerCheck.py -u {username} -p {password} -s {stepURI} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/validate_sample_placement.py -u {username} -p {password} -s {stepURI}" |
|||
Sample Plating - Set Transfer Volume & Create Liquid Handler Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (submittedSample.::Sample Type:: == ::Blood::) {output.::Transfer Volume (ul):: = 30} ; if (submittedSample.::Sample Type:: == ::Saliva::) {output.::Transfer Volume (ul):: = 60}; if (submittedSample.::Sample Type:: == ::Genomic DNA::) {output.::Transfer Volume (ul):: = 45}' \ -log {compoundOutputFileLuid1} && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/PlatingInputFile_ template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
Setting |
Value |
---|---|
Start Next Step |
Automatic |
Assign Next Step |
Automatic |
End of Workflow
Protocol 3: Blood Extraction

Master Step: DNA Extraction - Blood
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Submitted Sample Name Sample Type Library Prep Method Sequencing Method Waiting |
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Type Submitted Sample Name Library Prep Method Waiting |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
MLB |
Text |
Inherited from master step. |
|||||||||
|
ProK |
Text |
Inherited from master step. |
||||||||||
ITB |
Text |
Inherited from master step. |
|||||||||||
RSB |
Text |
Inherited from master step. |
|||||||||||
Ethanol |
Text |
Inherited from master step. |
|||||||||||
Step Sample Type |
Text |
Read Only Inherited from master step. |
|||||||||||
Sample Count |
Numeric |
Read Only Inherited from master step. Default
|
|||||||||||
Liquid Handling Instrument ID |
Text |
Read Only Inherited from master step. |
|||||||||||
|
Multiline Text Fields |
Quick reference checklist: DNA Extraction - Blood i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: DNA Extraction - Blood ii) post-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||||
Step File Placeholders |
Liquid Handling Robot Input File |
Auto Configured on master step. |
|||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handling Robot Output File |
Manual Configured on step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Library Prep Method |
Text |
Inherited from master step. |
|||||||||||
Submitted Sample Type |
Text |
Read Only Configured on step. |
|||||||||||
Container Name |
Built_In |
||||||||||||
|
Well |
Built_In |
|||||||||||
LIMS ID (Container) |
Built_In |
||||||||||||
Project Name |
Built_In |
||||||||||||
Container |
Built_In |
Automation Name |
Setting |
Value |
Command Line |
---|---|---|---|
Extraction - Check LH Output File Barcode & Parse Reagent Info & Check for Missing Barcodes & Set Next Steps to Remove from Workflow |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/01_CFP_Batching_confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' \ && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/02_ReagentParsing.py -u {username} - p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/reagent_parsing/fieldmap_extraction.csv \ && \ /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:evaluateDynamicExpression \ -t false \ -h false \ -exp ' if (!step.hasValue (::MLB::) || !step.hasValue (::ProK::)) { fail(::Please scan barcodes for MLB and ProK before proceeding.::) } ; if (submittedSample.::Sample Type:: == ::Blood:: || submittedSample.::Sample Type:: == ::Saliva::) { nextStep = ::REMOVE:: }' \ -log {compoundOutputFileLuid1}" |
|||
Extraction - Count Samples & Create LH Input File |
Trigger Location |
Record Details |
|
Extraction - Count Samples & Create LH Input File |
Trigger Style |
Automatic upon entry |
|
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/templatefiles/ExtractionInputFile_template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
Extraction - Routing |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (submittedSample.::Library Prep Method::.toLowerCase().contains(::enrichment::)) { output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA with Enrichment:: } else if (submittedSample.::Library Prep Method::.contains(::PCR- Free::)) {output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA PCR- Free::}' \ -log {compoundOutputFileLuid1} \ && /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 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ && /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'" |
|||
Extraction - Sample Placement EDP Plate Barcode Uniqueness Check |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression -exp 'if ( !output.container.name.matches( ::LP[0-9]{7}-EDP:: ) ) {fail ( ::Update: Invalid EDP (Extracted DNA Plate) barcode format. This plate ID must be in the format LPxxxxxxx-EDP, where 'x' is a digit 0-9, e.g. LP1234567-EDP. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/01_A_CFP_Batching_ defaultContainerCheck.py -u {username} -p {password} -s {stepURI}" |
|||
Sample Plating & Extraction - Validate Single Sample Type and Library Prep Method |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (!step.hasValue(::Step Sample Type::)) {step.::Step Sample Type:: = submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]::} else {if ( step.::Step Sample Type:: != submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]:: ) { fail (::Samples must be of the same type and marked for same library prep method::) }}' \ -log {compoundOutputFileLuid1} \ && /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'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow
Protocol 4: Saliva Extraction

Master Step: DNA Extraction - Saliva
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Submitted Sample Name Sample Type Sequencing Method Library Prep Method Waiting |
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Submitted Sample Name Sample Type Library Prep Method |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
MLB |
Text |
||||||||||
|
ProK |
Text |
|||||||||||
ITB |
Text |
||||||||||||
RSB |
Text |
||||||||||||
Ethanol |
Text |
||||||||||||
Step Sample Type |
Text |
Read Only |
|||||||||||
Sample Count |
Numeric |
Read Only Default
|
|||||||||||
Liquid Handling Instrument ID |
Text |
Read Only |
|||||||||||
|
Multiline Text Fields |
Quick reference checklist: DNA Extraction - Saliva i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: DNA Extraction - Saliva ii) post-Liquid Handler |
Multiline Text |
Read Only Default
|
|||||||||||
Step File Placeholders |
Liquid Handling Robot Input File |
Auto Configured on master step. |
|||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handling Robot Output File |
Manual Configured on step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Library Prep Method |
Text |
Inherited from master step. |
|||||||||||
Submitted Sample Type |
Text |
Read Only Configured on step. |
|||||||||||
Container Name |
Built_In |
||||||||||||
|
Well |
Built_In |
|||||||||||
LIMS ID (Container) |
Built_In |
||||||||||||
Project Name |
Built_In |
||||||||||||
Container |
Built_In |
Automation Name |
Setting |
Value |
Command Line |
---|---|---|---|
Extraction - Check LH Output File Barcode & Parse Reagent Info & Check for Missing Barcodes & Set Next Steps to Remove from Workflow |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/01_CFP_Batching_confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' \ && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_ prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/reagent_parsing/fieldmap_extraction.csv \ && \ /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:evaluateDynamicExpression \ -t false \ -h false \ -exp ' if (!step.hasValue (::MLB::) || !step.hasValue (::ProK::)) { fail(::Please scan barcodes for MLB and ProK before proceeding.::) } ; if (submittedSample.::Sample Type:: == ::Blood:: || submittedSample.::Sample Type:: == ::Saliva::) { nextStep = ::REMOVE:: }' \ -log {compoundOutputFileLuid1}" |
|||
Extraction - Count Samples & Create LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/ExtractionInputFile_template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
Extraction - Routing |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (submittedSample.::Library Prep Method::.toLowerCase().contains(::enrichment::)) { output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA with Enrichment:: } else if (submittedSample.::Library Prep Method::.contains(::PCR- Free::)) {output.::Submitted Sample Type:: = submittedSample.::Sample Type:: + ::_Illumina DNA PCR- Free::}' \ -log {compoundOutputFileLuid1} \ && /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 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA PCR-Free' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching PCR-Free (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ \ --FIELD_NAME 'Submitted Sample Type' \ --FIELD_VALUE 'Genomic DNA_Illumina DNA with Enrichment' \ --WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.0' \ --STEP 'DNA Batching with Enrichment (IGA v2.0)' \ --INPUTS_OR_OUTPUTS 'OUTPUTS' \ && /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'" |
|||
Extraction - Sample Placement EDP Plate Barcode Uniqueness Check |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression -exp 'if ( !output.container.name.matches( ::LP[0-9]{7}-EDP:: ) ) {fail ( ::Update: Invalid EDP (Extracted DNA Plate) barcode format. This plate ID must be in the format LPxxxxxxx-EDP, where 'x' is a digit 0-9, e.g. LP1234567-EDP. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/01_A_CFP_Batching_ defaultContainerCheck.py -u {username} -p {password} -s {stepURI}" |
|||
Sample Plating & Extraction - Validate Single Sample Type and Library Prep Method |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (!step.hasValue(::Step Sample Type::)) {step.::Step Sample Type:: = submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]::} else {if ( step.::Step Sample Type:: != submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::]:: ) { fail (::Samples must be of the same type and marked for same library prep method::) }}' \ -log {compoundOutputFileLuid1} \ && /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'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow
Protocol 5: Illumina DNA PCR-Free

Master Step: DNA Batching PCR-Free
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name Sample Type Library Prep Method LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Batching Well Volume (µl) |
Numeric |
Required Field Inherited from master step. Default
|
|||||||||
|
DNA (ng) required for tagmentation |
Numeric |
Required Field Inherited from master step. Default
|
||||||||||
Liquid Handling Instrument ID |
Text |
Read Only Inherited from master step. |
|||||||||||
|
Multiline Text Fields |
Notes |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: DNA Batching IDPF i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||||
Quick reference checklist: DNA Batching IDPF ii) post-Liquid Handler |
Multiline Text |
Read Only Default
|
|||||||||||
Step File Placeholders |
File Name |
Liquid Handling Robot Input File |
Auto Configured on master step. |
||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handling Robot Output File |
Manual Configured on step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Sample Needed (µl) |
Numeric |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Diluent Volume (µl) |
Numeric |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Warnings |
Text |
Read Only Inherited from master step. |
|||||||||||
|
LIMS ID (Container) |
Built_In |
|||||||||||
Project Name |
Built_In |
||||||||||||
Well |
Built_In |
||||||||||||
Container Name |
Built_In |
||||||||||||
|
Initial Input DNA (ng) |
Numeric |
|
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
DNA Batching - Check LH Output File Barcode, Store Instrument ID, Set Next Steps to Advance |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}" |
|||
DNA Batching - Sample Placement DNA Plate Barcode Uniqueness Check |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/ExtractionInputFile_ template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
DNA Batching PF - Generate LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'output.::Warnings:: = :::: ; if ( submittedSample.hasValue (::Sample Conc.::) ) { output.::Sample Needed (uL):: = (step.::DNA (ng) required for tagmentation:: * step.::Batching Well Volume (uL)::) / (25 * submittedSample.::Sample Conc.::) ; \ if ( output.::Sample Needed (uL):: > step.::Batching Well Volume (uL):: ) { output.::Sample Needed (uL):: = step.::Batching Well Volume (uL):: ; output.::Warnings:: = ::Low concentration - Sample Vol set to total volume::} ; if (output.::Sample Needed (uL):: < 2.0 ) { output.::Sample Needed (uL):: = 2.0 ; output.::Warnings:: = ::High concentration - Sample Vol set to 2ul:: } ; output.::Diluent Volume (uL):: = step.::Batching Well Volume (uL):: - output.::Sample Needed (uL):: ; output.::Initial Input DNA (ng):: = output.::Sample Needed (uL):: * submittedSample.::Sample Conc.::} \ else \ {output.::Sample Needed (uL):: = 40 ; output.::Warnings:: = ::No Sample Conc. provided, setting Sample vol. to 40ul:: ; output.::Diluent Volume (uL):: = 0}; if (submittedSample.::Sample Type:: == ::Blood:: || submittedSample.::Sample Type:: == ::Saliva::) { output.::Sample Needed (uL):: = step.::Batching Well Volume (uL)::; output.::Diluent Volume (uL):: = 0 }' \ -log {compoundOutputFileLuid1} && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/BatchingInputFile_template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
DNA Batching PF - Set Final Volume and Validate Sample Type Combination |
Trigger Location |
Started |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (submittedSample.::Sample Type:: == ::Genomic DNA::) {step.::Batching Well Volume (uL):: = 40} ; if (submittedSample.::Sample Type:: == ::Blood::) {step.::Batching Well Volume (uL):: = 40} ; if (submittedSample.::Sample Type:: == ::Saliva::) {step.::Batching Well Volume (uL):: = 40}' \ -log {compoundOutputFileLuid1} \ && \ /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:evaluateDynamicExpression \ -t false -h false -exp \ 'String matchTargetGDNA = ::genomic dna:: ; \ String submittedSampleType = submittedSample.::Sample Type:: + :: [:: + submittedSample.::Library Prep Method:: + ::] | :: ; \ if (!step.hasValue(::Step Sample Type::)) { \ step.::Step Sample Type:: = submittedSampleType; \ } else { \ String stepType = step.::Step Sample Type:: ; \ String smpType = submittedSampleType.toLowerCase(); \ stepType = stepType.toLowerCase(); \ if ( (stepType.contains(matchTargetGDNA) && !smpType.contains(matchTargetGDNA)) || (!stepType.contains(matchTargetGDNA) && smpType.contains(matchTargetGDNA)) ) { \ fail(::Genomic DNA samples can only be plated together and not combined with any other sample type!::); \ }; \ if ( (stepType.contains(::blood::) && smpType.contains(::saliva::)) || (stepType.contains(::saliva::) && smpType.contains(::blood::)) ) { \ step.::Step Sample Type:: = ::Blood + Saliva:: + :: [:: + submittedSample.::Library Prep Method:: + ::]:: ; \ }; \ }' \ -log {compoundOutputFileLuid1} \ && /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'" |
|||
Placement Reminder |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/iga_ helpers/pop_up_msg.py -s {stepURI} -u {username} -p {password} -w 'OK' --message 'Please place all samples starting from position A:1, do not leave any gaps.'" |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_completed.groovy'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Index Planning PCR-Free
Step Type = No outputs
Output = None
Derived Sample Generation = Not applicable
Naming Convention = Not applicable
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting Column Headers |
Section |
Subsection |
Setting |
Value |
Specification |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Index Plate Barcode |
Text |
Required Field Inherited from master step. |
||||||||||||
|
Hamilton Indexing Offset Column |
Numeric |
Required Field Inherited from master step. Default
Range = 1.0–12.0 |
|||||||||||||
|
Multiline Text Fields |
Quick reference checklist: Index Planning |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||||||||
Step File Placeholders |
Script Log File (Aggregated) |
|
Manual Configured on step. |
|||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||||||||
Container Name |
Built_In |
|
||||||||||||||
Well |
Built_In |
|
||||||||||||||
LIMS ID (Container) |
Built_In |
|
||||||||||||||
Project Name |
Built_In |
|||||||||||||||
|
INTERNALFIELD_IndexPlanning_Metadata |
Text |
Custom Entries |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Indexing Planning - Validate and Check for Duplicates of Index Plate Barcode, Validate Indexing Offset, and Set Next Steps |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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} -h true script:evaluateDynamicExpression -exp 'if (((96 - (8 * (int)step.::Hamilton Indexing Offset Column::)) + 8) < step.node.::input-output-maps::.::input-output- map::.input.size()) { fail(::The column offset will not yield enough indexes for the number of samples! Please increase the number of available indexes by changing the offset.::) }' -log {compoundOutputFileLuid0} && \ /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} -h true script:evaluateDynamicExpression -exp 'if ( !step.::Index Plate Barcode::.matches( ::[0-9]{8}- [A-Z]+[A-D]{1}$:: ) ) {fail ( ::Invalid Index Plate Barcode. This plate ID must be in the format xxxxxxxx-S* (A/B/C/D), where 'x' is a digit 0-9 and 'S' is a sequence of uppercase letters, followed by 'A', 'B', 'C', or 'D'; e.g. 12345678-NXTA. Please verify and try again.:: ) }' - log {compoundOutputFileLuid0} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_ fast_prep/05_reusedIndexPlateWarning.py -u {username} -p {password} -s {stepURI} -f 'Index Plate Barcode' -v ' {udf:Index Plate Barcode}' -t 'Indexing Planning (IGA v2.0)' && \ /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:evaluateDynamicExpression -exp 'input.::INTERNALFIELD_IndexPlanning_Metadata:: = step.::Index Plate Barcode:: + ::_:: + (int) step.::Hamilton Indexing Offset Column::' -log {compoundOutputFileLuid0} && \ /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:evaluateDynamicExpression -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid0}" |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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_completed.groovy'" |
|||
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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'" |
Setting |
Value |
---|---|
Library Prep - Indexing PCR-Free |
|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Library Prep - Indexing PCR-Free
Step Type = Add labels
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {SubmittedSampleName}
Section |
Subsection |
Value |
---|---|---|
Derived Sample |
Sample Name |
Sample Name INTERNALFIELD_IndexPlanning_Metadata Container Name Well Project Name Waiting |
Add labels to the following label groups:
• | Nextera UDP A |
• | Nextera UDP B |
• | Nextera UDP C |
• | Nextera UDP D |
Section |
Subsection |
Setting |
Value |
Specification |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Sample Count |
Text |
Read Only Inherited from master step. Decimal places displayed = 0 Default
|
||||||||||||
|
TB1 |
Text |
Inherited from master step. |
|||||||||||||
ST2 |
Text |
Inherited from master step. |
||||||||||||||
TWB |
Text |
Inherited from master step. |
||||||||||||||
ELM-T |
Text |
Inherited from master step. |
||||||||||||||
HP3 |
Text |
Inherited from master step. |
||||||||||||||
IPB |
Text |
Inherited from master step. |
||||||||||||||
RSB |
Text |
Inherited from master step. |
||||||||||||||
BLT-PF |
Text |
Inherited from master step. |
||||||||||||||
Library Plate Barcode |
Text |
Required Field Inherited from master step. |
||||||||||||||
Index Plate Barcode |
Text |
Read Only Inherited from master step. Read from input samples. |
||||||||||||||
Index Plate Offset |
Text |
Read Only Inherited from master step. Read from input samples. |
||||||||||||||
Liquid Handler Instrument ID |
Text |
Read Only Inherited from master step. Read from input samples. |
||||||||||||||
Adapter |
Text |
Required Field Read Only Inherited from master step. Default
|
||||||||||||||
Adapter 2 |
Text |
Required Field Read Only Inherited from master step. Default
|
||||||||||||||
|
Multiline Text Fields |
Quick reference checklist: Library Prep IDPF i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||||||||
Quick reference checklist: Library Prep IDPF i) post-Liquid Handler |
Multiline Text |
Read Only Default
|
||||||||||||||
Step File Placeholders |
Liquid Handling Robot Input File |
Auto Configured on master step. |
||||||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
|||||||||||||||
Liquid Handling Robot Output File |
Manual Configured on master step. |
|||||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||||||||
Library Prep Method |
Text |
Inherited from master step. |
||||||||||||||
Normalized Molarity (nM) |
Numeric |
Configured on step. Decimal places displayed = 2 |
||||||||||||||
Container Name |
Built_In |
|||||||||||||||
|
Well |
Built_In |
||||||||||||||
LIMS ID (Container) |
Built_In |
|||||||||||||||
Container |
Built_In |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Indexing - Custom Indexing with Hamilton Offsets and Dynamic Index Category Discovery |
Trigger Location |
Add Labels |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/04_B_ autoAssignIndexesFromIndexPlanning.py -u {username} -p {password} -s {stepURI}" |
|||
Indexing - Validate Index Category and Index Plate Barcode |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/04_A_ checkIndexPlateBarcodeWithCategory.py -u {username} -p {password} -s {stepURI} \ && /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'" |
|||
Library Prep - Indexing PF - Check for Valid, Unique LIB Plate Barcode & Match with Liquid Handler Output File & Parse Reagent Info & Set Next Steps to Remove from Workflow & Quant. Warning |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/reagent_parsing/fieldmap_libprep.csv && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -exp 'nextStep = ::REMOVE::' -log {compoundOutputFileLuid1} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/iga_helpers/pop_up_ msg.py -s {stepURI} -u {username} -p {password} -w 'WARNING' --message 'This protocol recommends performing a pooled quant. (per prep) at this stage. Please quant. and update the Normalized Molarity (nM) across all samples in the table below before proceeding.'" |
|||
Library Prep - Indexing PF - Route Samples to Sequencing Platform Selection with Automatic Workflow Detection |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "bash /opt/gls/clarity/extensions/IGA_ 2.0/iga_workflow_ routing/changeWorkflowScriptNoFieldChecks.sh {username} {password} {stepURI} {compoundOutputFileLuid1} /opt/gls/clarity/extensions/IGA_2.0/iga_workflow_ routing/masterRoutingTable_NFPFtoSeqPlatSelect.csv 'v2.0' \ && /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'" |
|||
Library Prep - Indexing PF - Validate/Copy LibPlate Barcode, Set Default Norm. Mol. if Applicable, and Generate LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' && /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:evaluateDynamicExpression \ -t true \ -h false \ -exp 'if ( !step.hasValue(::Library Plate Barcode::) || !step.::Library Plate Barcode::.matches( ::LP[0-9]{7}- LIB:: ) ) { fail( ::Invalid LIB plate barcode format. This plate ID must be in the format LPxxxxxxx-LIB, where 'x' is a digit 0-9, e.g. LP1234567-LIB. Please scan a valid LIB plate barcode in the Record Details screen.:: ) }; output.container.name = step.::Library Plate Barcode::; tkns = input.::INTERNALFIELD_ IndexPlanning_Metadata::.split(::_::); step.::Index Plate Barcode (read from input samples):: = tkns[0]; step.::Index Plate Offset (read from input samples):: = tkns[1]; if (submittedSample.::Library Prep Method::.contains(::PCR-Free::)) { output.::Normalized Molarity (nM):: = 3.5; }' \ -log {compoundOutputFileLuid1} \ && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_A_CFP_Batching_ defaultContainerCheck.py -u {username} -p {password} - s {stepURI} && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/LibInputFile_NFPF_ template_withoffsets.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow
Protocol 6: Illumina DNA with Enrichment

Master Step: DNA Batching with Enrichment
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}_DNA
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Batching Well Volume (µl) |
Numeric |
Required Field Inherited from master step. Default
|
|||||||||
|
DNA (ng) required for tagmentation |
Numeric |
Required Field Inherited from master step. Default
|
||||||||||
Liquid Handling Instrument ID |
Text |
Read Only Inherited from master step. |
|||||||||||
|
Multiline Text Fields |
Notes |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: DNA Batching IDE i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||||
Quick reference checklist: DNA Batching IDE ii) post-Liquid Handler |
Multiline Text |
Read Only Default
|
|||||||||||
Step File Placeholders |
Liquid Handler Batching Input File |
Auto Configured on the master step. |
|||||||||||
Script Log File (Aggregated) |
Auto Configured on the master step. |
||||||||||||
Liquid Handler Output File |
Manual Configured on the master step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Sample Needed (µl) |
Numeric |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Diluent Volume (µl) |
Numeric |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Warnings |
Text |
Read Only Inherited from master step. |
|||||||||||
|
LIMS ID (Container) |
Built_In |
|||||||||||
Project Name |
Built_In |
||||||||||||
Well |
Built_In |
||||||||||||
Container Name |
Built_In |
||||||||||||
|
Initial Input DNA (ng) |
Numeric |
|
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
DNA Batching - Check LH Output File Barcode, Store Instrument ID, Set Next Steps to Advance |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}" |
|||
DNA Batching - Sample Placement DNA Plate Barcode Uniqueness Check |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' \ && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/ExtractionInputFile_ template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
DNA Batching Enrichment - Set Final Volume |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'step.::Batching Well Volume (uL):: = 45' \ -log {compoundOutputFileLuid1} \ && /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'" |
|||
Placement Reminder |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/iga_ helpers/pop_up_msg.py -s {stepURI} -u {username} -p {password} -w 'OK' --message 'Please place all samples starting from position A:1, do not leave any gaps.'" |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_ completed.groovy'" |
Setting |
Value |
---|---|
Library Prep - Indexing PCR-Free |
|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Index Planning PCR-Free
Step Type = No outputs
Output = None
Derived Sample Generation = Not applicable
Naming Convention = Not applicable
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Setting |
Value |
Specification |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Index Plate Barcode |
Text |
Required Field Inherited from master step. |
||||||||||||
|
Hamilton Indexing Offset Column |
Numeric |
Inherited from master step. Default
Range = 1.0–12.0 |
|||||||||||||
|
Multiline Text Fields |
Quick reference checklist: Index Planning |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||||||||
Step File Placeholders |
Script Log File (Aggregated) |
|
Manual Configured on step. |
|||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||||||||
|
INTERNALFIELD_IndexPlanning_Metadata |
Text |
Custom Entries |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Indexing Planning - Validate and Check for Duplicates of Index Plate Barcode, Validate Indexing Offset, and Set Next Steps |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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} -h true script:evaluateDynamicExpression -exp 'if (((96 - (8 * (int)step.::Hamilton Indexing Offset Column::)) + 8) < step.node.::input-output-maps::.::input-output- map::.input.size()) { fail(::The column offset will not yield enough indexes for the number of samples! Please increase the number of available indexes by changing the offset.::) }' -log {compoundOutputFileLuid0} && \ /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} -h true script:evaluateDynamicExpression -exp 'if ( !step.::Index Plate Barcode::.matches( ::[0-9]{8}-[A-Z]+[A-D]{1}$:: ) ) {fail ( ::Invalid Index Plate Barcode. This plate ID must be in the format xxxxxxxx-S*(A/B/C/D), where 'x' is a digit 0-9 and 'S' is a sequence of uppercase letters, followed by 'A', 'B', 'C', or 'D'; e.g. 12345678-NXTA. Please verify and try again.:: ) }' -log {compoundOutputFileLuid0} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_ fast_prep/05_reusedIndexPlateWarning.py -u {username} -p {password} -s {stepURI} -f 'Index Plate Barcode' -v ' {udf:Index Plate Barcode}' -t 'Indexing Planning (IGA v2.0)' && \ /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:evaluateDynamicExpression -exp 'input.::INTERNALFIELD_IndexPlanning_Metadata:: = step.::Index Plate Barcode:: + ::_:: + (int) step.::Hamilton Indexing Offset Column::' -log {compoundOutputFileLuid0} && \ /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:evaluateDynamicExpression -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid0}" |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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_ completed.groovy'" |
|||
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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'" |
Setting |
Value |
---|---|
Library Prep - Indexing with Enrichment |
|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Library Prep - Indexing with Enrichment
Step Type = Add labels
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {SubmittedSampleName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Add labels to the following label groups:
• | Nextera UDP A |
• | Nextera UDP B |
• | Nextera UDP C |
• | Nextera UDP D |
Section |
Subsection |
Setting |
Value |
Specification |
||||||
---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Index Plate Barcode |
Text |
Read Only Inherited from master step. Read from input samples. |
||||||
|
Index Plate Offset |
Text |
Read Only Inherited from master step. Read from input samples. |
|||||||
|
Multiline Text Fields |
Quick reference checklist: Library Prep IDE |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||
Step File Placeholders |
File Name |
Script Log File (Aggregated) |
Auto Configured on master step. |
|||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||
INTERNALFIELD_IndexPlanning_Metadata |
Text |
Inherited from master step. |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Indexing - Custom Indexing with Hamilton Offsets and Dynamic Index Category Discovery |
Trigger Location |
Add Labels |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/04_B_ autoAssignIndexesFromIndexPlanning.py -u {username} -p {password} -s {stepURI}" |
|||
Indexing - Validate Index Category and Index Plate Barcode |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/04_A_ checkIndexPlateBarcodeWithCategory.py -u {username} -p {password} -s {stepURI} \ && /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'" |
|||
Library Prep - Indexing PF - Check for Valid, Unique LIB Plate Barcode & Match with Liquid Handler Output File & Parse Reagent Info & Set Next Steps to Remove from Workflow & Quant. Warning |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/reagent_parsing/fieldmap_libprep.csv && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -exp 'nextStep = ::REMOVE::' -log {compoundOutputFileLuid1} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/iga_ helpers/pop_up_msg.py -s {stepURI} -u {username} -p {password} -w 'WARNING' --message 'This protocol recommends performing a pooled quant. (per prep) at this stage. Please quant. and update the Normalized Molarity (nM) across all samples in the table below before proceeding.'" |
|||
Library Prep - Indexing PF - Route Samples to Sequencing Platform Selection with Automatic Workflow Detection |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "bash /opt/gls/clarity/extensions/IGA_ 2.0/iga_workflow_ routing/changeWorkflowScriptNoFieldChecks.sh {username} {password} {stepURI} {compoundOutputFileLuid1} /opt/gls/clarity/extensions/IGA_2.0/iga_workflow_ routing/masterRoutingTable_NFPFtoSeqPlatSelect.csv 'v2.0' \ && /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'" |
|||
Library Prep - Indexing PF - Validate/Copy LibPlate Barcode, Set Default Norm. Mol. if Applicable, and Generate LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' && /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:evaluateDynamicExpression \ -t true \ -h false \ -exp 'if ( !step.hasValue(::Library Plate Barcode::) || !step.::Library Plate Barcode::.matches( ::LP[0-9]{7}- LIB:: ) ) { fail( ::Invalid LIB plate barcode format. This plate ID must be in the format LPxxxxxxx-LIB, where 'x' is a digit 0-9, e.g. LP1234567-LIB. Please scan a valid LIB plate barcode in the Record Details screen.:: ) }; output.container.name = step.::Library Plate Barcode::; tkns = input.::INTERNALFIELD_IndexPlanning_ Metadata::.split(::_::); step.::Index Plate Barcode (read from input samples):: = tkns[0]; step.::Index Plate Offset (read from input samples):: = tkns[1]; if (submittedSample.::Library Prep Method::.contains (::PCR-Free::)) { output.::Normalized Molarity (nM):: = 3.5; }' \ -log {compoundOutputFileLuid1} \ && /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_ fast_prep/01_A_CFP_Batching_defaultContainerCheck.py - u {username} -p {password} -s {stepURI} && \ /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/LibInputFile_NFPF_ template_withoffsets.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Library Prep - Pre-Capture Pooling with Enrichment
Step Type = Pooling
Output = Aliquot Generation
Derived Sample Generation = Fixed 1
Naming Convention = {PoolName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Value |
---|---|---|
Pooling Settings |
Label Uniqueness |
On |
Defaults |
Sample Grouping |
Group by Containers |
Well Sort Order |
Row |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Sample Count |
Numeric |
Read Only Inherited from master step. Default
|
|||||||||
Liquid Handler Instrument ID |
Text |
Read Only Inherited from master step. |
|||||||||||
Index Plate Barcode |
Text |
Read Only Inherited from master step. Read from input samples. |
|||||||||||
Index Plate Offset |
Text |
Read Only Inherited from master step. Read from input samples. |
|||||||||||
Total Pool Volume (µl) |
Numeric |
Required Field Inherited from master step. Default
|
|||||||||||
eBLT |
Text |
Inherited from master step. |
|||||||||||
|
TB1 |
Text |
Inherited from master step. |
||||||||||
ST2 |
Text |
Inherited from master step. |
|||||||||||
TWB |
Text |
Inherited from master step. |
|||||||||||
EPM |
Text |
Inherited from master step. |
|||||||||||
SPB |
Text |
Inherited from master step. |
|||||||||||
RSB |
Text |
Inherited from master step. |
|||||||||||
Adapter |
Text |
Required Field Read Only Inherited from master step. Default
|
|||||||||||
Adapter 2 |
Text |
Required Field Read Only Inherited from master step. Default
|
|||||||||||
|
Multiline Text Fields |
Quick reference checklist: Library Prep IDE - pool libraries i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: Library Prep IDE - pool libraries ii) post-Liquid Handler |
Multiline Text |
Read Only Default
|
|||||||||||
Step File Placeholders |
File Name |
Liquid Handling Input File |
Auto Configured on master step. |
||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handling Output File |
Manual Configured on master step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Sample Needed (µl) |
Text |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Diluent Volume (µl) |
Numeric |
Inherited from master step. Decimal places displayed = 1 |
|||||||||||
Number of Samples in Pool |
Numeric |
Inherited from master step. Default
|
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Library Prep - Pooling Enrichment - Create LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/countSamplesInPools.py -u {username} -p {password} -s {stepURI} -f 'Sample Count' && /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:evaluateDynamicExpression \ -t true \ -h false \ -exp 'tkns = input.::INTERNALFIELD_IndexPlanning_ Metadata::.split(::_::); step.::Index Plate Barcode (read from input samples):: = tkns[0]; step.::Index Plate Offset (read from input samples):: = tkns[1]; ' \ -log {compoundOutputFileLuid1} \ && \ /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:evaluateDynamicExpression \ -t true \ -h false \ -exp 'output.::Sample Needed (uL):: = 5.0 * output.::Number of Samples in Pool:: ; if (output.::Number of Samples in Pool:: >= 6) {output.::Diluent Volume (uL):: = 0} else {output.::Diluent Volume (uL):: = 30.0 - output.::Sample Needed (uL):: } ; ' \ -log {compoundOutputFileLuid1} \ && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/LibInputFile_NFE_ template_withoffsets.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
Library Prep - Pooling Enrichment - Sample Placement PCPP Plate Barcode Uniqueness Check |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression -exp 'if ( !output.container.name.matches( ::LP[0-9]{7}- PCPP:: ) ) {fail ( ::Invalid PCPP (Pre-Capture Pool Plate) barcode format. This plate ID must be in the format LPxxxxxxx-PCPP, where 'x' is a digit 0-9, e.g. LP1234567-PCPP. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_A_CFP_Batching_defaultContainerCheck.py -u {username} -p {password} -s {stepURI}" |
|||
Pooling Enrichment - Validate LH Output File Name, Parse Reagents & Set Next Steps to Advance |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/reagent_parsing/fieldmap_precap_pooling.csv && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}" |
|||
Pooling Enrichment - Validate Pool Sizes |
Trigger Location |
Trigger Style |
|
Pooling |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression \ -t false \ -h false \ -exp 'if (!output.hasValue(::Number of Samples in Pool::)) { output.::Number of Samples in Pool:: = 0; }; output.::Number of Samples in Pool::++; if (output.::Number of Samples in Pool:: > 12) { fail (::Pools cannot contain more than 12 samples each.::) }' \ |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_completed.groovy'" |
|||
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_ started.groovy'" |
Setting |
Value |
---|---|
Library Prep - Capture and Wash with Enrichment |
|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Library Prep - Capture and Wash with Enrichment
Step Type = Standard
Output = Derived Sample
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Setting |
Value |
Specification |
---|---|---|
Destination Containers |
96 Well Plate |
Inherited from master step. |
Section |
Subsection |
Setting |
Value |
Specification |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Pool Count |
Numeric |
Read Only Inherited from master step. Default
|
|||||||||
Liquid Handler Instrument ID |
Text |
Read Only Inherited from master step. |
|||||||||||
EHB2 |
Text |
Inherited from master step. |
|||||||||||
|
Probes |
Text |
Inherited from master step. |
||||||||||
EEW |
Text |
Inherited from master step. |
|||||||||||
EE1 |
Text |
Inherited from master step. |
|||||||||||
HP3 |
Text |
Inherited from master step. |
|||||||||||
ET2 |
Text |
Inherited from master step. |
|||||||||||
EPM |
Text |
Inherited from master step. |
|||||||||||
PPC |
Text |
Inherited from master step. |
|||||||||||
|
Multiline Text Fields |
Quick reference checklist: Capture and Wash IDE i) pre-Liquid Handler |
Multiline Text |
Read Only Inherited from master step. Default
|
|||||||||
Quick reference checklist: Capture and Wash IDE ii) post-Liquid Handler |
Multiline Text |
Read Only Default
|
|||||||||||
Step File Placeholders |
File Name |
Liquid Handling Input File |
Auto Configured on master step. |
||||||||||
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||
Liquid Handling Output File |
Manual Configured on master step. |
||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
|||||||||
Sample Name |
Built_In |
||||||||||||
Container Name |
Built_In |
||||||||||||
Well |
Built_In |
||||||||||||
LIMS ID (Container) |
Built_In |
||||||||||||
Project Name |
Built_In |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Capture and Wash Enrichment - Create LH Input File |
Trigger Location |
Record Details |
|
Trigger Style |
Manual |
||
Command line bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/DriverFileGenerator.jar \ script:driver_file_generator \ -i {stepURI:v2} \ -u {username} \ -p {password} \ -q true \ -destLIMSID {compoundOutputFileLuid0} \ -t /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/templatefiles/CaptureWashInputFile_ template.csv \ -o Output_plate_name.csv \ -l {compoundOutputFileLuid1}" |
|||
Capture and Wash Enrichment - Sample Placement LIB Plate Barcode Uniqueness Check & Update Pool Count |
Trigger Location |
Placement |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -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:evaluateDynamicExpression -exp 'if ( !output.container.name.matches( ::LP[0-9]{7}- LIB:: ) ) {fail ( ::Invalid LIB plate barcode format. This plate ID must be in the format LPxxxxxxx-LIB, where 'x' is a digit 0-9, e.g. LP1234567-LIB. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_fast_prep/01_A_CFP_Batching_ defaultContainerCheck.py -u {username} -p {password} -s {stepURI} && \ /usr/bin/env python /opt/gls/clarity/extensions/IGA_ 2.0/hamilton_ fast_prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Pool Count'" |
|||
Capture and Wash Enrichment - Validate LH Output File Name, Parse Reagents & Set Next Steps to Advance |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_fast_ prep/01_CFP_Batching_ confirmPlateIDAndStoreInstrumentID.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -i 'Liquid Handling Instrument ID' && /usr/bin/env python /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.0/hamilton_ fast_prep/reagent_parsing/fieldmap_captureandwash.csv && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -exp 'nextStep = ::ADVANCE::' -log {compoundOutputFileLuid1}" |
|||
Register Step Completed |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_ completed.groovy'" |
|||
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_ started.groovy'" |
Setting |
Value |
---|---|
Post-Capture Pool QC with Enrichment |
|
Start Next Step |
Manual |
Assign Next Step |
Manual |

Master Step: Post-Capture Pool QC with Enrichment
Step Type = Standard QC
Output = Measurement
Derived Sample Generation = Fixed 1
Naming Convention = {InputItemName}
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Setting |
Value |
Specification |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Multiline Text Fields |
Quick reference checklist: Pool QC IDE |
Multiline Text |
Read Only Inherited from master step. Default
|
||||||||||||
Step File Placeholders |
File Name |
File NameQC Instrument Results (Generic Placeholder) |
Manual Configured on step. |
|||||||||||||
|
Script Log File (Aggregated) |
Auto Configured on master step. |
||||||||||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||||||||
Container Name |
Built_In |
|||||||||||||||
Well |
Built_In |
|||||||||||||||
Normalized Molarity (nM) |
Numeric |
Read Only Inherited from master step. Decimal places displayed = 2 |
||||||||||||||
Normalized Molarity (nM) |
Numeric |
Read Only Inherited from master step. Decimal places displayed = 2 |
||||||||||||||
LIMS ID (Container) |
Built_In |
|||||||||||||||
Project Name |
Built_In |
|||||||||||||||
INTERNALFIELD_QCValue_forRouting |
Text |
|
||||||||||||||
INTERNALFIELD_QCValue_forRouting |
Text |
Read Only |
Automation Name |
Setting |
Value |
Command Line |
---|---|---|---|
Pool QC - Generic - Enrichment - Copy Normalized Molarity from Output to Input, Copy QC Value to Inputs & Set QC Passed Sample Next Steps to Remove from Workflow |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs- common/v5/EPP/ngs-extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'if (!output.hasValue (::Normalized Molarity (nM)::)) { fail(::Please set/check Normalized Molarity (nM) field values manually on each sample, or set up this step to parse this value from QC instrument output to automatically set QC pass/fail flags.::) } else { input.::Normalized Molarity (nM):: = output.::Normalized Molarity (nM):: }; input.::INTERNALFIELD_QCValue_forRouting:: = output.QC ; output.::INTERNALFIELD_QCValue_ forRouting:: = output.QC ; if (output.QC == true) { nextStep = ::REMOVE:: }' -log {compoundOutputFileLuid1}" |
|||
Pool QC - Generic - Enrichment - Route QC Passed Samples to Sequencing Platform Selection |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "bash /opt/gls/clarity/extensions/IGA_ 2.0/iga_workflow_routing/changeWorkflowScript_ QCStep_RoutePassedInputs.sh {username} {password} {stepURI} {compoundOutputFileLuid1} /opt/gls/clarity/extensions/IGA_2.0/iga_workflow_ routing/masterRoutingTable_NFEtoSeqPlatSelect.csv 'v2.0' \ && /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'" |
|||
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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 {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_ started.groovy'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow
Protocol 7: Sequencing Platform Selection

Master Step: Select Sequencing Platform
Step Type = No outputs
Output = None
Derived Sample Generation = Not applicable
Naming Convention = Not applicable
Section |
Subsection |
Value |
---|---|---|
Sample Table |
Column Headers |
Sample Name LIMS ID (Container) Container Name Well Project Name Waiting |
Section |
Subsection |
Setting |
Value |
Specification |
||||||
---|---|---|---|---|---|---|---|---|---|---|
Step Data |
Master Step Fields |
Sequencing Platform |
Text |
Required Field Inherited from master step. Presets
|
||||||
|
Multiline Text Fields |
Quick reference checklist: Sequencing Platform Selection |
Multiline Text |
Read Only Inherited from master step. No actions for this page. The step routes all samples to the NovaSeq workflow. |
||||||
Step File Placeholders |
File Name |
Set Sequencing Platform Script Log |
Auto Configured on master step. |
|||||||
Sample Table |
Table Columns |
Sample Name |
Built_In |
|
||||||
Container Name |
Built_In |
|||||||||
|
Well |
Built_In |
||||||||
LIMS ID (Container) |
Built_In |
|||||||||
Project Name |
Built_In |
|||||||||
Sequencing Platform |
Text |
Inherited from master step. |
Automation Name |
Setting |
Value |
Specification |
---|---|---|---|
Register Step Started |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon entry |
||
Command line 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'" |
|||
Sequencing Platform Selection - Copy Instrument Type to Analyte & Set Next Steps to Remove from Workflow |
Trigger Location |
Record Details |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs- extensions.jar -i {stepURI:v2} -u {username} -p {password} script:evaluateDynamicExpression -t false -h false -exp 'input.::Sequencing Platform:: = step.::Sequencing Platform:: ; nextStep = ::REMOVE::' -log {compoundOutputFileLuid0}" |
|||
Sequencing Platform Selection - Route to Sequencing Workflow by Type |
Trigger Location |
Step |
|
Trigger Style |
Automatic upon exit |
||
Command line bash -l -c "bash /opt/gls/clarity/extensions/IGA_ 2.0/iga_workflow_routing/changeWorkflowScript_SeqPlatform_ RouteInputs.sh {username} {password} {stepURI} {compoundOutputFileLuid0} /opt/gls/clarity/extensions/IGA_ 2.0/iga_workflow_ routing/masterRoutingTable_seqplatselection.csv \ && /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'" |
Setting |
Value |
---|---|
Start Next Step |
Manual |
Assign Next Step |
Automatic |
End of Workflow