From 7a25f377deeae99fd9a2f11ace1b5ae479e7fdd3 Mon Sep 17 00:00:00 2001 From: Marina Gourtovaia Date: Fri, 17 Nov 2023 12:27:52 +0000 Subject: [PATCH 1/2] Distinguish between NovaSeq and NovaSeqX RunParams. We use the name of the Application in RunParameters.xml to detect that the instrument belongs to the NovaSeq type. Newer NovaSeqX instrument we have has the following definition for the application: NovaSeqXSeries Control Software This pull request fixes the reg exp we use to ensure that the above definition does not result in the instrument being classified as NovaSeq. --- MANIFEST | 1 + lib/npg_tracking/illumina/run/long_info.pm | 2 +- t/60-illumina-run-long_info.t | 12 ++- .../RunParameters.novaseqx.prod.xml | 87 +++++++++++++++++++ 4 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 t/data/run_params/RunParameters.novaseqx.prod.xml diff --git a/MANIFEST b/MANIFEST index 346e5a4b..19a00573 100644 --- a/MANIFEST +++ b/MANIFEST @@ -666,6 +666,7 @@ t/data/run_params/runParameters.hiseqx.upgraded.xml t/data/run_params/runParameters.hiseqx.xml t/data/run_params/runParameters.miseq.xml t/data/run_params/RunParameters.novaseq.xp.lite.xml +t/data/run_params/RunParameters.novaseqx.prod.xml t/data/samplesheet/samplesheet_7753.csv t/data/samplesheet/samplesheet_27483.csv t/data/samplesheet/samplesheet_33990.csv diff --git a/lib/npg_tracking/illumina/run/long_info.pm b/lib/npg_tracking/illumina/run/long_info.pm index 5e321dd4..69377a7d 100644 --- a/lib/npg_tracking/illumina/run/long_info.pm +++ b/lib/npg_tracking/illumina/run/long_info.pm @@ -592,7 +592,7 @@ instrument belonging to NovaSeq platform. sub platform_NovaSeq { my $self = shift; - return $self->_software_application_name() =~ /NovaSeq/xms; + return $self->_software_application_name() =~ /NovaSeq(?!X)/xms; } =head2 platform_NovaSeqX diff --git a/t/60-illumina-run-long_info.t b/t/60-illumina-run-long_info.t index 5015437a..7ae660c8 100644 --- a/t/60-illumina-run-long_info.t +++ b/t/60-illumina-run-long_info.t @@ -29,7 +29,7 @@ package main; my $basedir = tempdir( CLEANUP => 1 ); subtest 'retrieving information from runParameters.xml' => sub { - plan tests => 167; + plan tests => 177; my $rf = join q[/], $basedir, 'runfolder'; mkdir $rf; @@ -52,7 +52,8 @@ subtest 'retrieving information from runParameters.xml' => sub { RunParameters.novaseq.xp.xml RunParameters.novaseq.xp.v1.5.xml runParameters.hiseq.rr.truseq.xml - RunParameters.novaseqx.xml + RunParameters.novaseqx.xml + RunParameters.novaseqx.prod.xml /; my $dir = 't/data/run_params'; @@ -117,8 +118,11 @@ subtest 'retrieving information from runParameters.xml' => sub { } else { ok (!$li->uses_patterned_flowcell, 'not patterned flowcell'); } - - ok (!$li->onboard_analysis_planned(), 'onboard analysis is not planned'); + if ($f =~ /novaseqx\.prod/) { + ok ($li->onboard_analysis_planned(), 'onboard analysis is planned'); + } else { + ok (!$li->onboard_analysis_planned(), 'onboard analysis is not planned'); + } unlink $name; } diff --git a/t/data/run_params/RunParameters.novaseqx.prod.xml b/t/data/run_params/RunParameters.novaseqx.prod.xml new file mode 100644 index 00000000..bd9c75b5 --- /dev/null +++ b/t/data/run_params/RunParameters.novaseqx.prod.xml @@ -0,0 +1,87 @@ + + + B + NovaSeqXSeries Control Software + 1.2.0.26276 + //nx2-esa.dnapipelines.sanger.ac.uk/staging/IL_seq_data/incoming/20231019_LH00275_0006_B19NJCA4LE + InstrumentPerformance + LocalOrchestrated + LocalAnalysis + NovaSeqXPlus + LH00275 + 20231019_LH00275_0006_B19NJCA4LE + 6 + 25B Sequencing + 25B-01.02.00 + 47999_NX2_B + NovaSeqXSeries B4 + NovaSeqXSeriesB4 + + + 19NJCA4LE + 9345L1E1 + 20088038 + 2024-04-29T00:00:00+01:00 + FlowCell + 4 + 1.0 + 25B + + + LC2305090085-1 + 23050901 + 20089853 + 2024-08-09T00:00:00+01:00 + Buffer + 3 + 1.0 + Universal + + + LC1001941-LS1 + 1000018698 + 20101913 + 2025-08-25T00:00:00+01:00 + SampleTube + 3 + 1.0 + 8 Lane + + + LC4044182-25B3 + 20784608 + 20066626 + 2024-08-20T00:00:00+01:00 + Reagent + 4 + 1.5 + 25B 300c + + + LC2000520-LI5 + 17792769 + 20090674 + 2024-05-11T00:00:00+01:00 + Lyo + 11 + 1.5 + High + + + + + + + + + + + 4.1.7 + + DRAGEN BCL Convert + DRAGEN Germline + + + + false + \ No newline at end of file From 1bdc2796eca0fd315c5c1a23976d33ffefedc333 Mon Sep 17 00:00:00 2001 From: Marina Gourtovaia Date: Fri, 17 Nov 2023 14:04:55 +0000 Subject: [PATCH 2/2] More robust evaluation. --- lib/npg_tracking/illumina/run/long_info.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/npg_tracking/illumina/run/long_info.pm b/lib/npg_tracking/illumina/run/long_info.pm index 69377a7d..3e22c310 100644 --- a/lib/npg_tracking/illumina/run/long_info.pm +++ b/lib/npg_tracking/illumina/run/long_info.pm @@ -592,7 +592,8 @@ instrument belonging to NovaSeq platform. sub platform_NovaSeq { my $self = shift; - return $self->_software_application_name() =~ /NovaSeq(?!X)/xms; + return (!$self->platform_NovaSeqX() && + ($self->_software_application_name() =~ /NovaSeq[ ]/xms)); } =head2 platform_NovaSeqX