Skip to content

Commit 639d3e2

Browse files
authored
Merge pull request #111 from Aratz/fix_checkQC
Update NovaSeqX reagent recognizer
2 parents 6c7c39d + 11fc43d commit 639d3e2

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

checkQC/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11

2-
__version__ = "4.0.0-rc1"
2+
__version__ = "4.0.0-rc2"

checkQC/run_type_recognizer.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,18 @@ def reagent_version(runtype_recognizer):
6868
try:
6969
run_parameters = runtype_recognizer.run_parameters['RunParameters']
7070
consumables = run_parameters["ConsumableInfo"]["ConsumableInfo"]
71-
reagent_version = next(
71+
flowcell = next(
7272
consumable for consumable in consumables
7373
if consumable['Type'] == 'FlowCell'
74-
)['Mode']
74+
)
75+
76+
# "Mode" was used to specify the reagent version in the first runfolders that came out
77+
# of the NovaSeqX. This is kept for backward compatibility.
78+
reagent_version = flowcell.get("Name", flowcell.get("Mode"))
79+
80+
if not reagent_version:
81+
raise KeyError
82+
7583
return reagent_version
7684
except (KeyError, StopIteration):
7785
raise ReagentVersionUnknown("Could not identify flowcell mode for NovaSeqXPlus")

tests/test_run_type_recognizer.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,25 @@ def test_novaseq_reagent_version_raises(self):
168168
self.novaseq.reagent_version(mock_runtype_recognizer)
169169

170170
def test_novaseqxplus_reagent_version(self):
171+
runtype_dict = {
172+
"RunParameters": {
173+
"ConsumableInfo": {
174+
"ConsumableInfo": [
175+
{"Type": "FlowCell", "Name": "10B"},
176+
{"Type": "Reagent"},
177+
{"Type": "Buffer"},
178+
]
179+
}
180+
}
181+
}
182+
mock_runtype_recognizer = self.MockRunTypeRecognizer(run_parameters=runtype_dict)
183+
184+
actual = self.novaseqxplus.reagent_version(mock_runtype_recognizer)
185+
expected = "10B"
186+
187+
self.assertEqual(actual, expected)
188+
189+
def test_novaseqxplus_reagent_version_old(self):
171190
runtype_dict = {
172191
"RunParameters": {
173192
"ConsumableInfo": {

0 commit comments

Comments
 (0)