diff --git a/amygda/cli.py b/amygda/cli.py index 29c1dc9..ab8ec57 100644 --- a/amygda/cli.py +++ b/amygda/cli.py @@ -17,6 +17,8 @@ "GPALL1F", "CHNMCMM2", "GB1ECSDP", + "EUST2", + "EUSTAPF", } PINK = (138, 41, 231) @@ -41,12 +43,16 @@ def build_parser() -> argparse.ArgumentParser: _add_common_image_arguments(filter_parser) filter_parser.set_defaults(handler=handle_filter) - segment_parser = subparsers.add_parser("segment", help="Identify wells in an input image.") + segment_parser = subparsers.add_parser( + "segment", help="Identify wells in an input image." + ) _add_common_image_arguments(segment_parser) _add_segment_arguments(segment_parser) segment_parser.set_defaults(handler=handle_segment) - measure_parser = subparsers.add_parser("measure", help="Measure growth from an input image.") + measure_parser = subparsers.add_parser( + "measure", help="Measure growth from an input image." + ) _add_common_image_arguments(measure_parser) _add_plate_design_argument(measure_parser) _add_measure_arguments(measure_parser) @@ -136,7 +142,9 @@ def handle_run(options: argparse.Namespace) -> None: plate = _build_plate(raw_info, options.plate_design) filtered_info = run_filter_stage(plate, raw_info) - segmented_info = run_segment_stage(plate, filtered_info, options, reuse_loaded_image=True) + segmented_info = run_segment_stage( + plate, filtered_info, options, reuse_loaded_image=True + ) run_measure_stage(plate, segmented_info, options, reuse_loaded_state=True) @@ -364,7 +372,9 @@ def save_drug_images( groups, key=lambda group: float(np.min(well_drug_conc[group[:, 0], group[:, 1]])), ) - panels = [_extract_oriented_drug_panel(plate, group) for group in ordered_groups] + panels = [ + _extract_oriented_drug_panel(plate, group) for group in ordered_groups + ] panel = _concatenate_panels_horizontally(panels) if control_panel is not None: panel = _stack_panels_vertically_left_aligned([control_panel, panel]) @@ -739,7 +749,9 @@ def _build_positive_control_panel(plate: PlateMeasurement) -> np.ndarray: control_positions = np.array(plate.well_positive_controls, dtype=int) if control_positions.size == 0: - raise RuntimeError("No positive control wells were found for this plate design.") + raise RuntimeError( + "No positive control wells were found for this plate design." + ) groups = _group_drug_positions(control_positions) ordered_groups = sorted(groups, key=lambda group: int(np.min(group[:, 1]))) diff --git a/amygda/config/EUST2-conc-matrix.txt b/amygda/config/EUST2-conc-matrix.txt new file mode 100644 index 0000000..f92bc0c --- /dev/null +++ b/amygda/config/EUST2-conc-matrix.txt @@ -0,0 +1,8 @@ +32, 32, 4, 4, 8, 256, 8, 4, 8, 16, 32, 64 +16, 16, 2, 2, 4, 2, 4, 0.25, 0.5, 1, 2, 4 +8, 8, 1, 1, 2, 1, 2, 0.06, 0.12, 0.25, 0.5, 1 +4, 4, 0.5, 0.5, 1, 0.5, 1, 1, 2, 4, 8, 16 +0.015, 0.03, 0.06, 0.12, 0.25, 0.5, 0.12, 0.25, 0.5, 1, 2, 4 +0.25, 0.5, 1, 2, 4, 8, 0.5, 1, 2, 4, 8, 16 +0.25, 0.5, 1, 2, 4, 8, 0.5, 1, 2, 4, 8, 16 +0.5, 1, 2, 4, 8, 16, 64, 128, 256, 512, 0, 0 \ No newline at end of file diff --git a/amygda/config/EUST2-dilution-matrix.txt b/amygda/config/EUST2-dilution-matrix.txt new file mode 100644 index 0000000..3be28cb --- /dev/null +++ b/amygda/config/EUST2-dilution-matrix.txt @@ -0,0 +1,8 @@ + 4, 4, 4, 4, 4, 4, 4, 1, 2, 3, 4, 5 + 3, 3, 3, 3, 3, 3, 3, 1, 2, 3, 4, 5 + 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5 + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5 + 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6 + 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6 + 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6 + 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 0, 0 \ No newline at end of file diff --git a/amygda/config/EUST2-drug-matrix.txt b/amygda/config/EUST2-drug-matrix.txt new file mode 100644 index 0000000..9cbb106 --- /dev/null +++ b/amygda/config/EUST2-drug-matrix.txt @@ -0,0 +1,8 @@ +KAN,STR,TIA,SYN,LZD,MUP,VAN,CHL,CHL,CHL,CHL,CHL +KAN,STR,TIA,SYN,LZD,MUP,VAN,FUS,FUS,FUS,FUS,FUS +KAN,STR,TIA,SYN,LZD,MUP,VAN,PEN,PEN,PEN,PEN,PEN +KAN,STR,TIA,SYN,LZD,MUP,VAN,TMP,TMP,TMP,TMP,TMP +RIF,RIF,RIF,RIF,RIF,RIF,CLI,CLI,CLI,CLI,CLI,CLI +ERY,ERY,ERY,ERY,ERY,ERY,FOX,FOX,FOX,FOX,FOX,FOX +CIP,CIP,CIP,CIP,CIP,CIP,GEN,GEN,GEN,GEN,GEN,GEN +TET,TET,TET,TET,TET,TET,SMX,SMX,SMX,SMX,POS,POS \ No newline at end of file diff --git a/amygda/config/EUSTAPF-conc-matrix.txt b/amygda/config/EUSTAPF-conc-matrix.txt new file mode 100644 index 0000000..9b2003d --- /dev/null +++ b/amygda/config/EUSTAPF-conc-matrix.txt @@ -0,0 +1,8 @@ +0.5, 1, 2, 0.5, 1, 0.25, 0.03, 0.25, 0.25, 0.5, 0.03, 0.5 +1, 2, 4, 1, 2, 0.5, 0.06, 0.5, 0.5, 1, 0.06, 1 +2, 4, 8, 2, 4, 1, 0.12, 1, 1, 2, 0.12, 2 +4, 8, 16, 4, 8, 2, 0.25, 2, 2, 4, 0.25, 4 +0.5, 0.5, 0.12, 0.5, 16, 4, 0.5, 4, 4, 8, 0.5, 8 +1, 1, 0.25, 1, 4, 0, 1, 8, 8, 16, 1, 256 +2, 2, 0.5, 2, 8, 0, 0.25, 0.5, 1, 2, 0, 0 +4, 4, 1, 4, 16, 1, 2, 4, 8, 6, 0, 0 \ No newline at end of file diff --git a/amygda/config/EUSTAPF-dilution-matrix.txt b/amygda/config/EUSTAPF-dilution-matrix.txt new file mode 100644 index 0000000..46b6245 --- /dev/null +++ b/amygda/config/EUSTAPF-dilution-matrix.txt @@ -0,0 +1,8 @@ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 +4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 5, 5 +2, 2, 2, 2, 1, 0, 6, 6, 6, 6, 6, 6 +3, 3, 3, 3, 2, 0, 1, 2, 3, 4, 0, 0 +4, 4, 4, 4, 3, 1, 2, 3, 4, 1, 0, 0 \ No newline at end of file diff --git a/amygda/config/EUSTAPF-drug-matrix.txt b/amygda/config/EUSTAPF-drug-matrix.txt new file mode 100644 index 0000000..191d722 --- /dev/null +++ b/amygda/config/EUSTAPF-drug-matrix.txt @@ -0,0 +1,8 @@ +CPT,SXT,LZD,TET,TEI,ERY,TLA,TOB,GEN,VAN,RIF,MUP +CPT,SXT,LZD,TET,TEI,ERY,TLA,TOB,GEN,VAN,RIF,MUP +CPT,SXT,LZD,TET,TEI,ERY,TLA,TOB,GEN,VAN,RIF,MUP +CPT,SXT,LZD,TET,TEI,ERY,TLA,TOB,GEN,VAN,RIF,MUP +FUS,DAP,CLI,LEVO,TEI,ERY,TLA,TOB,GEN,VAN,RIF,MUP +FUS,DAP,CLI,LEVO,NOR,DT1,TLA,TOB,GEN,VAN,RIF,MUP +FUS,DAP,CLI,LEVO,NOR,DT2,MXF,MXF,MXF,MXF,POS,NEG +FUS,DAP,CLI,LEVO,NOR,FOX,FOX,FOX,FOX,FOX2,POS,POS \ No newline at end of file diff --git a/config/CHNMCMM2-conc-matrix.txt b/config/CHNMCMM2-conc-matrix.txt deleted file mode 100644 index 4ed986a..0000000 --- a/config/CHNMCMM2-conc-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -64, 32, 16, 8, 4, 2, 32, 16, 8, 4, 2, 1 -64, 32, 16, 8, 4, 2, 8, 4, 2, 1, 0.5, 0.25 -32, 16, 8, 4, 2, 1, 64, 32, 16, 8, 4, 2 -64, 32, 16, 8, 4, 2, 64, 32, 16, 8, 4, 2 -64, 32, 16, 8, 4, 2, 8, 4, 2, 1, 0.5, 0.25 -16, 8, 4, 2, 1, 0.5, 32, 16, 8, 4, 2, 1 -8, 4, 2, 1, 0.5, 0.25, 64, 32, 16, 8, 4, 0 -32, 16, 8, 4, 2, 1, 0.5, 0.25, 0.12, 0.06, 0.03, 0 diff --git a/config/CHNMCMM2-dilution-matrix.txt b/config/CHNMCMM2-dilution-matrix.txt deleted file mode 100644 index db7cec7..0000000 --- a/config/CHNMCMM2-dilution-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,6,5,4,3,2,1 -6,5,4,3,2,1,5,4,3,2,1,0 -11,10,9,8,7,6,5,4,3,2,1,0 diff --git a/config/CHNMCMM2-drug-matrix.txt b/config/CHNMCMM2-drug-matrix.txt deleted file mode 100644 index fb1def4..0000000 --- a/config/CHNMCMM2-drug-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -AMP,AMP,AMP,AMP,AMP,AMP,TAZ,TAZ,TAZ,TAZ,TAZ,TAZ -AS2,AS2,AS2,AS2,AS2,AS2,IMI,IMI,IMI,IMI,IMI,IMI -TET,TET,TET,TET,TET,TET,NAL,NAL,NAL,NAL,NAL,NAL -ERY,ERY,ERY,ERY,ERY,ERY,FOX,FOX,FOX,FOX,FOX,FOX -CHL,CHL,CHL,CHL,CHL,CHL,FOT,FOT,FOT,FOT,FOT,FOT -FAZ,FAZ,FAZ,FAZ,FAZ,FAZ,GEN,GEN,GEN,GEN,GEN,GEN -SXT,SXT,SXT,SXT,SXT,SXT,AZI,AZI,AZI,AZI,AZI,POS -CIP,CIP,CIP,CIP,CIP,CIP,CIP,CIP,CIP,CIP,CIP,NEG diff --git a/config/GB1ECSDP-conc-matrix.txt b/config/GB1ECSDP-conc-matrix.txt deleted file mode 100644 index 13fd902..0000000 --- a/config/GB1ECSDP-conc-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 1, 2, 2, 1, 0.25, 0.12, 0.25, 2, 0.5, 0.25, 0.06, 0.5 - 2, 4, 4, 2, 0.5, 0.25, 0.5, 4, 1, 0.5, 0.12, 1 - 4, 8, 8, 4, 1, 0.5, 1, 8, 2, 1, 0.25, 2 - 8, 16, 16, 8, 2, 1, 2, 16, 4, 2, 0.5, 4 - 16, 32, 32, 16, 4, 2, 4, 32, 8, 4, 1, 8 - 32, 64, 64, 32, 8, 4, 8, 64, 16, 8, 2, 16 - 64, 128, 128, 64, 16, 8, 16, 128, 32, 16, 4, 32 - 0.25, 0.5, 1, 2, 4, 8, 16, 32, 0, 0, 0, 0 diff --git a/config/GB1ECSDP-dilution-matrix.txt b/config/GB1ECSDP-dilution-matrix.txt deleted file mode 100644 index fd12a73..0000000 --- a/config/GB1ECSDP-dilution-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 - 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0 diff --git a/config/GB1ECSDP-drug-matrix.txt b/config/GB1ECSDP-drug-matrix.txt deleted file mode 100644 index 70a9076..0000000 --- a/config/GB1ECSDP-drug-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AMI,AUGC,AUG2,AZI,AZT,TGC,TAZ,CZA,C/T,AXO,CIP,GEN -AZA,AZA,AZA,AZA,AZA,AZA,AZA,AZA,POS,POS,POS,NEG diff --git a/config/GPALL1F-conc-matrix.txt b/config/GPALL1F-conc-matrix.txt deleted file mode 100644 index 712ebbb..0000000 --- a/config/GPALL1F-conc-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -2, 4, 8, 16, 0.25, 0.5, 1, 2, 4, 0.5, 1, 2 -0.5, 1, 2, 4, 0.25, 0.5, 1, 2, 4, 1000, 0, 0 -2, 4, 8, 16, 0.12, 0.25, 0.5, 1, 2, 4, 8, 6 -1, 2, 4, 8, 0.06, 0.12, 0.25, 0.5, 1, 2, 4, 8 -0.5, 1, 2, 4, 0.25, 0.5, 1, 2, 4, 8, 16, 32 -0.5, 1, 2, 4, 0.25, 0.5, 1, 2, 4, 1, 2, 0 -0.5, 1, 2, 4, 0.03, 0.06, 0.12, 0.25, 0.5, 32, 64, 0 -2, 4, 8, 16, 0.25, 0.5, 1, 2, 4, 500, 0, 0 diff --git a/config/GPALL1F-dilution-matrix.txt b/config/GPALL1F-dilution-matrix.txt deleted file mode 100644 index 2f895e2..0000000 --- a/config/GPALL1F-dilution-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3 -1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 1, 1 -1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 1 -1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8 -1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8 -1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 0 -1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 0 -1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 0, 0 diff --git a/config/GPALL1F-drug-matrix.txt b/config/GPALL1F-drug-matrix.txt deleted file mode 100644 index cb63c1c..0000000 --- a/config/GPALL1F-drug-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -CHL,CHL,CHL,CHL,ERY,ERY,ERY,ERY,ERY,CLI,CLI,CLI -DAP,DAP,DAP,DAP,OXA+,OXA+,OXA+,OXA+,OXA+,STR,DT1,DT2 -GEN,GEN,GEN,GEN,AMP,AMP,AMP,AMP,AMP,AMP,AMP,FOXS -LZD,LZD,LZD,LZD,PEN,PEN,PEN,PEN,PEN,PEN,PEN,PEN -RIF,RIF,RIF,RIF,VAN,VAN,VAN,VAN,VAN,VAN,VAN,VAN -SXT,SXT,SXT,SXT,LEV,LEV,LEV,LEV,LEV,CIP,CIP,POS -SYN,SYN,SYN,SYN,TGC,TGC,TGC,TGC,TGC,NIT,NIT,POS -TET,TET,TET,TET,MXF,MXF,MXF,MXF,MXF,GEN500,NEG,POS diff --git a/config/UKMYC5-conc-matrix.txt b/config/UKMYC5-conc-matrix.txt deleted file mode 100644 index 8efd448..0000000 --- a/config/UKMYC5-conc-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 2, 16, 8, 4, 2, 1, 8, 4, 2, 1, 0.5, 0.25 - 1, 8, 8, 1.6, 8, 4, 1, 2, 4, 4, 2, 4 - 0.5, 4, 4, 0.8, 4, 2, 0.5, 1, 2, 2, 1, 2 - 0.25, 2, 2, 0.4, 2, 1, 0.25, 0.5, 1, 1, 0.5, 1 - 0.12, 1, 1, 0.2, 1, 0.5, 0.12, 0.25, 0.5, 0.5, 0.25, 0.5 - 0.06, 0.5, 0.50, 0.1, 0.5, 0.25, 0.06, 0.12, 0.25, 0.25, 0.12, 0.25 - 0.03, 0.25, 0.25, 0.05, 0.25, 0.12, 0.03, 0.06, 0.12, 0.12, 0.06, 0.12 -0.015, 0.06, 0.12, 0.025, 0.12, 0.06,0.015, 0.03, 0.06, 0.06, 0, 0 diff --git a/config/UKMYC5-dilution-matrix.txt b/config/UKMYC5-dilution-matrix.txt deleted file mode 100644 index b6a8cbf..0000000 --- a/config/UKMYC5-dilution-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 8, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1 - 7, 6, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6 - 6, 5, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5 - 5, 4, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4 - 4, 3, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3 - 3, 2, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2 - 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1 - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0 diff --git a/config/UKMYC5-drug-matrix.txt b/config/UKMYC5-drug-matrix.txt deleted file mode 100644 index 74501d2..0000000 --- a/config/UKMYC5-drug-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -BDQ,KAN,KAN,KAN,KAN,KAN,ETH,ETH,ETH,ETH,ETH,ETH -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,AMI,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,RFB,PAS -BDQ,EMB,EMB,INH,LEV,MXF,DLM,LZD,CFZ,RIF,POS,POS diff --git a/config/UKMYC6-conc-matrix.txt b/config/UKMYC6-conc-matrix.txt deleted file mode 100644 index 6436b90..0000000 --- a/config/UKMYC6-conc-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 1, 32, 12.8, 6.4, 3.2, 1.6, 0.8, 0.4, 0.2, 0.1, 0.05,0.025 - 0.5, 16, 2, 4, 16, 8, 4, 0.5, 4, 2, 8, 2 - 0.25, 8, 1, 8, 8, 4, 2, 0.25, 2, 1, 4, 1 - 0.12, 4, 0.5, 16, 4, 2, 1, 0.12, 1, 0.5, 2, 0.5 - 0.06, 2, 0.25, 8, 2, 1, 0.5, 0.06, 0.5, 0.25, 1, 0.25 - 0.03, 1, 0.12, 4, 1, 0.5, 0.25, 0.03, 0.25, 0.12, 0.5, 0.12 -0.015, 0.5, 0.06, 2, 0.5, 0.25, 0.12,0.015, 0.12, 0.06, 0.25, 0.06 -0.008, 0.25, 0.03, 1, 0.25, 0.12, 0.06,0.008, 0.06, 0.03, 0, 0 diff --git a/config/UKMYC6-dilution-matrix.txt b/config/UKMYC6-dilution-matrix.txt deleted file mode 100644 index 842cd69..0000000 --- a/config/UKMYC6-dilution-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ - 8, 8, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 - 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 6, 6 - 6, 6, 6, 9, 6, 6, 6, 6, 6, 6, 5, 5 - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4 - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0 diff --git a/config/UKMYC6-drug-matrix.txt b/config/UKMYC6-drug-matrix.txt deleted file mode 100644 index f994023..0000000 --- a/config/UKMYC6-drug-matrix.txt +++ /dev/null @@ -1,8 +0,0 @@ -BDQ,EMB,INH,INH,INH,INH,INH,INH,INH,INH,INH,INH -BDQ,EMB,RIF,RIF,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,RIF,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,KAN,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,KAN,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,KAN,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,KAN,AMI,LEV,MXF,DLM,LZD,CFZ,ETH,RFB -BDQ,EMB,RIF,KAN,AMI,LEV,MXF,DLM,LZD,CFZ,POS,POS diff --git a/tests/test_core.py b/tests/test_core.py index ee1253a..eb33a9a 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -182,6 +182,29 @@ def test_identify_wells_finds_synthetic_grid(tmp_path: Path) -> None: assert np.count_nonzero(plate.well_radii) == 6 +@pytest.mark.parametrize( + ("design", "expected_pos_count"), + [ + ("EUST2", 2), + ("EUSTAPF", 3), + ], +) +def test_initialize_plate_layout_for_new_designs( + tmp_path: Path, design: str, expected_pos_count: int +) -> None: + plate = PlateMeasurement( + tmp_path, + categories={"ImageFileName": "plate"}, + plate_design=design, + ) + plate.initialize_plate_layout() + + assert plate.well_drug_name is not None + assert plate.well_drug_name.shape == (8, 12) + assert plate.well_positive_controls_number == expected_pos_count + assert "POS" in plate.drug_names + + def test_legacy_arguments_emit_deprecation_warnings(tmp_path: Path) -> None: with pytest.deprecated_call(): PlateMeasurement(