Skip to content

Commit 64a90d8

Browse files
committed
#21 Run qc1 on all test data
1 parent d615b8c commit 64a90d8

File tree

3 files changed

+187
-30
lines changed

3 files changed

+187
-30
lines changed

pcpostprocess/hergQC.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
22
import os
3-
43
from collections import OrderedDict
54

65
import matplotlib.pyplot as plt
@@ -9,6 +8,7 @@
98

109
NOISE_LEN = 200
1110

11+
1212
class QCDict:
1313

1414
labels = [

pcpostprocess/scripts/run_herg_qc.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -921,11 +921,15 @@ def run_qc_for_protocol(readname, savename, time_strs, args):
921921
voltage_protocol.get_all_sections() if vend == vstart]
922922

923923
# Run QC with raw currents
924-
QC = hergqc.run_qc(voltage_steps, times,
925-
before_currents_corrected,
926-
after_currents_corrected,
927-
np.array(qc_before[well])[0, :],
928-
np.array(qc_after[well])[0, :], nsweeps)
924+
QC = hergqc.run_qc(
925+
voltage_steps,
926+
times,
927+
before_currents_corrected,
928+
after_currents_corrected,
929+
np.array(qc_before[well])[0, :],
930+
np.array(qc_after[well])[0, :],
931+
nsweeps,
932+
)
929933

930934
df_rows.append([well] + QC.passed_list())
931935

tests/test_herg_qc.py

+177-24
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1+
import copy
12
import logging
23
import os
3-
import copy
4-
import string
54
import unittest
65

76
import numpy as np
87
from syncropatch_export.trace import Trace
98

10-
from pcpostprocess.hergQC import hERGQC, NOISE_LEN
9+
from pcpostprocess.hergQC import NOISE_LEN, hERGQC
1110

1211

1312
class TestHergQC(unittest.TestCase):
@@ -108,28 +107,182 @@ def passed(result):
108107
f"QC1: {rseal}, {cm}, {rseries}",
109108
)
110109

