Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...



/opt/gls/clarity/extensions/novaseq/SequencingService/NovaSeqIntegrator.logrpm -qa | grep -i novaseq

















bash /opt/gls/clarity/config/pending/05_configure_claritylims_secretutil.shbash /opt/gls/clarity/config/pending/05_configure_claritylims_secretutil.shjava -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION -u=bash /opt/gls/clarity/config/configure_extensions_novaseq.shsystemctl start novaseq_seqservicebash /opt/gls/clarity/config/configure_extensions_novaseq.shyum install BaseSpaceLIMS-novaseq-sequencing-servicebash /opt/gls/clarity/automation_worker/node/bin/configure.shsystemctl start novaseq_seqserviceyum install BaseSpaceLIMS-novaseq-extensions --enablerepo=<< repo name info from support >>
yum install BaseSpaceLIMS-novaseq-sequencing-service --enablerepo=<< repo name info from support >>yum install BaseSpaceLIMS-novaseq-extensions --enablerepo=<< repo name info from support >>/opt/gls/ClarityUpgradeValidation/bin/checkUsernameConfiguration.shjava -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION -u=java -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATIONjava -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION
bash /opt/gls/clarity/config/pending/05_configure_claritylims_secretutil.shbash /opt/gls/clarity/config/pending/05_configure_claritylims_secretutil.shjava -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION -u= bash /opt/gls/clarity/config/configure_extensions_novaseq.shsystemctl start novaseq_seqservicebash /opt/gls/clarity/config/configure_extensions_novaseq.shyum install BaseSpaceLIMS-novaseq-sequencing-servicebash /opt/gls/clarity/automation_worker/node/bin/configure.shsystemctl start novaseq_seqserviceyum install BaseSpaceLIMS-novaseq-extensions --enablerepo=<< repo name info from support >>
yum install BaseSpaceLIMS-novaseq-sequencing-service --enablerepo=<< repo name info from support >>yum install BaseSpaceLIMS-novaseq-extensions --enablerepo=<< repo name info from support >>
/opt/gls/ClarityUpgradeValidation/bin/checkUsernameConfiguration.shjava -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION -u= java -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION java -jar /opt/gls/clarity/tools/secretutil/secretutil.jar -n=INTEGRATION 


/opt/gls/clarity/extensions/novaseq/SequencingService/NovaSeqIntegrator.logrpm -qa | grep -i novaseq
























