DNA Initial QC 5.1.2

Overview

The initial DNA QC protocol contains steps to track quality control data from commonly used QC instruments. Through data integrations, QC data can be added to Clarity LIMS directly from the instrument outputs.

Highlights of this protocol include:

  • Data integrations for Bioanalyzer 2100, Nanodrop 8000, CaliperGX, and Tapestation 2200, including creation of the input file and parsing of data output.

  • Assignment of pass/fail QC based on chosen criteria.

  • Aggregation of data from multiple QC steps.

Protocol 1: DNA Initial QC 5.1.2

  • Protocol Type = QC

  • Capacity = 100

  • QC Filters

    • Bioanalyzer QC (DNA) 5.1.2

      • Did not pass - Bioanalyzer QC (DNA) 5.1.2

    • NanoDrop QC (DNA) 5.1.2

      • Did not pass - NanoDrop QC (DNA) 5.1.2

    • Qubit QC (DNA) 5.1.2

      • Did not pass - Qubit QC (DNA) 5.1.2

    • PicoGreen QC (DNA) 5.1.2

      • Did not pass - PicoGreen QC (DNA) 5.1.2

    • CaliperGX QC 5.1.2

      • Did not pass - CaliperGX QC 5.1.2

    • Tapestation QC (DNA) 5.1.2

      • Did not pass - Tapestation QC (DNA) 5.1.2

    • Aggregate QC (DNA) 5.1.2

      • Passed - Bioanalyzer QC (DNA) 5.1.2 OR

      • Passed - NanoDrop QC (DNA) 5.1.2 OR

      • Passed - Qubit QC (DNA) 5.1.2 OR

      • Passed - PicoGreen QC (DNA) 5.1.2 OR

      • Passed - CaliperGX QC 5.1.2 OR

      • Passed - Tapestation QC (DNA) 5.1.2

Step: Bioanalyzer QC (DNA) 5.1.2

  • Master Step Name = Bioanalyzer QC (DNA) 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} Bioanalyzer

Automations

Generate Bioanalyzer driver file
  • Trigger Location = Record Details

  • Trigger Style = Automatic upon entry

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -u {username} -p {password} \
      script:driver_file_generator \
        -i {processURI:v2} \
        -t /opt/gls/clarity/extensions/ngs-common/v5/EPP/conf/readonly/bioA_driver_file_template.csv \
        -o {compoundOutputFileLuid0}.csv \
        -l {compoundOutputFileLuid1}  \
      && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} \
      script:addBlankLines \
        -i {stepURI:v2} \
        -f {compoundOutputFileLuid0}.csv \
        -l {compoundOutputFileLuid1} \
        -sep COMMA \
        -b ',False,' \
        -h 1 \
        -c LIMSID \
        -pre 'Sample '"
Parse Bioanalyzer XML and assign QC flags
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} -i {processURI:v2} \
      script:parseBioAnalyzer \
        -inputFile {compoundOutputFileLuid2} \
        -log {compoundOutputFileLuid5} \
        -configFile '/opt/gls/clarity/extensions/conf/v5/bioanalyzer/defaultBioAnalyzerDNAConfig.groovy' \
      script:assignQC \
        -log {compoundOutputFileLuid6} \
        -qcResult {compoundOutputFileLuid7}"
Set Next Step - Advance
  • Trigger Location = Record Details

  • Trigger Style = Manual button

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 true \
      -h false \
      -exp 'nextStep = ::ADVANCE::' \
      -log {compoundOutputFileLuid0}"
Set Next Step - Output PASS/FAIL
  • Trigger Location = Record Details

  • Trigger Style = Manual button

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 true -h false -excludeControls true -exp 'if (output.QC == true) { nextStep = ::ADVANCE:: } else { nextStep = ::ESCALATE:: }' -log {compoundOutputFileLuid0}"
Set Next Step and Copy to Input
  • Trigger Location = Record Details

  • Trigger Style = Manual button

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 true -h false -exp 'nextStep = ::ADVANCE:: ; input.::Concentration (ng/ul):: = output.::Concentration::' -log {compoundOutputFileLuid7}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Placement = Enabled

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

    • Placement Pattern = Column

  • Destination Containers

    • BioAnalyzer DNA High Sensitivity Chip

    • BioAnalyzer DNA 1000 Chip

