# IGA Library Prep Automated v2.1

## Overview

IGA Library Prep Automated v2.1 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.1 workflow and NextSeq 1000/2000 v2.3 workflow (which is installed separately). The protocols 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.

## Protocol 1: Sample Selection

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a59a34afc09afccc95b8304a33cd30875602421b%2Figa-library-prep-v2.1-sample-selection-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: Select Samples

* Master Step Name = Select Samples (IGA v2.1)
* Step Type = No Outputs

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-3d94beb055d075a61c696c275fb5e0bcee2829c1%2Figa-library-prep-v2.1-sample-selection-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Validate Sample Attributes (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Sample Selection - Set Library prep method and Next steps (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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}"
```

{% endcode %}

</details>

<details>

<summary>Sample Selection - Route plated gDNA (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table
  * Column Headers

    | **Category**     | **Field Name**                       | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
    | ---------------- | ------------------------------------ | -------------- | ----------- | ----------------------------------------- |
    | Container        | Container Name                       | Built-in       |             |                                           |
    | Container        | LIMS ID (Container)                  | Built-in       |             |                                           |
    | Derived Sample   | Sample Name                          | Built-in       |             |                                           |
    | Derived Sample   | Waiting                              | Built-in       |             |                                           |
    | Project          | Project Name                         | Built-in       |             |                                           |
    | Submitted Sample | Illumina Universal Sample Identifier | Built-in       |             |                                           |
  * Expanded View Fields

    | **Category**     | **Field Name** | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
    | ---------------- | -------------- | -------------- | ----------- | ----------------------------------------- |
    | Submitted Sample | Sample Conc.   | Numeric        |             | Decimal Places Displayed = 2              |
    | Submitted Sample | Units          | Text           |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                              | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                   |
  | ------------------------------------------- | -------------- | -------------- | ----------------------------------------------------------------------------------------------------------- |
  | IGA WF Build Version                        | Text           | Read Only      | Default = 2.1.0.1                                                                                           |
  | Library Prep Method                         | Text Dropdown  | Required Field | <p>Presets</p><ul><li>Illumina DNA PCR-Free</li><li>Illumina DNA with Enrichment</li></ul>                  |
  | Quick reference checklist: Sample Selection | Multiline Text | Read Only      | <p>Defaults =<br>User tasks for this page:<br>- Select Library Prep Method above<br>- Select Next Steps</p> |
* Step File Placeholders
  * Set Library Prep Method Script Log - Automatically attached
* Sample Table (Table Columns - Global Fields)

  | **Category**     | **Field Name**        | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | --------------------- | -------------- | ----------- | ----------------------------------------- |
  | Derived Sample   | Sample Name           | Built-in       |             |                                           |
  | Submitted Sample | Library Prep Method   | Text           |             |                                           |
  | Submitted Sample | Sample Conc.          | Numeric        |             | Decimal Places Displayed = 2              |
  | Submitted Sample | Submitted Sample Type | Text           | Read Only   |                                           |
  | Submitted Sample | Units                 | Text           |             |                                           |

## Protocol 2: Sample Plating

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a59a34afc09afccc95b8304a33cd30875602421b%2Figa-library-prep-v2.1-sample-plating-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: Plate Samples

* Master Step Name = Sample Plating (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Variable
* Naming Convention = {InputItemlName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-c06f039f44b5260f45884a4da6f966c19207c132%2Figa-library-prep-v2.1-sample-plating-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Sample Plating &#x26; Extraction - Validate Single Sample Type and Library Prep Method (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Placement Reminder (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.'"
```

{% endcode %}

</details>

<details>

<summary>Sample Plating - Sample Placement SAM Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/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.1/hamilton_fast_prep/validate_sample_placement.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Sample Plating - Set Transfer Volume &#x26; Create Liquid Handler Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/templatefiles/PlatingInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Sample Plating - Hamilton Output Plate Barcode Check, Store Instrument ID &#x26; Set Next Steps to Remove from Workflow before Custom Routing (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Sample Plating - Route samples (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1' \
--STEP 'DNA Extraction - Blood (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Extraction - Saliva (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Extraction - Blood (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Extraction - Saliva (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Projects
  * Well Sort Order = Column
* Sample Table
  * Column Headers

    | **Category**     | **Field Name**        | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                       |
    | ---------------- | --------------------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
    | Derived Sample   | Waiting               | Built-in       |                |                                                                                                                                 |
    | Submitted Sample | Library Prep Method   | Text           |                |                                                                                                                                 |
    | Submitted Sample | Sample Type           | Text           |                |                                                                                                                                 |
    | Submitted Sample | Sequencing Method     | Text Dropdown  | Custom Entries | <p>Presets</p><ul><li>Single Read</li><li>Paired End Read</li><li>Indexed Single Read</li><li>Indexed Paired End Read</li></ul> |
    | Submitted Sample | Submitted Sample Name | Built-in       |                |                                                                                                                                 |
  * Expanded View Fields

    | **Category**     | **Field Name**  | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
    | ---------------- | --------------- | -------------- | ----------- | ----------------------------------------- |
    | Submitted Sample | Date Submitted  | Built-in       |             |                                           |
    | Submitted Sample | Sample Category | Text           |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Projects
  * Well Sort Order = Column
* Sample Table (Column Headers)

  | **Category**     | **Field Name**        | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                       |
  | ---------------- | --------------------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
  | Submitted Sample | Library Prep Method   | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sample Type           | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sequencing Method     | Text Dropdown  | Custom Entries | <p>Presets</p><ul><li>Single Read</li><li>Paired End Read</li><li>Indexed Single Read</li><li>Indexed Paired End Read</li></ul> |
  | Submitted Sample | Submitted Sample Name | Built-in       |                |                                                                                                                                 |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Projects
  * Well Sort Order = Column
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                     | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                                            |
  | ------------------------------------------------------------------ | -------------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
  | Liquid Handling Instrument ID                                      | Text           | Read Only   |                                                                                                                      |
  | Quick reference checklist: Sample Plating. i) pre Liquid Handler   | Multiline Text | Read Only   | <p>Defaults =<br>User tasks for this page:<br>- Select blue 'Run' button<br>- Download Liquid Handler Input File</p> |
  | Quick reference checklist: Sample Plating. ii) post Liquid Handler | Multiline Text | Read Only   | <p>Defaults =<br>User tasks continued:<br>- Upload resulting Liquid Handler Output File<br>- Select Next Steps</p>   |
  | Step Sample Type                                                   | Text           | Read Only   |                                                                                                                      |