111-
# Test on select data
112-
test_matrix = [
113-
("A01", True),
114-
("A02", True),
115-
("A03", True),
116-
("A04", True),
117-
("A05", True),
118-
("A10", False),
119-
("A12", False),
120-
("A13", False),
121-
("A16", False),
122-
("A19", False),
123-
]
110+
# Test on data
111+
test_wells_before = {
112+
'A01': True, 'A02': True, 'A03': True, 'A04': True, 'A05': True,
113+
'A06': True, 'A07': True, 'A08': True, 'A09': True, 'A10': False,
114+
'A11': True, 'A12': False, 'A13': False, 'A14': True, 'A15': True,
115+
'A16': False, 'A17': True, 'A18': True, 'A19': False, 'A20': False,
116+
'A21': True, 'A22': True, 'A23': True, 'A24': False, 'B01': True,
117+
'B02': True, 'B03': True, 'B04': True, 'B05': False, 'B06': True,
118+
'B07': False, 'B08': True, 'B09': True, 'B10': True, 'B11': False,
119+
'B12': False, 'B13': False, 'B14': True, 'B15': False, 'B16': True,
120+
'B17': True, 'B18': True, 'B19': False, 'B20': True, 'B21': False,
121+
'B22': True, 'B23': False, 'B24': True, 'C01': True, 'C02': False,
122+
'C03': True, 'C04': False, 'C05': True, 'C06': True, 'C07': False,
123+
'C08': True, 'C09': False, 'C10': True, 'C11': False, 'C12': False,
124+
'C13': True, 'C14': False, 'C15': True, 'C16': True, 'C17': True,
125+
'C18': False, 'C19': False, 'C20': False, 'C21': True, 'C22': True,
126+
'C23': False, 'C24': True, 'D01': True, 'D02': False, 'D03': False,
127+
'D04': True, 'D05': False, 'D06': True, 'D07': True, 'D08': True,
128+
'D09': False, 'D10': False, 'D11': True, 'D12': True, 'D13': True,
129+
'D14': False, 'D15': False, 'D16': False, 'D17': True, 'D18': True,
130+
'D19': False, 'D20': True, 'D21': False, 'D22': True, 'D23': True,
131+
'D24': True, 'E01': True, 'E02': True, 'E03': True, 'E04': False,
132+
'E05': True, 'E06': False, 'E07': False, 'E08': True, 'E09': True,
133+
'E10': False, 'E11': False, 'E12': True, 'E13': True, 'E14': False,
134+
'E15': False, 'E16': False, 'E17': False, 'E18': True, 'E19': False,
135+
'E20': True, 'E21': True, 'E22': False, 'E23': False, 'E24': True,
136+
'F01': False, 'F02': True, 'F03': False, 'F04': False, 'F05': False,
137+
'F06': True, 'F07': False, 'F08': True, 'F09': False, 'F10': True,
138+
'F11': True, 'F12': False, 'F13': False, 'F14': False, 'F15': False,
139+
'F16': True, 'F17': True, 'F18': False, 'F19': False, 'F20': False,
140+
'F21': False, 'F22': True, 'F23': True, 'F24': False, 'G01': True,
141+
'G02': True, 'G03': True, 'G04': True, 'G05': True, 'G06': False,
142+
'G07': True, 'G08': True, 'G09': False, 'G10': True, 'G11': True,
143+
'G12': False, 'G13': False, 'G14': False, 'G15': True, 'G16': False,
144+
'G17': False, 'G18': True, 'G19': True, 'G20': False, 'G21': False,
145+
'G22': True, 'G23': False, 'G24': False, 'H01': False, 'H02': False,
146+
'H03': False, 'H04': True, 'H05': True, 'H06': False, 'H07': False,
147+
'H08': False, 'H09': True, 'H10': False, 'H11': False, 'H12': True,
148+
'H13': False, 'H14': False, 'H15': False, 'H16': False, 'H17': True,
149+
'H18': True, 'H19': False, 'H20': True, 'H21': False, 'H22': True,
150+
'H23': False, 'H24': False, 'I01': False, 'I02': True, 'I03': True,
151+
'I04': False, 'I05': False, 'I06': False, 'I07': False, 'I08': False,
152+
'I09': True, 'I10': False, 'I11': False, 'I12': False, 'I13': True,
153+
'I14': True, 'I15': True, 'I16': False, 'I17': False, 'I18': True,
154+
'I19': True, 'I20': True, 'I21': False, 'I22': True, 'I23': True,
155+
'I24': True, 'J01': True, 'J02': True, 'J03': True, 'J04': True,
156+
'J05': True, 'J06': True, 'J07': False, 'J08': True, 'J09': True,
157+
'J10': False, 'J11': True, 'J12': True, 'J13': True, 'J14': True,
158+
'J15': True, 'J16': False, 'J17': False, 'J18': True, 'J19': False,
159+
'J20': True, 'J21': False, 'J22': True, 'J23': True, 'J24': False,
160+
'K01': True, 'K02': False, 'K03': False, 'K04': True, 'K05': True,
161+
'K06': False, 'K07': False, 'K08': True, 'K09': True, 'K10': True,
162+
'K11': False, 'K12': False, 'K13': True, 'K14': True, 'K15': True,
163+
'K16': False, 'K17': False, 'K18': True, 'K19': True, 'K20': False,
164+
'K21': True, 'K22': False, 'K23': True, 'K24': False, 'L01': False,
165+
'L02': False, 'L03': True, 'L04': False, 'L05': False, 'L06': True,
166+
'L07': True, 'L08': False, 'L09': True, 'L10': False, 'L11': False,
167+
'L12': True, 'L13': False, 'L14': True, 'L15': True, 'L16': False,
168+
'L17': False, 'L18': False, 'L19': True, 'L20': True, 'L21': True,
169+
'L22': True, 'L23': True, 'L24': False, 'M01': False, 'M02': True,
170+
'M03': True, 'M04': False, 'M05': True, 'M06': False, 'M07': True,
171+
'M08': True, 'M09': False, 'M10': True, 'M11': True, 'M12': False,
172+
'M13': True, 'M14': False, 'M15': False, 'M16': False, 'M17': True,
173+
'M18': True, 'M19': False, 'M20': False, 'M21': False, 'M22': True,
174+
'M23': True, 'M24': True, 'N01': True, 'N02': True, 'N03': False,
175+
'N04': False, 'N05': True, 'N06': False, 'N07': True, 'N08': False,
176+
'N09': True, 'N10': True, 'N11': False, 'N12': True, 'N13': False,
177+
'N14': False, 'N15': True, 'N16': False, 'N17': True, 'N18': False,
178+
'N19': True, 'N20': True, 'N21': False, 'N22': True, 'N23': True,
179+
'N24': False, 'O01': False, 'O02': False, 'O03': False, 'O04': True,
180+
'O05': False, 'O06': True, 'O07': False, 'O08': True, 'O09': True,
181+
'O10': False, 'O11': False, 'O12': True, 'O13': True, 'O14': True,
182+
'O15': True, 'O16': True, 'O17': False, 'O18': True, 'O19': False,
183+
'O20': True, 'O21': True, 'O22': False, 'O23': True, 'O24': False,
184+
'P01': False, 'P02': True, 'P03': False, 'P04': True, 'P05': True,
185+
'P06': False, 'P07': False, 'P08': False, 'P09': False, 'P10': True,
186+
'P11': True, 'P12': False, 'P13': False, 'P14': False, 'P15': False,
187+
'P16': False, 'P17': False, 'P18': False, 'P19': True, 'P20': True,
188+
'P21': False, 'P22': False, 'P23': True, 'P24': False
189+
}
190+
191+
for well in test_wells_before:
192+
qc_vals_before = np.array(self.qc_vals_before[well])[0, :]
193+
self.assertEqual(
194+
passed(hergqc.qc1(*qc_vals_before)),
195+
test_wells_before[well],
196+
f"QC1: {well} (before) {qc_vals_before}",
197+
)
124198