Record Details

Group of Defaults

NRCC
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Peak 2 Size - bp

  • Criteria 1 - Threshold Value = 150.00

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Peak 2 Size - bp

  • Criteria 2 - Threshold Value = 1,000.00

  • Use strict matching for Bioanalyzer results = No

Peak 2 Size Thresholds
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Peak 2 Size - bp

  • Criteria 1 - Threshold Value = 100.00

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Peak 2 Size - bp

  • Criteria 2 - Threshold Value = 1,000.00

  • Use strict matching for Bioanalyzer results = No

TruSeq ChIP-Seq
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Region 1 Molarity

  • Criteria 1 - Threshold Value = 5.00

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Region 1 Molarity

  • Criteria 2 - Threshold Value = 10.00

  • Use strict matching for Bioanalyzer results = No

TruSeq Methyl Capture EPIC
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Peak 2 Size - bp

  • Criteria 1 - Threshold Value = 100.00

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Peak 2 Size - bp

  • Criteria 2 - Threshold Value = 300.00

TruSeq Rapid Exome
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Peak 2 Size - bp

  • Criteria 1 - Threshold Value = 150.00

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Peak 2 Size - bp

  • Criteria 2 - Threshold Value = 1,000.00

  • Use strict matching for Bioanalyzer results = No

  • Step Data

    • Step Data Heading = Begin by uploading the required Bioanalyzer XML result file

    • Group of Defaults = Peak 2 Size Thresholds

    • Master Step Fields

  • Step File Placeholders

    • Bioanalyzer Driver File - Automatically attached

    • Bioanalyzer Driver File Generation Log File - Automatically attached

    • Bioanalyzer XML Result File (required) - Manually uploaded

    • Result File (optional) - Manually uploaded

    • PDF Summary File (optional) - Manually uploaded

    • Bioanalyzer XML Parsing Log File - Automatically attached

    • QC Assignment Log File - Automatically attached

    • QC Assignment Report - 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

Step: NanoDrop QC (DNA) 5.1.2

  • Master Step Name = NanoDrop QC (DNA) 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} NanoDrop

Automations

Generate NanoDrop driver file
  • Trigger Location = Record Details

  • Trigger Style = Automatic upon entry

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -u {username} -p {password} \
      script:driver_file_generator \
        -i {processURI:v2} \
        -t /opt/gls/clarity/extensions/ngs-common/v5/EPP/conf/readonly/nd_driver_file_template.csv \
        -o {compoundOutputFileLuid0}.csv \
        -l {compoundOutputFileLuid1}"
Parse NanoDrop NDT and assign QC flags
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} -i {processURI:v2} \
      script:parseCSV \
        -inputFile {compoundOutputFileLuid2} \
        -log {compoundOutputFileLuid3} \
        -headerRow '2' \
        -separator 'TAB' \
        -sampleLocation 'Sample ID' \
        -measurementUDFMap 'Concentration::ng/ul' \
        -measurementUDFMap 'A260/280 ratio::260/280' \
        -measurementUDFMap 'A260/230 ratio::260/230' \
        -measurementUDFMap 'A260::260' \
        -relaxed 'true' \
      script:assignQC \
        -log {compoundOutputFileLuid4} \
        -qcResult {compoundOutputFileLuid5}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Record Details

Group of Defaults

A260/A280 Thresholds
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = A260/280 ratio

  • Criteria 1 - Threshold Value = 1.70

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = A260/280 ratio

  • Criteria 2 - Threshold Value = 2.00

  • Step Data

    • Step Data Heading = Begin by uploading the required NanoDrop NDT result file

    • Group of Defaults = A260/A280 Thresholds

    • Master Step Fields

  • Step File Placeholders

    • NanoDrop Driver File - Automatically attached

    • NanoDrop Driver File Generation Log File - Automatically attached

    • NanoDrop NDT Result File (required) - Manually uploaded

    • NanoDrop NDT Parsing Log File - Automatically attached

    • QC Assignment Log File - Automatically attached

    • QC Assignment Report - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • File Column Options

      • File Column Display = Hide

      • File Attachment Method = Auto

    • Table Columns - Global Fields

Step: Qubit QC (DNA) 5.1.2

  • Master Step Name = Qubit QC (DNA) 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} Qubit

Automations