* Step File Placeholders
  * Liquid Handler Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Liquid Handler Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**     | **Field Name**                | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | ----------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container        | Container Name                | Built-in       |             |                                           |
  | Container        | LIMS ID (Container)           | Built-in       |             |                                           |
  | Container        | Well                          | Built-in       |             |                                           |
  | Derived Sample   | Sample Name                   | Built-in       |             |                                           |
  | Derived Sample   | Submitted Sample Type         | Text           | Read Only   |                                           |
  | Derived Sample   | Transfer Volume (ul)          | Numeric        |             |                                           |
  | Submitted Sample | Sample Type                   | Text           |             |                                           |
  | Submitted Sample | Submitted Sample Labware Type | Text           |             |                                           |

## Protocol 3: Blood Extraction

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a59a34afc09afccc95b8304a33cd30875602421b%2Figa-library-prep-v2.1-blood-extraction-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: DNA Extraction - Blood

* Master Step Name = DNA Extraction - Blood (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Fixed, 1
* Naming Convention = {InputItemName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-c74789b803bba37f6bc892244ca1f765f57eb543%2Figa-library-prep-v2.1-blood-extraction-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Sample Plating &#x26; Extraction - Validate Single Sample Type and Library Prep Method (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Sample Placement EDP Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/01_A_CFP_Batching_defaultContainerCheck.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Count Samples &#x26; Create LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/templatefiles/ExtractionInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Check LH Output File Barcode &#x26; Parse Reagent Info &#x26; Check for Missing Barcodes &#x26; Set Next Steps to Remove from Workflow (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Routing (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
* Sample Table (Column Headers)

  | **Category**     | **Field Name**        | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                       |
  | ---------------- | --------------------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
  | Derived Sample   | Waiting               | Built-in       |                |                                                                                                                                 |
  | Submitted Sample | Library Prep Method   | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sample Type           | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sequencing Method     | Text Dropdown  | Custom Entries | <p>Presets</p><ul><li>Single Read</li><li>Paired End Read</li><li>Indexed Single Read</li><li>Indexed Paired End Read</li></ul> |
  | Submitted Sample | Submitted Sample Name | Built-in       |                |                                                                                                                                 |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
* Sample Table (Column Headers)

  | **Category**     | **Field Name**        | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | --------------------- | -------------- | ----------- | ----------------------------------------- |
  | Submitted Sample | Library Prep Method   | Text           |             |                                           |
  | Submitted Sample | Sample Type           | Text           |             |                                           |
  | Submitted Sample | Submitted Sample Name | Built-in       |             |                                           |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                             | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                                                                                                                                                                               |
  | -------------------------------------------------------------------------- | -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Ethanol                                                                    | Text           |             |                                                                                                                                                                                                                                                         |
  | ITB                                                                        | Text           |             |                                                                                                                                                                                                                                                         |
  | Liquid Handling Instrument ID                                              | Text           | Read Only   |                                                                                                                                                                                                                                                         |
  | MLB                                                                        | Text           |             |                                                                                                                                                                                                                                                         |
  | ProK                                                                       | Text           |             |                                                                                                                                                                                                                                                         |
  | RSB                                                                        | Text           |             |                                                                                                                                                                                                                                                         |
  | Sample Count                                                               | Numeric        | Read Only   | Default = 0                                                                                                                                                                                                                                             |
  | Step Sample Type                                                           | Text           | Read Only   |                                                                                                                                                                                                                                                         |
  | Quick reference checklist: DNA Extraction - Blood. i) pre Liquid Handler   | Multiline Text | Read Only   | <p>Default =<br>User tasks for this page:<br>- Download Liquid Handling Robot Input File<br>- Enter reagent lots for MLB and ProK (not scanned by Liquid Handler as loaded as a mastermix)</p>                                                          |
  | Quick reference checklist: DNA Extraction - Blood. ii) post Liquid Handler | Multiline Text | Read Only   | <p>Default =<br>User tasks continued:<br>- After running Extraction on the liquid handler, upload the resulting Liquid Handling Robot Output File<br>- Select Next Steps (RSB, ITB and Ethanol lots will populate automatically on the next screen)</p> |
* Step File Placeholders
  * Liquid Handling Robot (Hamilton) Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Liquid Handling Robot Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**     | **Field Name**        | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | --------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container        | Container             | Built-in       |             |                                           |
  | Container        | Container Name        | Built-in       |             |                                           |
  | Container        | LIMS ID (Container)   | Built-in       |             |                                           |
  | Container        | Well                  | Built-in       |             |                                           |
  | Derived Sample   | Sample Name           | Built-in       |             |                                           |
  | Derived Sample   | Submitted Sample Type | Text           | Read Only   |                                           |
  | Project          | Project Name          | Built-in       |             |                                           |
  | Submitted Sample | Library Prep Method   | Text           |             |                                           |

## Protocol 4: Saliva Extraction

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a59a34afc09afccc95b8304a33cd30875602421b%2Figa-library-prep-v2.1-saliva-extraction-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: DNA Extraction - Saliva