125-
for well, expected in test_matrix:
126-
with self.subTest(well):
127-
qc_vals_before = np.array(self.qc_vals_before[well])[0, :]
128-
self.assertEqual(
129-
passed(hergqc.qc1(*qc_vals_before)),
130-
expected,
131-
f"QC1: {well} (before) {qc_vals_before}",
132-
)
199+
test_wells_after = {
200+
'A01': True, 'A02': True, 'A03': True, 'A04': True, 'A05': True,
201+
'A06': False, 'A07': True, 'A08': False, 'A09': True, 'A10': False,
202+
'A11': True, 'A12': False, 'A13': False, 'A14': True, 'A15': True,
203+
'A16': False, 'A17': True, 'A18': True, 'A19': False, 'A20': False,
204+
'A21': True, 'A22': True, 'A23': True, 'A24': False, 'B01': True,
205+
'B02': False, 'B03': True, 'B04': True, 'B05': False, 'B06': True,
206+
'B07': False, 'B08': True, 'B09': True, 'B10': True, 'B11': False,
207+
'B12': False, 'B13': False, 'B14': True, 'B15': False, 'B16': True,
208+
'B17': True, 'B18': True, 'B19': False, 'B20': True, 'B21': False,
209+
'B22': True, 'B23': False, 'B24': True, 'C01': False, 'C02': False,
210+
'C03': True, 'C04': False, 'C05': True, 'C06': True, 'C07': False,
211+
'C08': True, 'C09': False, 'C10': True, 'C11': False, 'C12': False,
212+
'C13': True, 'C14': False, 'C15': True, 'C16': True, 'C17': True,
213+
'C18': False, 'C19': True, 'C20': False, 'C21': True, 'C22': False,
214+
'C23': False, 'C24': True, 'D01': True, 'D02': True, 'D03': False,
215+
'D04': True, 'D05': False, 'D06': True, 'D07': True, 'D08': True,
216+
'D09': False, 'D10': False, 'D11': True, 'D12': True, 'D13': True,
217+
'D14': False, 'D15': False, 'D16': True, 'D17': True, 'D18': True,
218+
'D19': False, 'D20': True, 'D21': False, 'D22': True, 'D23': True,
219+
'D24': True, 'E01': False, 'E02': True, 'E03': False, 'E04': False,
220+
'E05': True, 'E06': False, 'E07': False, 'E08': True, 'E09': False,
221+
'E10': False, 'E11': False, 'E12': True, 'E13': True, 'E14': False,
222+
'E15': False, 'E16': False, 'E17': False, 'E18': True, 'E19': False,
223+
'E20': False, 'E21': True, 'E22': False, 'E23': False, 'E24': False,
224+
'F01': False, 'F02': True, 'F03': False, 'F04': False, 'F05': True,
225+
'F06': True, 'F07': False, 'F08': True, 'F09': False, 'F10': True,
226+
'F11': True, 'F12': False, 'F13': False, 'F14': False, 'F15': False,
227+
'F16': False, 'F17': True, 'F18': False, 'F19': False, 'F20': False,
228+
'F21': False, 'F22': True, 'F23': True, 'F24': False, 'G01': True,
229+
'G02': True, 'G03': True, 'G04': True, 'G05': True, 'G06': False,
230+
'G07': True, 'G08': False, 'G09': False, 'G10': True, 'G11': True,
231+
'G12': False, 'G13': False, 'G14': False, 'G15': False, 'G16': False,
232+
'G17': False, 'G18': True, 'G19': True, 'G20': False, 'G21': False,
233+
'G22': True, 'G23': False, 'G24': False, 'H01': False, 'H02': False,
234+
'H03': False, 'H04': False, 'H05': True, 'H06': False, 'H07': False,
235+
'H08': False, 'H09': False, 'H10': False, 'H11': False, 'H12': True,
236+
'H13': False, 'H14': False, 'H15': False, 'H16': False, 'H17': False,
237+
'H18': False, 'H19': False, 'H20': False, 'H21': False, 'H22': True,
238+
'H23': False, 'H24': False, 'I01': False, 'I02': True, 'I03': True,
239+
'I04': False, 'I05': False, 'I06': False, 'I07': False, 'I08': False,
240+
'I09': True, 'I10': False, 'I11': True, 'I12': False, 'I13': True,
241+
'I14': True, 'I15': True, 'I16': False, 'I17': False, 'I18': True,
242+
'I19': True, 'I20': False, 'I21': False, 'I22': True, 'I23': True,
243+
'I24': True, 'J01': True, 'J02': True, 'J03': False, 'J04': True,
244+
'J05': True, 'J06': True, 'J07': False, 'J08': True, 'J09': True,
245+
'J10': False, 'J11': True, 'J12': True, 'J13': True, 'J14': False,
246+
'J15': True, 'J16': False, 'J17': False, 'J18': True, 'J19': False,
247+
'J20': True, 'J21': False, 'J22': True, 'J23': False, 'J24': False,
248+
'K01': True, 'K02': False, 'K03': False, 'K04': True, 'K05': True,
249+
'K06': False, 'K07': False, 'K08': True, 'K09': True, 'K10': True,
250+
'K11': True, 'K12': True, 'K13': True, 'K14': False, 'K15': True,
251+
'K16': False, 'K17': True, 'K18': True, 'K19': True, 'K20': False,
252+
'K21': True, 'K22': False, 'K23': False, 'K24': False, 'L01': False,
253+
'L02': False, 'L03': False, 'L04': False, 'L05': False, 'L06': True,
254+
'L07': True, 'L08': False, 'L09': True, 'L10': False, 'L11': False,
255+
'L12': False, 'L13': False, 'L14': True, 'L15': True, 'L16': False,
256+
'L17': False, 'L18': False, 'L19': True, 'L20': True, 'L21': True,
257+
'L22': True, 'L23': True, 'L24': False, 'M01': False, 'M02': False,
258+
'M03': True, 'M04': False, 'M05': False, 'M06': False, 'M07': True,
259+
'M08': False, 'M09': False, 'M10': True, 'M11': True, 'M12': False,
260+
'M13': False, 'M14': False, 'M15': False, 'M16': True, 'M17': True,
261+
'M18': True, 'M19': False, 'M20': False, 'M21': False, 'M22': True,
262+
'M23': True, 'M24': True, 'N01': True, 'N02': True, 'N03': True,
263+
'N04': False, 'N05': True, 'N06': False, 'N07': True, 'N08': False,
264+
'N09': True, 'N10': True, 'N11': False, 'N12': True, 'N13': False,
265+
'N14': False, 'N15': True, 'N16': False, 'N17': True, 'N18': False,
266+
'N19': False, 'N20': True, 'N21': False, 'N22': True, 'N23': True,
267+
'N24': False, 'O01': False, 'O02': False, 'O03': False, 'O04': True,
268+
'O05': False, 'O06': True, 'O07': False, 'O08': False, 'O09': True,
269+
'O10': False, 'O11': False, 'O12': True, 'O13': True, 'O14': False,
270+
'O15': False, 'O16': True, 'O17': False, 'O18': True, 'O19': False,
271+
'O20': True, 'O21': True, 'O22': False, 'O23': True, 'O24': False,
272+
'P01': False, 'P02': True, 'P03': False, 'P04': True, 'P05': True,
273+
'P06': False, 'P07': False, 'P08': False, 'P09': False, 'P10': True,
274+
'P11': False, 'P12': False, 'P13': False, 'P14': False, 'P15': False,
275+
'P16': False, 'P17': False, 'P18': False, 'P19': False, 'P20': True,
276+
'P21': False, 'P22': False, 'P23': True, 'P24': True
277+
}
278+
279+
for well in test_wells_after:
280+
qc_vals_after = np.array(self.qc_vals_after[well])[0, :]
281+
self.assertEqual(
282+
passed(hergqc.qc1(*qc_vals_after)),
283+
test_wells_after[well],
284+
f"QC1: {well} (after) {qc_vals_after}",
285+
)
133286

134287
def test_qc2(self):
135288
hergqc = copy.deepcopy(self.hergqc)

0 commit comments

Comments
 (0)