if (!input.hasValue(::Normalized Molarity (nM)::)) { fail(::The Normalized Molarity cannot be empty.::) ; }else if (input.::Normalized Molarity (nM):: < input.::Minimum Molarity (nM)::) { input.::Warning:: = ::The Normalized Molarity is too low.:: ; input.::Loading Workflow Type:: = ::[Remove from workflow]:: ; } else { input.::Warning:: = ::n/a:: }step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 150;
step.::PhiX Volume (ul):: *= 0.9
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 310;
step.::PhiX Volume (ul):: *= 1.9
};
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = ::::
};input.::Per Sample Volume (ul):: = ( ( (input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM):: ) * step.::Bulk Pool Volume (ul):: ) / step.::Number of Samples in Pool::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0} else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;output.::Flowcell Type::= input.::Flowcell Type::;output.::Loading Workflow Type::= input.::Loading Workflow Type::;step.::PhiX Volume (ul):: = !step.hasValue('% PhiX (2.5nM) Spike-In') ? 0 : step.'% PhiX (2.5nM) Spike-In';
if (input.::Flowcell Type:: == ::SP::) {
output.::Volume of Pool to Denature (ul):: = 100;
output.::NaOH Volume (ul):: = 25;
output.::Tris-HCl Volume (ul):: = 25;
}
if (input.::Flowcell Type:: == ::S1::) {
output.::Volume of Pool to Denature (ul):: = 100;
output.::NaOH Volume (ul):: = 25;
output.::Tris-HCl Volume (ul):: = 25;
}
if (input.::Flowcell Type:: == ::S2::) {
output.::Volume of Pool to Denature (ul):: = 150;
output.::NaOH Volume (ul):: = 37;
output.::Tris-HCl Volume (ul):: = 38;
}
if (input.::Flowcell Type:: == ::S4::) {
output.::Volume of Pool to Denature (ul):: = 310;
output.::NaOH Volume (ul):: = 77;
output.::Tris-HCl Volume (ul):: = 78;
}script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool1.csv \ -o 1.csv \ script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool2.csv \ -o 2.csv \ script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool3.csv \ -o 3.csv \&& cat 1.csv 2.csv 3.csv > {compoundOutputFileLuid0}.csvstep.'Number of Samples in Pool' = step.'Number of Samples in Pool' - 1;
step.'Total Sample Volume (ul)' = step.'Total Sample Volume (ul)' - input.'Adjusted Per Sample Volume (ul)'output.::Loading Workflow Type:: = input.::Loading Workflow Type::;if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0-9, -, and _::)
}
if(step.::Workflow Type::== ::No Index::) {
if(step.::Index Read 1::!= 0) {
fail(::Index Read 1 must be 0 if the Workflow Type is No Index.::)
}
} else {
if(step.::Index Read 1::== 0) {
fail(::Index Read 1 must be greater than 0 if the Workflow Type is ::+ step.::Workflow Type::+ ::.::)
}
}if (step.::Paired End::.toBoolean()) {
if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {
fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::);
}
} else {
if (step.::Read 2 Cycles:: != 0) {
fail(::Read 2 Cycles must be 0 if Paired End is False.::);
}
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::);
}
}if (input.::Flowcell Type:: != ::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}
if (input.::Flowcell Type:: != ::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::);
}
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}nextStep = ::REMOVE::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0} else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;step.'Number of Samples in Pool' = step.'Number of Samples in Pool' - 1;
step.'Total Sample Volume (ul)' = step.'Total Sample Volume (ul)' - input.'Adjusted Per Sample Volume (ul)'output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;nextStep = ::REMOVE::step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1nextStep = ::ADVANCE::step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::; if (input.::Flowcell Type:: == ::SP::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100; step.::PhiX Volume (ul):: *= 0.6 }; if (input.::Flowcell Type:: == ::S1::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100; step.::PhiX Volume (ul):: *= 0.6 }; if (input.::Flowcell Type:: == ::S2::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 150; step.::PhiX Volume (ul):: *= 0.9 }; if (input.::Flowcell Type:: == ::S4::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 310; step.::PhiX Volume (ul):: *= 1.9 }; if (step.::PhiX Volume (ul):: == 0) { step.::PhiX Volume (ul):: = :::: }; input.::Per Sample Volume (ul):: = (((input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::script:validateSampleCount -min 1 -max 1if (!output.container.name.matches(::[A-Z]{2}[0-9]{7}-[A-Z]{3}::)){
fail(::Invalid Library Tube Barcode. Please verify and try again.::)
}output.::Flowcell Type:: = input.::Flowcell Type::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 {stepURI:v2} -l {compoundOutputFileLuid2} script:changeWorkflow \
\
--FIELD_NAME 'N/A' \
--FIELD_VALUE 'N/A' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'AUTOMATED - NovaSeq Run (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS'"step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1input.::Per Sample Volume (ul)::= (((input.::Final Loading Concentration (pM)::* 5/ 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::if (input.::Flowcell Type:: == ::SP:: && !output.container.name.matches(::[A-Z0-9]{5}DR[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S1:: && !output.container.name.matches(::[A-Z0-9]{5}DR[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S2:: && !output.container.name.matches(::[A-Z0-9]{5}DM[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S4:: && !output.container.name. matches(::[A-Z0-9]{5}DS[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};step.::Run Mode:: = input.::Flowcell Type::nextStep = ::ADVANCE::input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000bash -c "/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 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Standard' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'INPUTS' \
\
--FIELD_NAME 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Xp' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'INPUTS'"/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -validateSingleOutput true -poolType bulkstep.::Run Mode:: = input.::Flowcell Type::/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools
-i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -validateSingleOutput truestep.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (0.25nM) Spike-In::) ? 0 : step.::% PhiX (0.25nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
}
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
}
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 22;
step.::PhiX Volume (ul):: *= 0.8;
}
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 30;
step.::PhiX Volume (ul):: *= 1.1;
}
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = '';
}output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1}"if (input.::Flowcell Type:: == ::SP::) {
output.::BP Aliquot Volume (ul):: = 18;
output.::NaOH Volume (ul):: = 4;
output.::Tris-HCl Volume (ul):: = 5;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S1::) {
output.::bp Aliquot Volume (ul):: = 18;
output.::NaOH Volume (ul):: = 4;
output.::Tris-HCl Volume (ul):: = 5;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S2::) {
output.::bp Aliquot Volume (ul):: = 22;
output.::NaOH Volume (ul):: = 5;
output.::Tris-HCl Volume (ul):: = 6;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 77
};
if (input.::Flowcell Type:: == ::S4::) {
output.::bp Aliquot Volume (ul):: = 30;
output.::NaOH Volume (ul):: = 7;
output.::Tris-HCl Volume (ul):: = 8;
step.::DPX1 Volume (ul):: = 315;
step.::DPX2 Volume (ul):: = 45;
step.::DPX3 Volume (ul):: = 165;
output.::Mastermix per Lane (ul):: = 105
};output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0-9, -, and _::)
};
if(step.::Workflow Type::== ::No Index::) {
if(step.::Index Read 1::!= 0) {
fail(::Index Read 1 must be 0 if the Workflow Type is No Index.::)
}
} else{
if(step.::Index Read 1::== 0) {
fail(::Index Read 1 must be greater than 0 if the Workflow Type is ::+ step.::Workflow Type::+ ::.::)
}
};if (step.::Paired End::.toBoolean()) {if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::);}} else {if (step.::Read 2 Cycles:: != 0) {fail(::Read 2 Cycles must be 0 if Paired End is False.::);}
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::);}}if (input.::Flowcell Type:: != ::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}
if (input.::Flowcell Type:: != ::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::);
}
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}output.::Flowcell Type::= input.::Flowcell Type::;nextStep = ::ADVANCE::