* Master Step Name = DNA Extraction - Blood (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Fixed, 1
* Naming Convention = {InputItemName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a81ef31656c11399e5a18c8e289255f3bb6ad935%2Figa-library-prep-v2.1-saliva-extraction-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Sample Plating &#x26; Extraction - Validate Single Sample Type and Library Prep Method (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Sample Placement EDP Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/01_A_CFP_Batching_defaultContainerCheck.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Count Samples &#x26; Create LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/templatefiles/ExtractionInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Check LH Output File Barcode &#x26; Parse Reagent Info &#x26; Check for Missing Barcodes &#x26; Set Next Steps to Remove from Workflow (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Extraction - Routing (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA PCR-Free' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching PCR-Free (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Blood_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS' \
\
--FIELD_NAME 'Submitted Sample Type' \
--FIELD_VALUE 'Saliva_Illumina DNA with Enrichment' \
--WORKFLOW 'Illumina Genomics Architecture - Library Prep Automated v2.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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.1' \
--STEP 'DNA Batching with Enrichment (IGA v2.1)' \
--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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
* Sample Table (Column Headers)

  | **Category**     | **Field Name**        | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                       |
  | ---------------- | --------------------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
  | Derived Sample   | Waiting               | Built-in       |                |                                                                                                                                 |
  | Submitted Sample | Library Prep Method   | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sample Type           | Text           |                |                                                                                                                                 |
  | Submitted Sample | Sequencing Method     | Text Dropdown  | Custom Entries | <p>Presets</p><ul><li>Single Read</li><li>Paired End Read</li><li>Indexed Single Read</li><li>Indexed Paired End Read</li></ul> |
  | Submitted Sample | Submitted Sample Name | Built-in       |                |                                                                                                                                 |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
* Sample Table (Column Headers)

  | **Category**     | **Field Name**        | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | --------------------- | -------------- | ----------- | ----------------------------------------- |
  | Submitted Sample | Library Prep Method   | Text           |             |                                           |
  | Submitted Sample | Sample Type           | Text           |             |                                           |
  | Submitted Sample | Submitted Sample Name | Built-in       |             |                                           |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                              | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                                                                                                                                                                               |
  | --------------------------------------------------------------------------- | -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Ethanol                                                                     | Text           |             |                                                                                                                                                                                                                                                         |
  | ITB                                                                         | Text           |             |                                                                                                                                                                                                                                                         |
  | Liquid Handling Instrument ID                                               | Text           | Read Only   |                                                                                                                                                                                                                                                         |
  | MLB                                                                         | Text           |             |                                                                                                                                                                                                                                                         |
  | ProK                                                                        | Text           |             |                                                                                                                                                                                                                                                         |
  | RSB                                                                         | Text           |             |                                                                                                                                                                                                                                                         |
  | Sample Count                                                                | Numeric        | Read Only   | Default = 0                                                                                                                                                                                                                                             |
  | Step Sample Type                                                            | Text           | Read Only   |                                                                                                                                                                                                                                                         |
  | Quick reference checklist: DNA Extraction - Saliva. i) pre Liquid Handler   | Multiline Text | Read Only   | <p>Default =<br>User tasks for this page:<br>- Download Liquid Handling Robot Input File<br>- Enter reagent lots for MLB and ProK (not scanned by Liquid Handler as loaded as a mastermix)</p>                                                          |
  | Quick reference checklist: DNA Extraction - Saliva. ii) post Liquid Handler | Multiline Text | Read Only   | <p>Default =<br>User tasks continued:<br>- After running Extraction on the liquid handler, upload the resulting Liquid Handling Robot Output File<br>- Select Next Steps (RSB, ITB and Ethanol lots will populate automatically on the next screen)</p> |
* Step File Placeholders
  * Liquid Handling Robot (Hamilton) Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Liquid Handling Robot Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**     | **Field Name**        | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | --------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container        | Container             | Built-in       |             |                                           |
  | Container        | Container Name        | Built-in       |             |                                           |
  | Container        | LIMS ID (Container)   | Built-in       |             |                                           |
  | Container        | Well                  | Built-in       |             |                                           |
  | Derived Sample   | Sample Name           | Built-in       |             |                                           |
  | Derived Sample   | Submitted Sample Type | Text           | Read Only   |                                           |
  | Project          | Project Name          | Built-in       |             |                                           |
  | Submitted Sample | Library Prep Method   | Text           |             |                                           |

## Protocol 5: Illumina DNA PCR-Free

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-183942a3ec39378816964a71b414710d5fcc77bf%2Figa-library-prep-v2.1-dna-pcr-free-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: DNA Batching PCR-Free