Assign QC flags
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} \
      script:assignQC \
        -i {processURI:v2} \
        -log {compoundOutputFileLuid1} \
        -qcResult {compoundOutputFileLuid2}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Record Details

Group of Defaults

Concentration Thresholds
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Concentration

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Concentration

  • Step Data

    • Step Data Heading = Begin by completing the Sample Details table

    • Group of Defaults = Concentration Thresholds

    • Master Step Fields

  • Step File Placeholders

    • Qubit Result File - Manually uploaded

    • QC Assignment Log File - Automatically attached

    • QC Assignment Report - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • File Column Options

      • File Column Display = Hide

      • File Attachment Method = Auto

    • Table Columns - Global Fields

Step: PicoGreen QC (DNA) 5.1.2

  • Master Step Name = PicoGreen QC (DNA) 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} PicoGreen

Automations

Assign QC flags
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} \
      script:assignQC \
        -i {processURI:v2} \
        -log {compoundOutputFileLuid1} \
        -qcResult {compoundOutputFileLuid2}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Placement = Enabled

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

    • Placement Pattern = Column

  • Destination Containers

    • Tube

    • 96 well plate

Record Details

Group of Defaults

Concentration Thresholds
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Concentration

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Concentration

  • Step Data

    • Step Data Heading = Begin by completing the Sample Details table

    • Group of Defaults = Concentration Thresholds

    • Master Step Fields

  • Step File Placeholders

    • PicoGreen Result File - Manually uploaded

    • QC Assignment Log File - Automatically attached

    • QC Assignment Report - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • File Column Options

      • File Column Display = Hide

      • File Attachment Method = Auto

    • Table Columns - Global Fields

Step: CaliperGX QC 5.1.2

  • Master Step Name = CaliperGX QC 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} CaliperGX

Automations

Generate Driver File
  • Trigger Location = Record Details

  • Trigger Style = Automatic upon entry

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -u {username} -p {password} \
      script:driver_file_generator \
        -i {processURI:v2} \
        -t /opt/gls/clarity/extensions/ngs-common/v5/EPP/conf/readonly/caliperGX_driver_file_template.csv \
        -o {compoundOutputFileLuid0}.csv \
        -l {compoundOutputFileLuid1}"
Parse CaliperGX CSV
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} -i {processURI:v2} \
      script:parseCSV \
        -inputFile {compoundOutputFileLuid2} \
        -log {compoundOutputFileLuid3} \
        -headerRow '1' \
        -separator 'comma' \
        -containerName 'Plate Name' \
        -wellPosition 'Well Label' \
        -measurementUDFMap 'Concentration::Region[100-1000] Conc. (ng/ul)' \
        -measurementUDFMap 'Size (bp)::Region[100-1000] Size at Maximum [BP]' \
        -relaxed 'true' \
        -matchOutput 'true' \
      script:assignQC \
        -log {compoundOutputFileLuid4} \
        -qcResult {compoundOutputFileLuid5}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Placement = Enabled

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

    • Placement Pattern = Column

  • Destination Containers

    • 384 well plate

    • 96 well plate

Record Details

Group of Defaults

Caliper Defaults
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Concentration

  • Criteria 1 - Threshold Value = 0

  • Criteria 2 - Operator = >=

  • Criteria 2 - Source Data Field = Size (bp)

  • Criteria 2 - Threshold Value = 300

  • Step Data

    • Group of Defaults = Caliper Defaults

    • Master Step Fields

  • Step File Placeholders

    • Driver File - Automatically attached

    • Driver File Log - Automatically attached

    • CaliperGX WellTable (required) - Manually uploaded

    • CaliperGX Parsing Log File - Automatically attached

    • QC Assignment Log File - Automatically attached

    • QC Assignment Report - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • File Column Options

      • File Column Display = Hide

      • File Attachment Method = Auto

    • Table Columns - Global Fields

Step: Tapestation QC (DNA) 5.1.2

  • Master Step Name = Tapestation QC (DNA) 5.1.2

  • Step Type = Standard QC

  • Measurement Generation = Fixed, 1

  • Naming Convention = {InputItemName} Tapestation

Automations