if (!input.hasValue(::Normalized Molarity (nM)::)) { fail(::The Normalized Molarity cannot be empty.::) ; }else if (input.::Normalized Molarity (nM):: < input.::Minimum Molarity (nM)::) { input.::Warning:: = ::The Normalized Molarity is too low.:: ; input.::Loading Workflow Type:: = ::[Remove from workflow]:: ; } else { input.::Warning:: = ::n/a:: }step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100;
step.::PhiX Volume (ul):: *= 0.6
};
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 150;
step.::PhiX Volume (ul):: *= 0.9
};
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 310;
step.::PhiX Volume (ul):: *= 1.9
};
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = ::::
};input.::Per Sample Volume (ul):: = ( ( (input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM):: ) * step.::Bulk Pool Volume (ul):: ) / step.::Number of Samples in Pool::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0} else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;output.::Flowcell Type::= input.::Flowcell Type::;output.::Loading Workflow Type::= input.::Loading Workflow Type::;step.::PhiX Volume (ul):: = !step.hasValue('% PhiX (2.5nM) Spike-In') ? 0 : step.'% PhiX (2.5nM) Spike-In';
if (input.::Flowcell Type:: == ::SP::) {
output.::Volume of Pool to Denature (ul):: = 100;
output.::NaOH Volume (ul):: = 25;
output.::Tris-HCl Volume (ul):: = 25;
}
if (input.::Flowcell Type:: == ::S1::) {
output.::Volume of Pool to Denature (ul):: = 100;
output.::NaOH Volume (ul):: = 25;
output.::Tris-HCl Volume (ul):: = 25;
}
if (input.::Flowcell Type:: == ::S2::) {
output.::Volume of Pool to Denature (ul):: = 150;
output.::NaOH Volume (ul):: = 37;
output.::Tris-HCl Volume (ul):: = 38;
}
if (input.::Flowcell Type:: == ::S4::) {
output.::Volume of Pool to Denature (ul):: = 310;
output.::NaOH Volume (ul):: = 77;
output.::Tris-HCl Volume (ul):: = 78;
}script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool1.csv \ -o 1.csv \ script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool2.csv \ -o 2.csv \ script:driver_file_generator \ -t /opt/gls/clarity/extensions/novaseq/templates/NovaSeq_Standard_Bulk_Pool3.csv \ -o 3.csv \&& cat 1.csv 2.csv 3.csv > {compoundOutputFileLuid0}.csvstep.'Number of Samples in Pool' = step.'Number of Samples in Pool' - 1;
step.'Total Sample Volume (ul)' = step.'Total Sample Volume (ul)' - input.'Adjusted Per Sample Volume (ul)'output.::Loading Workflow Type:: = input.::Loading Workflow Type::;if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0-9, -, and _::)
}
if(step.::Workflow Type::== ::No Index::) {
if(step.::Index Read 1::!= 0) {
fail(::Index Read 1 must be 0 if the Workflow Type is No Index.::)
}
} else {
if(step.::Index Read 1::== 0) {
fail(::Index Read 1 must be greater than 0 if the Workflow Type is ::+ step.::Workflow Type::+ ::.::)
}
}if (step.::Paired End::.toBoolean()) {
if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {
fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::);
}
} else {
if (step.::Read 2 Cycles:: != 0) {
fail(::Read 2 Cycles must be 0 if Paired End is False.::);
}
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::);
}
}if (input.::Flowcell Type:: != ::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}
if (input.::Flowcell Type:: != ::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::);
}
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}nextStep = ::REMOVE::step.::Total Sample Volume (ul):: = step.::Total Sample Volume (ul):: + input.::Adjusted Per Sample Volume (ul)::if (step.::Total Sample Volume (ul):: >= step.::Bulk Pool Volume (ul)::) {output.::RSB Volume (ul):: = 0} else {output.::RSB Volume (ul):: = step.::Bulk Pool Volume (ul):: - step.::Total Sample Volume (ul)::} ;output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;step.'Number of Samples in Pool' = step.'Number of Samples in Pool' - 1;
step.'Total Sample Volume (ul)' = step.'Total Sample Volume (ul)' - input.'Adjusted Per Sample Volume (ul)'output.::Flowcell Type::= input.::Flowcell Type::;
output.::Loading Workflow Type::= input.::Loading Workflow Type::;nextStep = ::REMOVE::step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1nextStep = ::ADVANCE::step.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (2.5nM) Spike-In::) ? 0 : step.::% PhiX (2.5nM) Spike-In::; if (input.::Flowcell Type:: == ::SP::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100; step.::PhiX Volume (ul):: *= 0.6 }; if (input.::Flowcell Type:: == ::S1::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 100; step.::PhiX Volume (ul):: *= 0.6 }; if (input.::Flowcell Type:: == ::S2::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 150; step.::PhiX Volume (ul):: *= 0.9 }; if (input.::Flowcell Type:: == ::S4::) { step.::Bulk Pool Volume (ul):: = step.::Number of Flowcells to Sequence:: * 310; step.::PhiX Volume (ul):: *= 1.9 }; if (step.::PhiX Volume (ul):: == 0) { step.::PhiX Volume (ul):: = :::: }; input.::Per Sample Volume (ul):: = (((input.::Final Loading Concentration (pM):: * 5 / 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::script:validateSampleCount -min 1 -max 1if (!output.container.name.matches(::[A-Z]{2}[0-9]{7}-[A-Z]{3}::)){
fail(::Invalid Library Tube Barcode. Please verify and try again.::)
}output.::Flowcell Type:: = input.::Flowcell Type::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 {stepURI:v2} -l {compoundOutputFileLuid2} script:changeWorkflow \
\
--FIELD_NAME 'N/A' \
--FIELD_VALUE 'N/A' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'AUTOMATED - NovaSeq Run (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'OUTPUTS'"step.::Number of Samples in Pool:: = step.::Number of Samples in Pool:: + 1input.::Per Sample Volume (ul)::= (((input.::Final Loading Concentration (pM)::* 5/ 1000) / input.::Normalized Molarity (nM)::) * step.::Bulk Pool Volume (ul)::) / step.::Number of Samples in Pool::if (input.::Flowcell Type:: == ::SP:: && !output.container.name.matches(::[A-Z0-9]{5}DR[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S1:: && !output.container.name.matches(::[A-Z0-9]{5}DR[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S2:: && !output.container.name.matches(::[A-Z0-9]{5}DM[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};
if (input.::Flowcell Type:: == ::S4:: && !output.container.name. matches(::[A-Z0-9]{5}DS[A-Z0-9]{2}::)) {
fail(::Invalid Flowcell Barcode. Please verify and try again.::)
};step.::Run Mode:: = input.::Flowcell Type::nextStep = ::ADVANCE::input.::Minimum Molarity (nM):: = (5 * input.::Final Loading Concentration (pM)::)/1000bash -c "/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 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Standard' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'Make Bulk Pool for NovaSeq Standard (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'INPUTS' \
\
--FIELD_NAME 'Loading Workflow Type' \
--FIELD_VALUE 'NovaSeq Xp' \
--WORKFLOW 'NovaSeq 6000 v2.3' \
--STEP 'Make Bulk Pool for NovaSeq Xp (NovaSeq 6000 v2.3)' \
--INPUTS_OR_OUTPUTS 'INPUTS'"/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -validateSingleOutput true -poolType bulkstep.::Run Mode:: = input.::Flowcell Type::/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools
-i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1} -validateSingleOutput truestep.::PhiX Volume (ul):: = !step.hasValue(::% PhiX (0.25nM) Spike-In::) ? 0 : step.::% PhiX (0.25nM) Spike-In::;
if (input.::Flowcell Type:: == ::SP::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
}
if (input.::Flowcell Type:: == ::S1::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 18;
step.::PhiX Volume (ul):: *= 0.7;
}
if (input.::Flowcell Type:: == ::S2::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 22;
step.::PhiX Volume (ul):: *= 0.8;
}
if (input.::Flowcell Type:: == ::S4::) {
step.::Bulk Pool Volume (ul):: = step.'Number of Lanes to Sequence' * 30;
step.::PhiX Volume (ul):: *= 1.1;
}
if (step.::PhiX Volume (ul):: == 0) {
step.::PhiX Volume (ul):: = '';
}output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::bash -l -c "/opt/gls/clarity/bin/java -jar /opt/gls/clarity/extensions/novaseq/novaseq-extensions.jar script:validate_flowcell_for_input_pools -i {stepURI:v2} -u {username} -p {password} -l {compoundOutputFileLuid1}"if (input.::Flowcell Type:: == ::SP::) {
output.::BP Aliquot Volume (ul):: = 18;
output.::NaOH Volume (ul):: = 4;
output.::Tris-HCl Volume (ul):: = 5;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S1::) {
output.::bp Aliquot Volume (ul):: = 18;
output.::NaOH Volume (ul):: = 4;
output.::Tris-HCl Volume (ul):: = 5;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 63
};
if (input.::Flowcell Type:: == ::S2::) {
output.::bp Aliquot Volume (ul):: = 22;
output.::NaOH Volume (ul):: = 5;
output.::Tris-HCl Volume (ul):: = 6;
step.::DPX1 Volume (ul):: = 126;
step.::DPX2 Volume (ul):: = 18;
step.::DPX3 Volume (ul):: = 66;
output.::Mastermix per Lane (ul):: = 77
};
if (input.::Flowcell Type:: == ::S4::) {
output.::bp Aliquot Volume (ul):: = 30;
output.::NaOH Volume (ul):: = 7;
output.::Tris-HCl Volume (ul):: = 8;
step.::DPX1 Volume (ul):: = 315;
step.::DPX2 Volume (ul):: = 45;
step.::DPX3 Volume (ul):: = 165;
output.::Mastermix per Lane (ul):: = 105
};output.::Flowcell Type:: = input.::Flowcell Type:: ; nextStep = ::ADVANCE::if(!step.::Experiment Name::.matches(::[a-zA-Z0-9-_]+::)) {
fail(::Experiment Name contains prohibited characters. Allowed characters are: a-z, A-Z, 0-9, -, and _::)
};
if(step.::Workflow Type::== ::No Index::) {
if(step.::Index Read 1::!= 0) {
fail(::Index Read 1 must be 0 if the Workflow Type is No Index.::)
}
} else{
if(step.::Index Read 1::== 0) {
fail(::Index Read 1 must be greater than 0 if the Workflow Type is ::+ step.::Workflow Type::+ ::.::)
}
};if (step.::Paired End::.toBoolean()) {if (step.::Read 1 Cycles:: == 0 || step.::Read 2 Cycles:: == 0) {fail(::Read 1 Cycles and Read 2 Cycles must be greater than 0 if Paired End is True.::);}} else {if (step.::Read 2 Cycles:: != 0) {fail(::Read 2 Cycles must be 0 if Paired End is False.::);}
if (step.hasValue(::UMI - Read 2 Length::) || step.hasValue(::UMI - Read 2 Start From Cycle::)) {fail(::UMI - Read 2 Length and UMI - Read 2 Start From Cycle cannot be defined if Paired End is False.::);}}if (input.::Flowcell Type:: != ::SP:: && step.::Read 1 Cycles:: > 151) {
fail(::Read 1 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}
if (input.::Flowcell Type:: != ::SP:: && step.::Read 2 Cycles:: > 151) {
fail(::Read 2 Cycles must not be larger than 151 if it is not SPrime Flowcell.::);
}if (step.hasValue(::UMI - Read 1 Length::) && !step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 1 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 1 Start From Cycle::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 1 Start From Cycle is greater than 0.::);
}
if (step.hasValue(::UMI - Read 2 Length::) && !step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Start From Cycle must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 2 Length::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 2 Length must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Length::) && step.hasValue(::UMI - Read 2 Length::)) {
fail(::UMI - Read 1 Length must be greater than 0 if UMI - Read 2 Length is greater than 0.::);
}
if (!step.hasValue(::UMI - Read 1 Start From Cycle::) && step.hasValue(::UMI - Read 2 Start From Cycle::)) {
fail(::UMI - Read 1 Start From Cycle must be greater than 0 if UMI - Read 2 Start From Cycle is greater than 0.::);
}output.::Flowcell Type::= input.::Flowcell Type::;nextStep = ::ADVANCE::