* Master Step Name = DNA Batching NFPF (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Fixed, 1
* Naming Convention = {InputItemName}\_DNA

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-60834f5e9fe51f3688f7a32dc1e10a3ee8966a79%2Figa-library-prep-v2.1-dna-pcr-free-step1-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>DNA Batching PF - Set Final Volume and Validate Sample Type Combination (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Placement Reminder (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.'"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching - Sample Placement DNA Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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}-DNA:: ) ) {fail ( ::Invalid DNA plate barcode format. This plate ID must be in the format LPxxxxxxx-DNA, where 'x' is a digit 0-9, e.g. LP1234567-DNA. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && \
/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/validate_sample_placement.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching PF - Generate LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/templatefiles/BatchingInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching - Check LH Output File Barcode, Store Instrument ID, Set Next Steps to Advance (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**     | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container        | Container Name      | Built-in       |             |                                           |
  | Container        | LIMS ID (Container) | Built-in       |             |                                           |
  | Container        | Well                | Built-in       |             |                                           |
  | Derived Sample   | Sample Name         | Built-in       |             |                                           |
  | Derived Sample   | Waiting             | Built-in       |             |                                           |
  | Project          | Project Name        | Built-in       |             |                                           |
  | Submitted Sample | Library Prep Method | Text           |             |                                           |
  | Submitted Sample | Sample Type         | Text           |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Column
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                        | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                                                                                                                                                                                                                |
  | --------------------------------------------------------------------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | Batching Well Volume (uL)                                             | Numeric        | Required Field | Default = 40                                                                                                                                                                                                                                                                                                             |
  | DNA (ng) required for tagmentation                                    | Numeric        | Required Field | Default = 350                                                                                                                                                                                                                                                                                                            |
  | Liquid Handling Instrument ID                                         | Text           | Read Only      |                                                                                                                                                                                                                                                                                                                          |
  | Notes:                                                                | Multiline Text | Read Only      | <p>Default =<br>- DNA (ng) required for tagmentation is 300-2000 ng.<br>- A fixed 25uL is aliquoted from the total volume of 40uL (default) to carry out Library Prep and subsequent steps.</p>                                                                                                                          |
  | Quick reference checklist: DNA Batching IDPF. i) pre Liquid Handler   | Multiline Text | Read Only      | <p>Default =<br>User tasks for this page:<br>- For gDNA samples, enter library prep Input Amount (ng). NB: this field is ignored for samples which arrived as raw blood or saliva, as a set volume is transferred<br>- 'Run' DNA Batching PF automation, and download resulting 'Liquid Handler Batching Input File'</p> |
  | Quick reference checklist: DNA Batching IDPF. ii) post Liquid Handler | Multiline Text | Read Only      | <p>Default =<br>User tasks continued:<br>- Upload resulting 'Output File from Liquid Handler'<br>- Select 'Next Steps'</p>                                                                                                                                                                                               |
* Step File Placeholders
  * Liquid Handler Batching Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Output File from Liquid Handler - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ---------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name         | Built-in       |             |                                           |
  | Container      | LIMS ID (Container)    | Built-in       |             |                                           |
  | Container      | Well                   | Built-in       |             |                                           |
  | Derived Sample | Diluent Volume (uL)    | Numeric        |             | Decimal Places Displayed = 1              |
  | Derived Sample | Initial Input DNA (ng) | Numeric        |             |                                           |
  | Derived Sample | Sample Name            | Built-in       |             |                                           |
  | Derived Sample | Sample Needed (uL)     | Numeric        |             | Decimal Places Displayed = 1              |
  | Derived Sample | Warnings               | Text           | Read Only   |                                           |
  | Project        | Project Name           | Built-in       |             |                                           |

### Step 2: Index Planning PCR-Free

* Master Step Name = Indexing Planning (IGA v2.1)
* Step Type = No Outputs

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-f2207fb8b57d96db5c1c05750bed7269708932d5%2Figa-library-prep-v2.1-dna-pcr-free-step2-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Indexing Planning - Validate and Check for Duplicates of Index Plate Barcode, Validate Indexing Offset, and Set Next Steps (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/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.1)' && \
/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                               | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                                                                                |
  | -------------------------------------------- | -------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Index Plate Barcode                          | Text           | Required Field |                                                                                                                                                                                          |
  | Hamilton Indexing Offset Column              | Numeric        |                | <ul><li>Default = 1</li><li>Range From 1 to 12</li></ul>                                                                                                                                 |
  | Quick reference checklist: Indexing Planning | Multiline Text | Read Only      | <ul><li>Default =<br>User tasks for this page:<br>- Scan in Indexing Plate Barcode and set the Hamilton Indexing Offset column (required start column)<br>- Click 'Next Steps'</li></ul> |
* Step File Placeholders
  * Script Log File (Aggregated) - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**                     | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ---------------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name                     | Built-in       |             |                                           |
  | Container      | LIMS ID (Container)                | Built-in       |             |                                           |
  | Container      | Well                               | Built-in       |             |                                           |
  | Derived Sample | INTERNALFIELD\_QCValue\_forRouting | Text           |             |                                           |
  | Derived Sample | Sample Name                        | Built-in       |             |                                           |
  | Project        | Project Name                       | Built-in       |             |                                           |

### Step 3: Library Prep - Indexing PCR-Free

* Master Step Name = Indexing NFPF (IGA v2.1)
* Step Type = Add Labels
* Derived Sample Generation = Fixed, 1
* Naming Convention = {SubmittedSampleName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-d7a1df51a732bc3ac7b0376e738444e711fff87e%2Figa-library-prep-v2.1-dna-pcr-free-step3-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Indexing - Validate Index Category and Index Plate Barcode (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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'"
```

{% endcode %}

</details>

<details>

<summary>Indexing - Custom Indexing with Hamilton Offsets and Dynamic Index Category Discovery (IGA v2.1)</summary>

* Trigger Location = Add Labels
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/hamilton_fast_prep/04_B_autoAssignIndexesFromIndexPlanning.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Indexing PF - Validate/Copy LibPlate Barcode, Set Default Norm. Mol. if Applicable, and Generate LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/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.1/hamilton_fast_prep/templatefiles/LibInputFile_NFPF_template_withoffsets.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Indexing PF - Check for Valid, Unique LIB Plate Barcode &#x26; Match with Liquid Handler Output File &#x26; Parse Reagent Info &#x26; Set Next Steps to Remove from Workflow &#x26; Quant. Warning (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.1/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.1/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.'"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Indexing PF - Route Samples to Sequencing Platform Selection with Automatic Workflow Detection (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "bash /opt/gls/clarity/extensions/IGA_2.1/iga_workflow_routing/changeWorkflowScriptNoFieldChecks.sh {username} {password} {stepURI} {compoundOutputFileLuid1} /opt/gls/clarity/extensions/IGA_2.1/iga_workflow_routing/masterRoutingTable_NFPFtoSeqPlatSelect.csv 'v2.1' \
&& /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_completed.groovy'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**                         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | -------------------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name                         | Built-in       |             |                                           |
  | Container      | Well                                   | Built-in       |             |                                           |
  | Derived Sample | INTERNALFIELD\_IndexPlanning\_Metadata | Text           |             |                                           |
  | Derived Sample | Sample Name                            | Built-in       |             |                                           |
  | Derived Sample | Waiting                                | Built-in       |             |                                           |
  | Project        | Project Name                           | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**                         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | -------------------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name                         | Built-in       |             |                                           |
  | Container      | Well                                   | Built-in       |             |                                           |
  | Derived Sample | INTERNALFIELD\_IndexPlanning\_Metadata | Text           |             |                                           |
  | Derived Sample | Sample Name                            | Built-in       |             |                                           |
  | Derived Sample | Waiting                                | Built-in       |             |                                           |
  | Project        | Project Name                           | Built-in       |             |                                           |

#### Add Labels

* Label Groups
  * Nextera UDP A
  * Nextera UDP B
  * Nextera UDP C
  * Nextera UDP D

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                        | **Field Type** | **Options**                                        | **Additional Options and Dropdown Items**                                                                                                                                                                                               |
  | --------------------------------------------------------------------- | -------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Adapter                                                               | Text           | <ul><li>Required Field</li><li>Read Only</li></ul> | <ul><li>Default = CTGTCTCTTATACACATCT</li></ul>                                                                                                                                                                                         |
  | Adapter Read 2                                                        | Text           | <ul><li>Required Field</li><li>Read Only</li></ul> | <ul><li>Default = CTGTCTCTTATACACATCT</li></ul>                                                                                                                                                                                         |
  | BLT-PF                                                                | Text           |                                                    |                                                                                                                                                                                                                                         |
  | ELM-T                                                                 | Text           |                                                    |                                                                                                                                                                                                                                         |
  | HP3                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
  | Index Plate Barcode (read from input samples)                         | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                                                                                         |
  | Index Plate Offset (read from input samples)                          | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                                                                                         |
  | IPB                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
  | Library Plate Barcode                                                 | Text           | <ul><li>Required Field</li></ul>                   |                                                                                                                                                                                                                                         |
  | Liquid Handling Instrument ID                                         | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                                                                                         |
  | Quick reference checklist: Library Prep IDPF. i) pre Liquid Handler   | Multiline Text | <ul><li>Read Only</li></ul>                        | <ul><li>Default =<br>User tasks for this page:<br>- Above, scan in the 'Library Plate Barcode' to be used<br>- Click blue button to 'Run' the Library Prep automation, and download the resulting 'Liquid Handler Input File'</li></ul> |
  | Quick reference checklist: Library Prep IDPF. ii) post Liquid Handler | Multiline Text | <ul><li>Read Only</li></ul>                        | <ul><li>Default =<br>User tasks continued:<br>- Upload resulting 'Hamilton Output File'<br>- Perform a pooled quant for the prep, and apply the yield 'Normalized Molarity (nM)' to all samples<br>- Click 'Next Steps'</li></ul>       |
  | RSB                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
  | Sample Count                                                          | Numeric        | <ul><li>Read Only</li></ul>                        | <ul><li>Default = 0</li><li>Decimal Places Displayed = 0</li></ul>                                                                                                                                                                      |
  | ST2                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
  | TB1                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
  | TWB                                                                   | Text           |                                                    |                                                                                                                                                                                                                                         |
* Step File Placeholders
  * Liquid Handler Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Hamilton Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**     | **Field Name**           | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | ---------------- | ------------------------ | -------------- | ----------- | ----------------------------------------- |
  | Container        | Container                | Built-in       |             |                                           |
  | Container        | Container Name           | Built-in       |             |                                           |
  | Container        | LIMS ID (Container)      | Built-in       |             |                                           |
  | Container        | Well                     | Built-in       |             |                                           |
  | Derived Sample   | Normalized Molarity (nM) | Numeric        |             | Decimal Places Displayed = 2              |
  | Derived Sample   | Sample Name              | Built-in       |             |                                           |
  | Submitted Sample | Library Prep Method      | Text           |             |                                           |

## Protocol 6: Illumina DNA with Enrichment

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-992870fe88b9f6dbfec573741908fc70b96c0a21%2Figa-library-prep-v2.1-dna-enrichment-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: DNA Batching with Enrichment

* Master Step Name = DNA Batching NFE (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Fixed, 1
* Naming Convention = {InputItemName}\_DNA

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-2ac1658eb9975628de1ebbe6c6ea06d86def6455%2Figa-library-prep-v2.1-dna-enrichment-step1-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>DNA Batching Enrichment - Set Final Volume (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Placement Reminder (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.'"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching - Sample Placement DNA Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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}-DNA:: ) ) {fail ( ::Invalid DNA plate barcode format. This plate ID must be in the format LPxxxxxxx-DNA, where 'x' is a digit 0-9, e.g. LP1234567-DNA. Please verify and try again.:: ) }' -log {compoundOutputFileLuid1} && \
/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/validate_sample_placement.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching Enrichment - Generate LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
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)::) / (30 * 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.1/hamilton_fast_prep/templatefiles/BatchingInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>DNA Batching - Check LH Output File Barcode, Store Instrument ID, Set Next Steps to Advance (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                       | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                                                                                                                                                                                                                        |
  | -------------------------------------------------------------------- | -------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Batching Well Volume (uL)                                            | Numeric        | Required Field | Default = 45                                                                                                                                                                                                                                                                                                                     |
  | DNA (ng) required for tagmentation                                   | Numeric        | Required Field | Default = 450                                                                                                                                                                                                                                                                                                                    |
  | Liquid Handling Instrument ID                                        | Text           | Read Only      |                                                                                                                                                                                                                                                                                                                                  |
  | Notes:                                                               | Multiline Text | Read Only      | <p>Default =<br>- DNA (ng) required for tagmentation is 50-1000 ng.<br>- A fixed 30uL is aliquoted from the total volume of 45uL (default) to carry out Library Prep and subsequent steps.</p>                                                                                                                                   |
  | Quick reference checklist i): DNA Batching IDE, pre Liquid Handler   | Multiline Text | Read Only      | <p>Default =<br>User tasks for this page:<br>- For gDNA samples, enter library prep Input Amount (ng). NB: this field is ignored for samples which arrived as raw blood or saliva, as a set volume is transferred<br>- 'Run' DNA Batching Enrichment automation, and download resulting 'Liquid Handler Batching Input File'</p> |
  | Quick reference checklist ii): DNA Batching IDE, post Liquid Handler | Multiline Text | Read Only      | <p>Default =<br>User tasks continued:<br>- Upload resulting 'Output File from Liquid Handler'<br>- Select 'Next Steps'</p>                                                                                                                                                                                                       |
* Step File Placeholders
  * Liquid Handler Batching Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Output File from Liquid Handler - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ---------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name         | Built-in       |             |                                           |
  | Container      | LIMS ID (Container)    | Built-in       |             |                                           |
  | Container      | Well                   | Built-in       |             |                                           |
  | Derived Sample | Diluent Volume (uL)    | Numeric        |             | Decimal Places Displayed = 1              |
  | Derived Sample | Initial Input DNA (ng) | Numeric        |             |                                           |
  | Derived Sample | Sample Name            | Built-in       |             |                                           |
  | Derived Sample | Sample Needed (uL)     | Numeric        |             | Decimal Places Displayed = 1              |
  | Derived Sample | Warnings               | Text           | Read Only   |                                           |
  | Project        | Project Name           | Built-in       |             |                                           |

### Step 2: Index Planning with Enrichment

* Master Step Name = Indexing Planning (IGA v2.1)
* Step Type = No Outputs

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-388b1e6592b84b5d9d6f03fdc28ffc48bd462229%2Figa-library-prep-v2.1-dna-enrichment-step2-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Indexing Planning - Validate and Check for Duplicates of Index Plate Barcode, Validate Indexing Offset, and Set Next Steps (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/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.1)' && \
/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                               | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                                                                                |
  | -------------------------------------------- | -------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Index Plate Barcode                          | Text           | Required Field |                                                                                                                                                                                          |
  | Hamilton Indexing Offset Column              | Numeric        |                | <ul><li>Default = 1</li><li>Range From 1 to 12</li></ul>                                                                                                                                 |
  | Quick reference checklist: Indexing Planning | Multiline Text | Read Only      | <ul><li>Default =<br>User tasks for this page:<br>- Scan in Indexing Plate Barcode and set the Hamilton Indexing Offset column (required start column)<br>- Click 'Next Steps'</li></ul> |
* Step File Placeholders
  * Script Log File (Aggregated) - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**                         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | -------------------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Derived Sample | Sample Name                            | Built-in       |             |                                           |
  | Derived Sample | INTERNALFIELD\_IndexPlanning\_Metadata | Text           |             |                                           |

### Step 3: Library Prep - Indexing with Enrichment

* Master Step Name = Indexing NFE (IGA v2.1)
* Step Type = Add Labels
* Derived Sample Generation = Fixed, 1
* Naming Convention = {SubmittedSampleName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-7d9eb36ab9d0b053c382f138bb95d6ecb0b4c4c3%2Figa-library-prep-v2.1-dna-enrichment-step3-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Indexing - Validate Index Category and Index Plate Barcode (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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'"
```

{% endcode %}

</details>

<details>

<summary>Indexing - Custom Indexing with Hamilton Offsets and Dynamic Index Category Discovery (IGA v2.1)</summary>

* Trigger Location = Add Labels
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/hamilton_fast_prep/04_B_autoAssignIndexesFromIndexPlanning.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Indexing Enrichment - Copy Input Plate Barcode to Output Plate (IGA v2.1)</summary>

* Trigger Location = Add Labels
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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 true -h false script:evaluateDynamicExpression -exp 'output.container.name = input.container.name;' -log {compoundOutputFileLuid0}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Indexing Enrichment - Copy Indexing Metadata to Outputs &#x26; Set Next Steps to Advance (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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 '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]; output.::INTERNALFIELD_IndexPlanning_Metadata:: = input.::INTERNALFIELD_IndexPlanning_Metadata:: ; nextStep = ::ADVANCE::' \
-log {compoundOutputFileLuid0}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Add Labels

* Label Groups
  * Nextera UDP A
  * Nextera UDP B
  * Nextera UDP C
  * Nextera UDP D

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                       |
  | --------------------------------------------- | -------------- | ----------- | ----------------------------------------------------------------------------------------------- |
  | Index Plate Barcode (read from input samples) | Text           | Read Only   |                                                                                                 |
  | Index Plate Offset (read from input samples)  | Text           | Read Only   |                                                                                                 |
  | Quick reference checklist: Library Prep IDE.  | Multiline Text | Read Only   | <ul><li>Default =<br>User tasks for this step:<br>- No user tasks, click 'Next Steps'</li></ul> |
* Step File Placeholders
  * Script Log File (Aggregated) - Automatically attached
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**                         | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | -------------------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Derived Sample | Sample Name                            | Built-in       |             |                                           |
  | Derived Sample | INTERNALFIELD\_IndexPlanning\_Metadata | Text           |             |                                           |

### Step 4: Library Prep - Pre-Capture Pooling with Enrichment

* Master Step Name = Library Prep NFE - Pool Libraries (IGA v2.1)
* Step Type = Pooling
* Aliquot Generation = Fixed, 1
* Naming Convention = {PoolName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-e30a55b6d3d765ae6c1bdbb950059d6ade46d42f%2Figa-library-prep-v2.1-dna-enrichment-step4-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Pooling Enrichment - Validate Pool Sizes (IGA v2.1)</summary>

* Trigger Location = Pooling
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.::) }' \
-log {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Pooling Enrichment - Sample Placement PCPP Plate Barcode Uniqueness Check (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/01_A_CFP_Batching_defaultContainerCheck.py -u {username} -p {password} -s {stepURI}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Pooling Enrichment - Create LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/templatefiles/LibInputFile_NFE_template_withoffsets.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Library Prep - Pooling Enrichment - Validate LH Output File Name, Parse Reagents &#x26; Set Next Steps to Advance (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Pooling

* Label Uniqueness = On
* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row

#### Placement = Enabled

* Defaults
  * Well Sort Order = Row
  * Placement Pattern = Column
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                                         | **Field Type** | **Options**                                        | **Additional Options and Dropdown Items**                                                                                                                                  |
  | -------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Adapter                                                                                | Text           | <ul><li>Required Field</li><li>Read Only</li></ul> | Default = CTGTCTCTTATACACATCT                                                                                                                                              |
  | Adapter Read 2                                                                         | Text           | <ul><li>Required Field</li><li>Read Only</li></ul> | Default = CTGTCTCTTATACACATCT                                                                                                                                              |
  | eBLT                                                                                   | Text           |                                                    |                                                                                                                                                                            |
  | EPM                                                                                    | Text           |                                                    |                                                                                                                                                                            |
  | Index Plate Barcode (read from input samples)                                          | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                            |
  | Index Plate Offset (read from input samples)                                           | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                            |
  | Liquid Handling Instrument ID                                                          | Text           | <ul><li>Read Only</li></ul>                        |                                                                                                                                                                            |
  | Quick reference checklist: Library Prep IDE - pool libraries. i) pre Liquid Handler.   | Multiline Text | <ul><li>Read Only</li></ul>                        | <p>Default =<br>User tasks for this page:<br>- 'Run' Library Prep Pooling automation<br>- Download resulting Liquid Handler Input File</p>                                 |
  | Quick reference checklist: Library Prep IDE - pool libraries. ii) post Liquid Handler. | Multiline Text | <ul><li>Read Only</li></ul>                        | <p>Default =<br>User tasks continued:<br>- After running the Prep method on the Liquid Handler, upload resulting Liquid Handler Output File<br>- Click on 'Next Steps'</p> |
  | RSB                                                                                    | Text           |                                                    |                                                                                                                                                                            |
  | Sample Count                                                                           | Numeric        | <ul><li>Read Only</li></ul>                        | <ul><li>Default = 0</li></ul>                                                                                                                                              |
  | SPB                                                                                    | Text           |                                                    |                                                                                                                                                                            |
  | ST2                                                                                    | Text           |                                                    |                                                                                                                                                                            |
  | TB1                                                                                    | Text           |                                                    |                                                                                                                                                                            |
  | Total Pool Volume (ul)                                                                 | Numeric        |                                                    | Default = 30                                                                                                                                                               |
  | TWB                                                                                    | Text           |                                                    |                                                                                                                                                                            |