Generate Tapestation Input Sampletable CSV
  • Trigger Location = Record Details

  • Trigger Style = Automatic upon entry

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/DriverFileGenerator.jar -u {username} -p {password} \
      script:driver_file_generator \
        -i {processURI:v2} \
        -t /opt/gls/clarity/extensions/ngs-common/v5/EPP/conf/readonly/tapestation_driver_file_template.csv \
        -o {compoundOutputFileLuid0}.csv \
        -l {compoundOutputFileLuid1}"
Parse Tapestation XML and assign QC flags
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/XmlSampleNameParser.jar -u {username} -p {password} \
      script:parseXmlBySampleName \
        -i {processURI:v2} \
        -inputFile {compoundOutputFileLuid2} \
        -log {compoundOutputFileLuid3}.html \
        -configFile /opt/gls/clarity/extensions/conf/v5/tapestation/defaultTapeStationDNAConfig.groovy \
      && /opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} \
      script:assignQC \
        -i {processURI:v2} \
        -log {compoundOutputFileLuid4} \
        -qcResult {compoundOutputFileLuid5}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Record Details

Group of Defaults

Peak 2 Size Thresholds
  • Criteria 1 - Operator = >=

  • Criteria 1 - Source Data Field = Peak 2 MW

  • Criteria 1 - Threshold Value = 100

  • Criteria 2 - Operator = <=

  • Criteria 2 - Source Data Field = Peak 2 MW

  • Criteria 2 - Threshold Value = 1,000

  • Step Data

    • Group of Defaults = Peak 2 Size Thresholds

    • Master Step Fields

  • Step File Placeholders

    • TapeStation Input SampleTable - Automatically attached

    • Sample Table Generation Log - Automatically attached

    • Tapestation Output XML (required) - Manually uploaded

    • Tapestation XML Parsing Log - Automatically attached

    • QC Assignment Log - Automatically attached

    • QC Assignment Report - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • File Column Options

      • File Column Display = Hide

      • File Attachment Method = Auto

    • Table Columns - Global Fields

Step: Aggregate QC (DNA) 5.1.2

  • Master Step Name = Aggregate QC (DNA) 5.1.2

  • Step Type = No Outputs

Automations

Aggregate QC Flags and Copy Fields
  • Trigger Location = Record Details

  • Trigger Style = Manual button

bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/ngs-common/v5/EPP/ngs-extensions.jar -u {username} -p {password} \
      script:setUDF \
        -i {processURI:v2} \
        -f 'Progress' \
        -t '//input/@uri->//sample/@uri' \
        -v 'Initial sample QC complete' \
      script:aggregateQC \
        -i {stepURI:v2} \
        -c 'true' \
        -a 'true' \
        -log {compoundOutputFileLuid0} \
        -aggregatelog {compoundOutputFileLuid1} \
        -copylog {compoundOutputFileLuid2}"

Queue/Ice Bucket

  • Defaults

    • Sample Grouping = Group by Projects

    • Well Sort Order = Row

  • Sample Table

    • Column Headers

    • Expanded View Fields

Record Details

Group of Defaults

NanoDrop Values
  • Bioanalzyer QC (DNA) 5.1.2 = Use if available (Priority 5)

  • CaliperGX QC 5.1.2 = Use if available (Priority 5)

  • Copy task 1 - Source Field = Concentration

  • Copy task 1 - Source Step = NanoDrop QC (DNA) 5.1.2

  • Copy task 2 - Source Field = Conc. Units

  • Copy task 2 - Source Step = NanoDrop QC (DNA) 5.1.2

  • NanoDrop QC (DNA) 5.1.2 = Use if available (Priority 5)

  • PicoGreen QC (DNA) 5.1.2 = Use if available (Priority 5)

  • Qubit QC (DNA) 5.1.2 = Use if available (Priority 5)

  • Tapestation QC (DNA) 5.1.2 = Use if available (Priority 5)

  • Step Data

    • Step Data Heading = Begin by verifying copy tasks and aggregation priorities

    • Group of Defaults = NanoDrop Values

    • Master Step Fields

  • Step File Placeholders

    • Aggregation Script Log - Automatically attached

    • QC Flag Aggregation Log - Automatically attached

    • QC UDF Copy Log - Automatically attached

  • Sample Table

    • Enable QC Flags = Yes

    • Sample Display Default = Collapse

    • Well Sort Order = Row

    • Table Columns - Global Fields

Last updated