* Step File Placeholders
  * Liquid Handler Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Liquid Handler Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**            | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------------- | -------------- | ----------- | ----------------------------------------- |
  | Derived Sample | Diluent Volume (uL)       | Numeric        |             | Decimal Places Displayed = 1              |
  | Derived Sample | Number of Samples in Pool | Numeric        |             | Default = 0                               |
  | Derived Sample | Sample Name               | Built-in       |             |                                           |
  | Derived Sample | Sample Needed (uL)        | Numeric        |             | Decimal Places Displayed = 1              |

### Step 5: Library Prep - Capture and Wash with Enrichment

* Master Step Name = Capture and Wash NFE (IGA v2.1)
* Step Type = Standard
* Derived Sample Generation = Fixed, 1
* Naming Convention = {InputItemName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-67e891d36110ca2a75127b27c502521cd111049a%2Figa-library-prep-v2.1-dna-enrichment-step5-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Capture and Wash Enrichment - Sample Placement LIB Plate Barcode Uniqueness Check &#x26; Update Pool Count (IGA v2.1)</summary>

* Trigger Location = Placement
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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.1/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.1/hamilton_fast_prep/countSamples.py -u {username} -p {password} -s {stepURI} -f 'Pool Count'"
```

{% endcode %}

</details>

<details>

<summary>Capture and Wash Enrichment - Create LH Input File (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Manual button

{% code overflow="wrap" %}

```markup
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.1/hamilton_fast_prep/templatefiles/CaptureWashInputFile_template.csv \
-o Output_plate_name.csv \
-l {compoundOutputFileLuid1}"
```

{% endcode %}

</details>

<details>

<summary>Capture and Wash Enrichment - Validate LH Output File Name, Parse Reagents &#x26; Set Next Steps to Advance (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "/usr/bin/env python /opt/gls/clarity/extensions/IGA_2.1/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.1/hamilton_fast_prep/02_ReagentParsing.py -u {username} -p {password} -s {stepURI} -f {compoundOutputFileLuid2} -m /opt/gls/clarity/extensions/IGA_2.1/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}"
```

{% endcode %}

</details>

<details>

<summary>Register Step Completed (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Placement = Enabled

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
  * Placement Pattern = Same Shape
* Destination Containers
  * 96 well plate

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                                            | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                                                                                                |
  | ------------------------------------------------------------------------- | -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | EE1                                                                       | Text           |             |                                                                                                                                                                          |
  | EEW                                                                       | Text           |             |                                                                                                                                                                          |
  | EHB2                                                                      | Text           |             |                                                                                                                                                                          |
  | EPM                                                                       | Text           |             |                                                                                                                                                                          |
  | ET2                                                                       | Text           |             |                                                                                                                                                                          |
  | HP3                                                                       | Text           |             |                                                                                                                                                                          |
  | Liquid Handling Instrument ID                                             | Text           | Read Only   |                                                                                                                                                                          |
  | Pool Count                                                                | Numeric        | Read Only   | Default = 0                                                                                                                                                              |
  | PPC                                                                       | Text           |             |                                                                                                                                                                          |
  | Probes                                                                    | Text           |             |                                                                                                                                                                          |
  | Quick reference checklist: Capture and Wash IDE. i) pre Liquid Handler.   | Multiline Text | Read Only   | <p>Default =<br>User tasks for this page:<br>- 'Run' Capture and Wash automation<br>- Download resulting Liquid Handler Input File</p>                                   |
  | Quick reference checklist: Capture and Wash IDE. ii) post Liquid Handler. | Multiline Text | Read Only   | <p>Default =<br>User tasks continued:<br>- After running Capture and Wash on the liquid handler, upload resulting Liquid Handler Output File<br>- Click 'Next Steps'</p> |
* Step File Placeholders
  * Liquid Handler Input File - Automatically attached
  * Script Log File (Aggregated) - Automatically attached
  * Liquid Handler Output File - Manually uploaded
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

### Step 6: Post-Capture Pool QC with Enrichment

* Master Step Name = Generic Pool QC NFE (IGA v2.1)
* Step Type = Standard QC
* Measurement Generation = Fixed, 1
* Naming Convention = {InputItemName}

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-431bc7a4728ef1aec5433aec9571d40d023d12e3%2Figa-library-prep-v2.1-dna-enrichment-step6-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Pool QC - Generic - Enrichment - Copy Normalized Molarity from Output to Input, Copy QC Value to Inputs &#x26; Set QC Passed Sample Next Steps to Remove from Workflow (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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}"
```

{% endcode %}

</details>

<details>

<summary>Pool QC - Generic - Enrichment - Route QC Passed Samples to Sequencing Platform Selection (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "bash /opt/gls/clarity/extensions/IGA_2.1/iga_workflow_routing/changeWorkflowScript_QCStep_RoutePassedInputs.sh {username} {password} {stepURI} {compoundOutputFileLuid1} /opt/gls/clarity/extensions/IGA_2.1/iga_workflow_routing/masterRoutingTable_NFEtoSeqPlatSelect.csv 'v2.1' \
&& /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/unified-product-analytics/automation/unified-product-analytics-automation.jar script:executeUPAAutomationScript -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -s 'com/illumina/upa/scripts/common/step_completed.groovy'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                          | **Field Type** | **Options** | **Additional Options and Dropdown Items**                                                                                              |
  | --------------------------------------- | -------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------- |
  | Quick reference checklist: Pool QC IDE. | Multiline Text | Read Only   | <p>Default =<br>User tasks for this page:<br>- 'Run' Capture and Wash automation<br>- Download resulting Liquid Handler Input File</p> |
* Step File Placeholders
  * QC Instrument Results (Generic Placeholder) - Manually uploaded
  * Script Log File (Aggregated) - Automatically attached
* Sample Table
  * Enable QC Flags = Yes
  * Sample Display Default = Expand
  * Well Sort Order = Row
  * File Column Options
    * File Column Display = Hide
    * File Attachment Method = Auto
  * Table Columns - Global Fields

    | **Category**   | **Field Name**                     | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
    | -------------- | ---------------------------------- | -------------- | ----------- | ----------------------------------------- |
    | Container      | Container Name                     | Built-in       |             |                                           |
    | Container      | LIMS ID (Container)                | Built-in       |             |                                           |
    | Container      | Well                               | Built-in       |             |                                           |
    | Derived Sample | Sample Name                        | Built-in       |             |                                           |
    | Derived Sample | Normalized Molarity (nM)           | Numeric        |             | Decimal Places Displayed = 2              |
    | Derived Sample | INTERNALFIELD\_QCValue\_forRouting | Text           |             |                                           |
    | Measurement    | Normalized Molarity (nM)           | Numeric        |             | Decimal Places Displayed = 2              |
    | Measurement    | INTERNALFIELD\_QCValue\_forRouting | Text           | Read Only   |                                           |
    | Project        | Project Name                       | Built-in       |             |                                           |

## Protocol 7: Sequencing Platform Selection

Protocol Type = Sample Prep

**Next Steps Configuration**

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-a59a34afc09afccc95b8304a33cd30875602421b%2Figa-library-prep-v2.1-sequencing-platform-selection-next-steps-config.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1: Select Sequencing Platform

* Master Step Name = Sequencing Platform Selection (IGA v2.1)
* Step Type = No Outputs

#### Automations

<figure><img src="https://2084401275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfjuebS41N49G1Eh55hP7%2Fuploads%2Fgit-blob-5a65b9d58921412b247d17a538db6b3c8a758559%2Figa-library-prep-v2.1-sequencing-platform-selection-automation.png?alt=media" alt=""><figcaption></figcaption></figure>

<details>

<summary>Register Step Started (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon entry

{% code overflow="wrap" %}

```markup
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'"
```

{% endcode %}

</details>

<details>

<summary>Sequencing Platform Selection - Copy Instrument Type to Analyte &#x26; Set Next Steps to Remove from Workflow (IGA v2.1)</summary>

* Trigger Location = Record Details
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
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}"
```

{% endcode %}

</details>

<details>

<summary>Sequencing Platform Selection - Route to Sequencing Workflow by Type (IGA v2.1)</summary>

* Trigger Location = Step
* Trigger Style = Automatic upon exit

{% code overflow="wrap" %}

```markup
bash -l -c "bash /opt/gls/clarity/extensions/IGA_2.1/iga_workflow_routing/changeWorkflowScript_SeqPlatform_RouteInputs.sh {username} {password} {stepURI} {compoundOutputFileLuid0} /opt/gls/clarity/extensions/IGA_2.1/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'"
```

{% endcode %}

</details>

#### Queue

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Ice Bucket

* Defaults
  * Sample Grouping = Group by Containers
  * Well Sort Order = Row
* Sample Table (Column Headers)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Waiting             | Built-in       |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |

#### Record Details

* Step Data (Master Step Fields)

  | **Field Name**                                           | **Field Type** | **Options**    | **Additional Options and Dropdown Items**                                                                                                            |
  | -------------------------------------------------------- | -------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Sequencing Platform                                      | Text Dropdown  | Required Field | <ul><li><p>Presets</p><ul><li>NovaSeq\_IGA</li><li>NextSeq 1000/2000 v2.3</li></ul></li><li>Default = NovaSeq\_IGA</li></ul>                         |
  | Quick reference checklist: Sequencing Platform Selection | Multiline Text | Read Only      | <ul><li>Default =<br>User tasks for this page:<br>- No actions for this page! The step serves to route all samples to the NovaSeq workflow</li></ul> |
* Step File Placeholders
  * Set Sequencing Platform Script Log - Automatically attached
* Sample Table (Table Columns - Global Fields)

  | **Category**   | **Field Name**      | **Field Type** | **Options** | **Additional Options and Dropdown Items** |
  | -------------- | ------------------- | -------------- | ----------- | ----------------------------------------- |
  | Container      | Container Name      | Built-in       |             |                                           |
  | Container      | LIMS ID (Container) | Built-in       |             |                                           |
  | Container      | Well                | Built-in       |             |                                           |
  | Derived Sample | Sample Name         | Built-in       |             |                                           |
  | Derived Sample | Sequencing Platform | Text           |             |                                           |
  | Project        | Project Name        | Built-in       |             |                                           |
