diff --git a/CHANGELOG.md b/CHANGELOG.md index 2332f39b54..32afc2b7e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - `location` parameter of `assign_child_resource` is not optional (https://github.com/PyLabRobot/pylabrobot/pull/336) - `Resource.get_absolute_location` raises `NoLocationError` instead of `AssertionError` when absolute location is not defined (https://github.com/PyLabRobot/pylabrobot/pull/338) - `no_trash` and `no_teaching_rack` were renamed to `with_trash` and `with_teaching_rack` to avoid double negatives (https://github.com/PyLabRobot/pylabrobot/pull/347) +- Hamilton liquid classes are no longer automatically inferred on the backends (`STAR`/`Vantage`). Instead, they create kwargs with `make_(asp|disp)(96)?_kwargs` (https://github.com/PyLabRobot/pylabrobot/pull/248) + - This also applies to volume correction curves, which are now the users' responsibility. ### Added diff --git a/pylabrobot/liquid_handling/backends/hamilton/STAR.py b/pylabrobot/liquid_handling/backends/hamilton/STAR.py index 0c8e403a5e..7070626aa3 100644 --- a/pylabrobot/liquid_handling/backends/hamilton/STAR.py +++ b/pylabrobot/liquid_handling/backends/hamilton/STAR.py @@ -23,10 +23,7 @@ HamiltonLiquidHandler, ) from pylabrobot.liquid_handling.errors import ChannelizedError -from pylabrobot.liquid_handling.liquid_classes.hamilton import ( - HamiltonLiquidClass, - get_star_liquid_class, -) +from pylabrobot.liquid_handling.liquid_classes.hamilton import HamiltonLiquidClass from pylabrobot.liquid_handling.standard import ( Drop, DropTipRack, @@ -71,7 +68,6 @@ STAR_SIZE_X, STARLET_SIZE_X, ) -from pylabrobot.resources.liquid import Liquid from pylabrobot.resources.rotation import Rotation from pylabrobot.resources.trash import Trash @@ -1597,8 +1593,6 @@ async def aspirate( self, ops: List[SingleChannelAspiration], use_channels: List[int], - jet: Optional[List[bool]] = None, - blow_out: Optional[List[bool]] = None, lld_search_height: Optional[List[float]] = None, clot_detection_height: Optional[List[float]] = None, pull_out_distance_transport_air: Optional[List[float]] = None, @@ -1645,9 +1639,6 @@ async def aspirate( Args: ops: The aspiration operations to perform. use_channels: The channels to use for the operations. - jet: whether to search for a jet liquid class. Only used on dispense. Default is False. - blow_out: whether to blow out air. Only used on dispense. Note that in the VENUS Liquid - Editor, this is called "empty". Default is False. lld_search_height: The height to start searching for the liquid level when using LLD. clot_detection_height: Unknown, but probably the height to search for clots when doing LLD. @@ -1696,49 +1687,19 @@ async def aspirate( starting an aspiration. min_z_endpos: The minimum height to move to, this is the end of aspiration. - hamilton_liquid_classes: Override the default liquid classes. See - pylabrobot/liquid_handling/liquid_classes/hamilton/star.py liquid_surface_no_lld: Liquid surface at function without LLD [mm]. Must be between 0 and 360. Defaults to well bottom + liquid height. Should use absolute z. """ + if hamilton_liquid_classes is not None: + raise NotImplementedError("Hamilton liquid classes are deprecated.") + x_positions, y_positions, channels_involved = self._ops_to_fw_positions(ops, use_channels) n = len(ops) - if jet is None: - jet = [False] * n - if blow_out is None: - blow_out = [False] * n - - if hamilton_liquid_classes is None: - hamilton_liquid_classes = [] - for i, op in enumerate(ops): - liquid = Liquid.WATER # default to WATER - # [-1][0]: get last liquid in well, [0] is indexing into the tuple - if len(op.liquids) > 0 and op.liquids[-1][0] is not None: - liquid = op.liquids[-1][0] - - hamilton_liquid_classes.append( - get_star_liquid_class( - tip_volume=op.tip.maximal_volume, - is_core=False, - is_tip=True, - has_filter=op.tip.has_filter, - liquid=liquid, - jet=jet[i], - blow_out=blow_out[i], - ) - ) - self._assert_valid_resources([op.resource for op in ops]) - # correct volumes using the liquid class - volumes = [ - hlc.compute_corrected_volume(op.volume) if hlc is not None else op.volume - for op, hlc in zip(ops, hamilton_liquid_classes) - ] - well_bottoms = [ op.resource.get_absolute_location().z + op.offset.z + op.resource.material_z_thickness for op in ops @@ -1755,13 +1716,7 @@ async def aspirate( ] else: lld_search_height = [(wb + sh) for wb, sh in zip(well_bottoms, lld_search_height)] - clot_detection_height = _fill_in_defaults( - clot_detection_height, - default=[ - hlc.aspiration_clot_retract_height if hlc is not None else 0 - for hlc in hamilton_liquid_classes - ], - ) + clot_detection_height = _fill_in_defaults(clot_detection_height, default=[0] * n) pull_out_distance_transport_air = _fill_in_defaults(pull_out_distance_transport_air, [10] * n) second_section_height = _fill_in_defaults(second_section_height, [3.2] * n) second_section_ratio = _fill_in_defaults(second_section_ratio, [618.0] * n) @@ -1770,21 +1725,9 @@ async def aspirate( immersion_depth = _fill_in_defaults(immersion_depth, [0] * n) immersion_depth_direction = _fill_in_defaults(immersion_depth_direction, [0] * n) surface_following_distance = _fill_in_defaults(surface_following_distance, [0] * n) - flow_rates = [ - op.flow_rate or (hlc.aspiration_flow_rate if hlc is not None else 100) - for op, hlc in zip(ops, hamilton_liquid_classes) - ] - transport_air_volume = _fill_in_defaults( - transport_air_volume, - default=[ - hlc.aspiration_air_transport_volume if hlc is not None else 0 - for hlc in hamilton_liquid_classes - ], - ) - blow_out_air_volumes = [ - (op.blow_out_air_volume or (hlc.aspiration_blow_out_volume if hlc is not None else 0)) - for op, hlc in zip(ops, hamilton_liquid_classes) - ] + flow_rates = [op.flow_rate or 100 for op in ops] + transport_air_volume = _fill_in_defaults(transport_air_volume, default=[0] * n) + blow_out_air_volumes = [op.blow_out_air_volume or 0 for op in ops] pre_wetting_volume = _fill_in_defaults(pre_wetting_volume, [0] * n) lld_mode = _fill_in_defaults(lld_mode, [self.__class__.LLDMode.OFF] * n) gamma_lld_sensitivity = _fill_in_defaults(gamma_lld_sensitivity, [1] * n) @@ -1795,27 +1738,12 @@ async def aspirate( detection_height_difference_for_dual_lld = _fill_in_defaults( detection_height_difference_for_dual_lld, [0] * n ) - swap_speed = _fill_in_defaults( - swap_speed, - default=[ - hlc.aspiration_swap_speed if hlc is not None else 100 for hlc in hamilton_liquid_classes - ], - ) - settling_time = _fill_in_defaults( - settling_time, - default=[ - hlc.aspiration_settling_time if hlc is not None else 0 for hlc in hamilton_liquid_classes - ], - ) + swap_speed = _fill_in_defaults(swap_speed, default=[100] * n) + settling_time = _fill_in_defaults(settling_time, default=[0] * n) mix_volume = _fill_in_defaults(mix_volume, [0] * n) mix_cycles = _fill_in_defaults(mix_cycles, [0] * n) mix_position_from_liquid_surface = _fill_in_defaults(mix_position_from_liquid_surface, [0] * n) - mix_speed = _fill_in_defaults( - mix_speed, - default=[ - hlc.aspiration_mix_flow_rate if hlc is not None else 50.0 for hlc in hamilton_liquid_classes - ], - ) + mix_speed = _fill_in_defaults(mix_speed, [50] * n) mix_surface_following_distance = _fill_in_defaults(mix_surface_following_distance, [0] * n) limit_curve_index = _fill_in_defaults(limit_curve_index, [0] * n) @@ -1842,7 +1770,7 @@ async def aspirate( tip_pattern=channels_involved, x_positions=x_positions, y_positions=y_positions, - aspiration_volumes=[round(vol * 10) for vol in volumes], + aspiration_volumes=[round(op.volume * 10) for op in ops], lld_search_height=[round(lsh * 10) for lsh in lld_search_height], clot_detection_height=[round(cd * 10) for cd in clot_detection_height], liquid_surface_no_lld=[round(ls * 10) for ls in liquid_surfaces_no_lld], @@ -1995,6 +1923,9 @@ async def dispense( documentation. Dispense mode 4. """ + if hamilton_liquid_classes is not None: + raise NotImplementedError("Hamilton liquid classes are deprecated.") + x_positions, y_positions, channels_involved = self._ops_to_fw_positions(ops, use_channels) n = len(ops) @@ -2006,32 +1937,6 @@ async def dispense( if blow_out is None: blow_out = [False] * n - if hamilton_liquid_classes is None: - hamilton_liquid_classes = [] - for i, op in enumerate(ops): - liquid = Liquid.WATER # default to WATER - # [-1][0]: get last liquid in tip, [0] is indexing into the tuple - if len(op.liquids) > 0 and op.liquids[-1][0] is not None: - liquid = op.liquids[-1][0] - - hamilton_liquid_classes.append( - get_star_liquid_class( - tip_volume=op.tip.maximal_volume, - is_core=False, - is_tip=True, - has_filter=op.tip.has_filter, - liquid=liquid, - jet=jet[i], - blow_out=blow_out[i], - ) - ) - - # correct volumes using the liquid class - volumes = [ - hlc.compute_corrected_volume(op.volume) if hlc is not None else op.volume - for op, hlc in zip(ops, hamilton_liquid_classes) - ] - well_bottoms = [ op.resource.get_absolute_location().z + op.offset.z + op.resource.material_z_thickness for op in ops @@ -2061,55 +1966,23 @@ async def dispense( immersion_depth = _fill_in_defaults(immersion_depth, [0] * n) immersion_depth_direction = _fill_in_defaults(immersion_depth_direction, [0] * n) surface_following_distance = _fill_in_defaults(surface_following_distance, [0] * n) - flow_rates = [ - op.flow_rate or (hlc.dispense_flow_rate if hlc is not None else 120) - for op, hlc in zip(ops, hamilton_liquid_classes) - ] + flow_rates = [op.flow_rate or 120 for op in ops] cut_off_speed = _fill_in_defaults(cut_off_speed, [5.0] * n) - stop_back_volume = _fill_in_defaults( - stop_back_volume, - default=[ - hlc.dispense_stop_back_volume if hlc is not None else 0 for hlc in hamilton_liquid_classes - ], - ) - transport_air_volume = _fill_in_defaults( - transport_air_volume, - default=[ - hlc.dispense_air_transport_volume if hlc is not None else 0 - for hlc in hamilton_liquid_classes - ], - ) - blow_out_air_volumes = [ - (op.blow_out_air_volume or (hlc.dispense_blow_out_volume if hlc is not None else 0)) - for op, hlc in zip(ops, hamilton_liquid_classes) - ] + stop_back_volume = _fill_in_defaults(stop_back_volume, default=[0] * n) + transport_air_volume = _fill_in_defaults(transport_air_volume, [0] * n) + blow_out_air_volumes = [op.blow_out_air_volume or 0 for op in ops] lld_mode = _fill_in_defaults(lld_mode, [self.__class__.LLDMode.OFF] * n) dispense_position_above_z_touch_off = _fill_in_defaults( dispense_position_above_z_touch_off, default=[0] * n ) gamma_lld_sensitivity = _fill_in_defaults(gamma_lld_sensitivity, [1] * n) dp_lld_sensitivity = _fill_in_defaults(dp_lld_sensitivity, [1] * n) - swap_speed = _fill_in_defaults( - swap_speed, - default=[ - hlc.dispense_swap_speed if hlc is not None else 10.0 for hlc in hamilton_liquid_classes - ], - ) - settling_time = _fill_in_defaults( - settling_time, - default=[ - hlc.dispense_settling_time if hlc is not None else 0 for hlc in hamilton_liquid_classes - ], - ) + swap_speed = _fill_in_defaults(swap_speed, [10.0] * n) + settling_time = _fill_in_defaults(settling_time, [0] * n) mix_volume = _fill_in_defaults(mix_volume, [0] * n) mix_cycles = _fill_in_defaults(mix_cycles, [0] * n) mix_position_from_liquid_surface = _fill_in_defaults(mix_position_from_liquid_surface, [0] * n) - mix_speed = _fill_in_defaults( - mix_speed, - default=[ - hlc.dispense_mix_flow_rate if hlc is not None else 50.0 for hlc in hamilton_liquid_classes - ], - ) + mix_speed = _fill_in_defaults(mix_speed, [50.0] * n) mix_surface_following_distance = _fill_in_defaults(mix_surface_following_distance, [0] * n) limit_curve_index = _fill_in_defaults(limit_curve_index, [0] * n) @@ -2119,7 +1992,7 @@ async def dispense( x_positions=x_positions, y_positions=y_positions, dispensing_mode=dispensing_modes, - dispense_volumes=[round(vol * 10) for vol in volumes], + dispense_volumes=[round(op.volume * 10) for op in ops], lld_search_height=[round(lsh * 10) for lsh in lld_search_height], liquid_surface_no_lld=[round(ls * 10) for ls in liquid_surfaces_no_lld], pull_out_distance_transport_air=[round(po * 10) for po in pull_out_distance_transport_air], @@ -2255,7 +2128,7 @@ async def aspirate96( mix_cycles: int = 0, mix_position_from_liquid_surface: float = 0, surface_following_distance_during_mix: float = 0, - speed_of_mix: float = 120.0, + mix_speed: float = 120.0, limit_curve_index: int = 0, ): """Aspirate using the Core96 head. @@ -2263,13 +2136,6 @@ async def aspirate96( Args: aspiration: The aspiration to perform. - jet: Whether to search for a jet liquid class. Only used on dispense. - blow_out: Whether to use "blow out" dispense mode. Only used on dispense. Note that this is - labelled as "empty" in the VENUS liquid editor, but "blow out" in the firmware - documentation. - hlc: The Hamiltonian liquid class to use. If `None`, the liquid class will be determined - automatically. - use_lld: If True, use gamma liquid level detection. If False, use liquid height. liquid_height: The height of the liquid above the bottom of the well, in millimeters. air_transport_retract_dist: The distance to retract after aspirating, in millimeters. @@ -2298,10 +2164,13 @@ async def aspirate96( liquid surface. surface_following_distance_during_mix: The distance to follow the liquid surface during mix. - speed_of_mix: The speed of mix. + mix_speed: The speed of mix. limit_curve_index: The index of the limit curve to use. """ + if hlc is not None: + raise NotImplementedError("Hamilton liquid classes are deprecated.") + assert self.core96_head_installed, "96 head must be installed" # get the first well and tip as representatives @@ -2316,57 +2185,27 @@ async def aspirate96( else: position = aspiration.container.get_absolute_location(y="b") + aspiration.offset - tip = aspiration.tips[0] - liquid_height = position.z + liquid_height - liquid_to_be_aspirated = Liquid.WATER - if len(aspiration.liquids[0]) > 0 and aspiration.liquids[0][0][0] is not None: - # [channel][liquid][PyLabRobot.resources.liquid.Liquid] - liquid_to_be_aspirated = aspiration.liquids[0][0][0] - hlc = hlc or get_star_liquid_class( - tip_volume=tip.maximal_volume, - is_core=True, - is_tip=True, - has_filter=tip.has_filter, - # get last liquid in pipette, first to be dispensed - liquid=liquid_to_be_aspirated, - jet=jet, - blow_out=blow_out, # see comment in method docstring - ) - - if hlc is not None: - volume = hlc.compute_corrected_volume(aspiration.volume) + if transport_air_volume is None: + transport_air_volume = 0 + if aspiration.blow_out_air_volume is None: + blow_out_air_volume = 0.0 else: - volume = aspiration.volume - - # Get better default values from the HLC if available - transport_air_volume = transport_air_volume or ( - hlc.aspiration_air_transport_volume if hlc is not None else 0 - ) - blow_out_air_volume = aspiration.blow_out_air_volume or ( - hlc.aspiration_blow_out_volume if hlc is not None else 0 - ) - flow_rate = aspiration.flow_rate or (hlc.aspiration_flow_rate if hlc is not None else 250) - swap_speed = swap_speed or (hlc.aspiration_swap_speed if hlc is not None else 100) - settling_time = settling_time or (hlc.aspiration_settling_time if hlc is not None else 0.5) - speed_of_mix = speed_of_mix or (hlc.aspiration_mix_flow_rate if hlc is not None else 10.0) + blow_out_air_volume = aspiration.blow_out_air_volume + if aspiration.flow_rate is None: + flow_rate = 250.0 + else: + flow_rate = aspiration.flow_rate + if swap_speed is None: + swap_speed = 100 + if settling_time is None: + settling_time = 0.5 + if mix_speed is None: + mix_speed = 10.0 channel_pattern = [True] * 12 * 8 - # Was this ever true? Just copied it over from pyhamilton. Could have something to do with - # the liquid classes and whether blow_out mode is enabled. - # # Unfortunately, `blow_out_air_volume` does not work correctly, so instead we aspirate air - # # manually. - # if blow_out_air_volume is not None and blow_out_air_volume > 0: - # await self.aspirate_core_96( - # x_position=int(position.x * 10), - # y_positions=int(position.y * 10), - # lld_mode=0, - # liquid_surface_at_function_without_lld=int((liquid_height + 30) * 10), - # aspiration_volumes=int(blow_out_air_volume * 10) - # ) - return await self.aspirate_core_96( x_position=round(position.x * 10), x_direction=0, @@ -2389,7 +2228,7 @@ async def aspirate96( liquid_surface_sink_distance_at_the_end_of_aspiration=round( liquid_surface_sink_distance_at_the_end_of_aspiration * 10 ), - aspiration_volumes=round(volume * 10), + aspiration_volumes=round(aspiration.volume * 10), aspiration_speed=round(flow_rate * 10), transport_air_volume=round(transport_air_volume * 10), blow_out_air_volume=round(blow_out_air_volume * 10), @@ -2402,7 +2241,7 @@ async def aspirate96( mix_cycles=mix_cycles, mix_position_from_liquid_surface=round(mix_position_from_liquid_surface * 10), surface_following_distance_during_mix=round(surface_following_distance_during_mix * 10), - speed_of_mix=round(speed_of_mix * 10), + mix_speed=round(mix_speed * 10), channel_pattern=channel_pattern, limit_curve_index=limit_curve_index, tadm_algorithm=False, @@ -2437,7 +2276,7 @@ async def dispense96( mixing_cycles: int = 0, mixing_position_from_liquid_surface: float = 0, surface_following_distance_during_mixing: float = 0, - speed_of_mixing: float = 120.0, + mix_speed: float = 120.0, limit_curve_index: int = 0, cut_off_speed: float = 5.0, stop_back_volume: float = 0, @@ -2473,12 +2312,15 @@ async def dispense96( mixing_cycles: Mixing cycles. mixing_position_from_liquid_surface: Mixing position from liquid surface, in mm. surface_following_distance_during_mixing: Surface following distance during mixing, in mm. - speed_of_mixing: Speed of mixing, in ul/s. + mix_speed: Speed of mixing, in ul/s. limit_curve_index: Limit curve index. cut_off_speed: Unknown. stop_back_volume: Unknown. """ + if hlc is not None: + raise NotImplementedError("Hamilton liquid classes are deprecated.") + assert self.core96_head_installed, "96 head must be installed" # get the first well and tip as representatives @@ -2492,42 +2334,27 @@ async def dispense96( ) else: position = dispense.container.get_absolute_location(y="b") + dispense.offset - tip = dispense.tips[0] liquid_height = position.z + liquid_height dispense_mode = _dispensing_mode_for_op(empty=empty, jet=jet, blow_out=blow_out) - liquid_to_be_dispensed = Liquid.WATER # default to water. - if len(dispense.liquids[0]) > 0 and dispense.liquids[0][-1][0] is not None: - # [channel][liquid][PyLabRobot.resources.liquid.Liquid] - liquid_to_be_dispensed = dispense.liquids[0][-1][0] - hlc = hlc or get_star_liquid_class( - tip_volume=tip.maximal_volume, - is_core=True, - is_tip=True, - has_filter=tip.has_filter, - # get last liquid in pipette, first to be dispensed - liquid=liquid_to_be_dispensed, - jet=jet, - blow_out=blow_out, # see comment in method docstring - ) - - if hlc is not None: - volume = hlc.compute_corrected_volume(dispense.volume) + if transport_air_volume is None: + transport_air_volume = 0 + if dispense.blow_out_air_volume is None: + blow_out_air_volume = 0.0 else: - volume = dispense.volume - - transport_air_volume = transport_air_volume or ( - hlc.dispense_air_transport_volume if hlc is not None else 0 - ) - blow_out_air_volume = dispense.blow_out_air_volume or ( - hlc.dispense_blow_out_volume if hlc is not None else 0 - ) - flow_rate = dispense.flow_rate or (hlc.dispense_flow_rate if hlc is not None else 120) - swap_speed = swap_speed or (hlc.dispense_swap_speed if hlc is not None else 100) - settling_time = settling_time or (hlc.dispense_settling_time if hlc is not None else 5) - speed_of_mixing = speed_of_mixing or (hlc.dispense_mix_flow_rate if hlc is not None else 100) + blow_out_air_volume = dispense.blow_out_air_volume + if dispense.flow_rate is None: + flow_rate = 120.0 + else: + flow_rate = dispense.flow_rate + if swap_speed is None: + swap_speed = 100 + if settling_time is None: + settling_time = 5 + if mix_speed is None: + mix_speed = 100 channel_pattern = [True] * 12 * 8 @@ -2553,7 +2380,7 @@ async def dispense96( liquid_surface_sink_distance_at_the_end_of_dispense=round( liquid_surface_sink_distance_at_the_end_of_dispense * 10 ), - dispense_volume=round(volume * 10), + dispense_volume=round(dispense.volume * 10), dispense_speed=round(flow_rate * 10), transport_air_volume=round(transport_air_volume * 10), blow_out_air_volume=round(blow_out_air_volume * 10), @@ -2565,7 +2392,7 @@ async def dispense96( mixing_cycles=mixing_cycles, mixing_position_from_liquid_surface=round(mixing_position_from_liquid_surface * 10), surface_following_distance_during_mixing=round(surface_following_distance_during_mixing * 10), - speed_of_mixing=round(speed_of_mixing * 10), + mix_speed=round(mix_speed * 10), channel_pattern=channel_pattern, limit_curve_index=limit_curve_index, tadm_algorithm=False, @@ -5375,7 +5202,7 @@ async def aspirate_core_96( mix_cycles: int = 0, mix_position_from_liquid_surface: int = 250, surface_following_distance_during_mix: int = 0, - speed_of_mix: int = 1000, + mix_speed: int = 1000, channel_pattern: List[bool] = [True] * 96, limit_curve_index: int = 0, tadm_algorithm: bool = False, @@ -5429,7 +5256,7 @@ async def aspirate_core_96( liquid surface (LLD or absolute terms) [0.1mm]. Must be between 0 and 990. Default 250. surface_following_distance_during_mix: surface following distance during mix [0.1mm]. Must be between 0 and 990. Default 0. - speed_of_mix: Speed of mix [0.1ul/s]. Must be between 3 and 5000. + mix_speed: Speed of mix [0.1ul/s]. Must be between 3 and 5000. Default 1000. todo: TODO: 24 hex chars. Must be between 4 and 5000. limit_curve_index: limit curve index. Must be between 0 and 999. Default 0. @@ -5484,7 +5311,7 @@ async def aspirate_core_96( assert ( 0 <= surface_following_distance_during_mix <= 990 ), "surface_following_distance_during_mix must be between 0 and 990" - assert 3 <= speed_of_mix <= 5000, "speed_of_mix must be between 3 and 5000" + assert 3 <= mix_speed <= 5000, "mix_speed must be between 3 and 5000" assert 0 <= limit_curve_index <= 999, "limit_curve_index must be between 0 and 999" assert 0 <= recording_mode <= 2, "recording_mode must be between 0 and 2" @@ -5525,7 +5352,7 @@ async def aspirate_core_96( hc=f"{mix_cycles:02}", hp=f"{mix_position_from_liquid_surface:03}", mj=f"{surface_following_distance_during_mix:03}", - hs=f"{speed_of_mix:04}", + hs=f"{mix_speed:04}", cw=channel_pattern_hex, cr=f"{limit_curve_index:03}", cj=tadm_algorithm, @@ -5565,7 +5392,7 @@ async def dispense_core_96( mixing_cycles: int = 0, mixing_position_from_liquid_surface: int = 250, surface_following_distance_during_mixing: int = 0, - speed_of_mixing: int = 1000, + mix_speed: int = 1000, channel_pattern: List[bool] = [True] * 12 * 8, limit_curve_index: int = 0, tadm_algorithm: bool = False, @@ -5622,7 +5449,7 @@ async def dispense_core_96( surface (LLD or absolute terms) [0.1mm]. Must be between 0 and 990. Default 250. surface_following_distance_during_mixing: surface following distance during mixing [0.1mm]. Must be between 0 and 990. Default 0. - speed_of_mixing: Speed of mixing [0.1ul/s]. Must be between 3 and 5000. Default 1000. + mix_speed: Speed of mixing [0.1ul/s]. Must be between 3 and 5000. Default 1000. channel_pattern: list of 96 boolean values limit_curve_index: limit curve index. Must be between 0 and 999. Default 0. tadm_algorithm: TADM algorithm. Default False. @@ -5678,7 +5505,7 @@ async def dispense_core_96( assert ( 0 <= surface_following_distance_during_mixing <= 990 ), "surface_following_distance_during_mixing must be between 0 and 990" - assert 3 <= speed_of_mixing <= 5000, "speed_of_mixing must be between 3 and 5000" + assert 3 <= mix_speed <= 5000, "mix_speed must be between 3 and 5000" assert 0 <= limit_curve_index <= 999, "limit_curve_index must be between 0 and 999" assert 0 <= recording_mode <= 2, "recording_mode must be between 0 and 2" @@ -5720,7 +5547,7 @@ async def dispense_core_96( hc=f"{mixing_cycles:02}", hp=f"{mixing_position_from_liquid_surface:03}", mj=f"{surface_following_distance_during_mixing:03}", - hs=f"{speed_of_mixing:04}", + hs=f"{mix_speed:04}", cw=channel_pattern_hex, cr=f"{limit_curve_index:03}", cj=tadm_algorithm, diff --git a/pylabrobot/liquid_handling/backends/hamilton/STAR_tests.py b/pylabrobot/liquid_handling/backends/hamilton/STAR_tests.py index b103940f42..fe56f607fe 100644 --- a/pylabrobot/liquid_handling/backends/hamilton/STAR_tests.py +++ b/pylabrobot/liquid_handling/backends/hamilton/STAR_tests.py @@ -5,6 +5,11 @@ from typing import cast from pylabrobot.liquid_handling import LiquidHandler +from pylabrobot.liquid_handling.liquid_classes.hamilton.star import ( + HighVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty, + StandardVolumeFilter_Water_DispenseJet_Empty, + StandardVolumeFilter_Water_DispenseSurface, +) from pylabrobot.liquid_handling.standard import GripDirection, Pickup from pylabrobot.plate_reading import PlateReader from pylabrobot.plate_reading.chatterbox import PlateReaderChatterboxBackend @@ -264,6 +269,10 @@ def __init__(self, name: str): self.STAR._iswap_parked = True await self.lh.setup() + self.hlc = StandardVolumeFilter_Water_DispenseSurface.copy() + self.hlc.aspiration_air_transport_volume = 0 + self.hlc.dispense_air_transport_volume = 0 + async def asyncTearDown(self): await self.lh.stop() @@ -380,9 +389,15 @@ async def test_aspirate56(self): await self.test_tip_pickup_56() # pick up tips first assert self.plate.lid is not None self.plate.lid.unassign() + corrected_vol = self.hlc.compute_corrected_volume(100) for well in self.plate.get_items(["A1", "B1"]): - well.tracker.set_liquids([(None, 100 * 1.072)]) # liquid class correction - await self.lh.aspirate(self.plate["A1", "B1"], vols=[100, 100], use_channels=[4, 5]) + well.tracker.set_liquids([(None, corrected_vol)]) + await self.lh.aspirate( + self.plate["A1", "B1"], + vols=[corrected_vol] * 2, + use_channels=[4, 5], + **self.hlc.make_asp_kwargs(2), + ) self.STAR._write_and_read_command.assert_has_calls( [ _any_write_and_read_command_call( @@ -411,8 +426,9 @@ async def test_single_channel_aspiration(self): assert self.plate.lid is not None self.plate.lid.unassign() well = self.plate.get_item("A1") - well.tracker.set_liquids([(None, 100 * 1.072)]) # liquid class correction - await self.lh.aspirate([well], vols=[100]) + corrected_volume = self.hlc.compute_corrected_volume(100) + well.tracker.set_liquids([(None, corrected_volume)]) # liquid class correction + await self.lh.aspirate([well], vols=[corrected_volume], **self.hlc.make_asp_kwargs(1)) self.STAR._write_and_read_command.assert_has_calls( [ _any_write_and_read_command_call( @@ -432,8 +448,11 @@ async def test_single_channel_aspiration_liquid_height(self): assert self.plate.lid is not None self.plate.lid.unassign() well = self.plate.get_item("A1") - well.tracker.set_liquids([(None, 100 * 1.072)]) # liquid class correction - await self.lh.aspirate([well], vols=[100], liquid_height=[10]) + corrected_volume = self.hlc.compute_corrected_volume(100) + well.tracker.set_liquids([(None, corrected_volume)]) # liquid class correction + await self.lh.aspirate( + [well], vols=[corrected_volume], liquid_height=[10], **self.hlc.make_asp_kwargs(1) + ) # This passes the test, but is not the real command. self.STAR._write_and_read_command.assert_has_calls( @@ -455,9 +474,12 @@ async def test_multi_channel_aspiration(self): assert self.plate.lid is not None self.plate.lid.unassign() wells = self.plate.get_items("A1:B1") + corrected_volume = self.hlc.compute_corrected_volume(100) for well in wells: - well.tracker.set_liquids([(None, 100 * 1.072)]) # liquid class correction - await self.lh.aspirate(self.plate["A1:B1"], vols=[100] * 2) + well.tracker.set_liquids([(None, corrected_volume)]) # liquid class correction + await self.lh.aspirate( + self.plate["A1:B1"], vols=[corrected_volume] * 2, **self.hlc.make_asp_kwargs(2) + ) # This passes the test, but is not the real command. self.STAR._write_and_read_command.assert_has_calls( @@ -477,12 +499,14 @@ async def test_multi_channel_aspiration(self): async def test_aspirate_single_resource(self): self.lh.update_head_state({i: self.tip_rack.get_tip(i) for i in range(5)}) + corrected_volume = self.hlc.compute_corrected_volume(10) with no_volume_tracking(): await self.lh.aspirate( [self.bb] * 5, - vols=[10] * 5, + vols=[corrected_volume] * 5, use_channels=[0, 1, 2, 3, 4], liquid_height=[1] * 5, + **self.hlc.make_asp_kwargs(5), ) self.STAR._write_and_read_command.assert_has_calls( [ @@ -506,14 +530,17 @@ async def test_aspirate_single_resource(self): async def test_dispense_single_resource(self): self.lh.update_head_state({i: self.tip_rack.get_tip(i) for i in range(5)}) + hlc = StandardVolumeFilter_Water_DispenseJet_Empty + corrected_volume = hlc.compute_corrected_volume(10) with no_volume_tracking(): await self.lh.dispense( [self.bb] * 5, - vols=[10] * 5, + vols=[corrected_volume] * 5, use_channels=[0, 1, 2, 3, 4], liquid_height=[1] * 5, blow_out=[True] * 5, jet=[True] * 5, + **hlc.make_disp_kwargs(5), ) self.STAR._write_and_read_command.assert_has_calls( [ @@ -536,8 +563,16 @@ async def test_single_channel_dispense(self): self.lh.update_head_state({0: self.tip_rack.get_tip("A1")}) assert self.plate.lid is not None self.plate.lid.unassign() + hlc = StandardVolumeFilter_Water_DispenseJet_Empty + corrected_vol = hlc.compute_corrected_volume(100) with no_volume_tracking(): - await self.lh.dispense(self.plate["A1"], vols=[100], jet=[True], blow_out=[True]) + await self.lh.dispense( + self.plate["A1"], + vols=[corrected_vol], + jet=[True], + blow_out=[True], + **hlc.make_disp_kwargs(1), + ) self.STAR._write_and_read_command.assert_has_calls( [ _any_write_and_read_command_call( @@ -548,15 +583,17 @@ async def test_single_channel_dispense(self): async def test_multi_channel_dispense(self): self.lh.update_head_state({0: self.tip_rack.get_tip("A1"), 1: self.tip_rack.get_tip("B1")}) - # TODO: Hamilton liquid classes assert self.plate.lid is not None self.plate.lid.unassign() + hlc = StandardVolumeFilter_Water_DispenseJet_Empty + corrected_vol = hlc.compute_corrected_volume(100) with no_volume_tracking(): await self.lh.dispense( self.plate["A1:B1"], - vols=[100] * 2, + vols=[corrected_vol] * 2, jet=[True] * 2, blow_out=[True] * 2, + **hlc.make_disp_kwargs(2), ) self.STAR._write_and_read_command.assert_has_calls( @@ -605,10 +642,11 @@ async def test_core_96_aspirate(self): await self.lh.pick_up_tips96(self.tip_rack2) # pick up high volume tips self.STAR._write_and_read_command.reset_mock() - # TODO: Hamilton liquid classes assert self.plate.lid is not None self.plate.lid.unassign() - await self.lh.aspirate96(self.plate, volume=100, blow_out=True) + hlc = HighVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty + corrected_volume = hlc.compute_corrected_volume(100) + await self.lh.aspirate96(self.plate, volume=corrected_volume, **hlc.make_asp96_kwargs()) # volume used to be 01072, but that was generated using a non-core liquid class. self.STAR._write_and_read_command.assert_has_calls( @@ -623,11 +661,15 @@ async def test_core_96_dispense(self): await self.lh.pick_up_tips96(self.tip_rack2) # pick up high volume tips if self.plate.lid is not None: self.plate.lid.unassign() - await self.lh.aspirate96(self.plate, 100, blow_out=True) # aspirate first + hlc = HighVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty + corrected_volume = hlc.compute_corrected_volume(100) + await self.lh.aspirate96(self.plate, corrected_volume, **hlc.make_asp96_kwargs()) self.STAR._write_and_read_command.reset_mock() with no_volume_tracking(): - await self.lh.dispense96(self.plate, 100, blow_out=True) + await self.lh.dispense96( + self.plate, corrected_volume, blow_out=True, **hlc.make_disp96_kwargs() + ) # volume used to be 01072, but that was generated using a non-core liquid class. self.STAR._write_and_read_command.assert_has_calls( diff --git a/pylabrobot/liquid_handling/backends/hamilton/vantage.py b/pylabrobot/liquid_handling/backends/hamilton/vantage.py index 901c3214f3..1d08c916a4 100644 --- a/pylabrobot/liquid_handling/backends/hamilton/vantage.py +++ b/pylabrobot/liquid_handling/backends/hamilton/vantage.py @@ -7,10 +7,7 @@ from pylabrobot.liquid_handling.backends.hamilton.base import ( HamiltonLiquidHandler, ) -from pylabrobot.liquid_handling.liquid_classes.hamilton import ( - HamiltonLiquidClass, - get_vantage_liquid_class, -) +from pylabrobot.liquid_handling.liquid_classes.hamilton import HamiltonLiquidClass from pylabrobot.liquid_handling.standard import ( Drop, DropTipRack, @@ -28,7 +25,6 @@ ) from pylabrobot.resources import ( Coordinate, - Liquid, Resource, TipRack, Well, @@ -567,8 +563,6 @@ async def aspirate( self, ops: List[SingleChannelAspiration], use_channels: List[int], - jet: Optional[List[bool]] = None, - blow_out: Optional[List[bool]] = None, hlcs: Optional[List[Optional[HamiltonLiquidClass]]] = None, type_of_aspiration: Optional[List[int]] = None, minimal_traverse_height_at_begin_of_command: Optional[List[float]] = None, @@ -615,44 +609,15 @@ async def aspirate( blow_out: Whether to search for a "blow out" liquid class. This is only used on dispense. Note that in the VENUS liquid editor, the term "empty" is used for this, but in the firmware documentation, "empty" is used for a different mode (dm4). - hlcs: The Hamiltonian liquid classes to use. If `None`, the liquid classes will be - determined automatically based on the tip and liquid used. """ - x_positions, y_positions, channels_involved = self._ops_to_fw_positions(ops, use_channels) + if hlcs is not None: + raise NotImplementedError("hlcs is deprecated") - if jet is None: - jet = [False] * len(ops) - if blow_out is None: - blow_out = [False] * len(ops) - - if hlcs is None: - hlcs = [] - for j, bo, op in zip(jet, blow_out, ops): - liquid = Liquid.WATER # default to WATER - # [-1][0]: get last liquid in well, [0] is indexing into the tuple - if len(op.liquids) > 0 and op.liquids[-1][0] is not None: - liquid = op.liquids[-1][0] - hlcs.append( - get_vantage_liquid_class( - tip_volume=op.tip.maximal_volume, - is_core=False, - is_tip=True, - has_filter=op.tip.has_filter, - liquid=liquid, - jet=j, - blow_out=bo, - ) - ) + x_positions, y_positions, channels_involved = self._ops_to_fw_positions(ops, use_channels) self._assert_valid_resources([op.resource for op in ops]) - # correct volumes using the liquid class - volumes = [ - hlc.compute_corrected_volume(op.volume) if hlc is not None else op.volume - for op, hlc in zip(ops, hlcs) - ] - well_bottoms = [ op.resource.get_absolute_location().z + op.offset.z + op.resource.material_z_thickness for op in ops @@ -668,14 +633,8 @@ async def aspirate( for wb, op in zip(well_bottoms, ops) ] - flow_rates = [ - op.flow_rate or (hlc.aspiration_flow_rate if hlc is not None else 100) - for op, hlc in zip(ops, hlcs) - ] - blow_out_air_volumes = [ - (op.blow_out_air_volume or (hlc.dispense_blow_out_volume if hlc is not None else 0)) - for op, hlc in zip(ops, hlcs) - ] + flow_rates = [op.flow_rate or 100 for op in ops] + blow_out_air_volumes = [op.blow_out_air_volume or 0 for op in ops] return await self.pip_aspirate( x_position=x_positions, @@ -710,13 +669,9 @@ async def aspirate( surface_following_distance=[ round(sfd * 10) for sfd in surface_following_distance or [0] * len(ops) ], - aspiration_volume=[round(vol * 100) for vol in volumes], + aspiration_volume=[round(op.volume * 100) for op in ops], aspiration_speed=[round(fr * 10) for fr in flow_rates], - transport_air_volume=[ - round(tav * 10) - for tav in transport_air_volume - or [hlc.aspiration_air_transport_volume if hlc is not None else 0 for hlc in hlcs] - ], + transport_air_volume=[round(tav * 10) for tav in transport_air_volume or [0] * len(ops)], blow_out_air_volume=[round(bav * 100) for bav in blow_out_air_volumes], pre_wetting_volume=[round(pwv * 100) for pwv in pre_wetting_volume or [0] * len(ops)], lld_mode=lld_mode or [0] * len(ops), @@ -792,8 +747,6 @@ async def dispense( Args: ops: The aspiration operations. use_channels: The channels to use. - hlcs: The Hamiltonian liquid classes to use. If `None`, the liquid classes will be - determined automatically based on the tip and liquid used. jet: Whether to use jetting for each dispense. Defaults to `False` for all. Used for determining the dispense mode. True for dispense mode 0 or 1. @@ -805,6 +758,9 @@ async def dispense( documentation. Dispense mode 4. """ + if hlcs is not None: + raise NotImplementedError("hlcs is deprecated") + x_positions, y_positions, channels_involved = self._ops_to_fw_positions(ops, use_channels) if jet is None: @@ -814,33 +770,8 @@ async def dispense( if blow_out is None: blow_out = [False] * len(ops) - if hlcs is None: - hlcs = [] - for j, bo, op in zip(jet, blow_out, ops): - liquid = Liquid.WATER # default to WATER - # [-1][0]: get last liquid in tip, [0] is indexing into the tuple - if len(op.liquids) > 0 and op.liquids[-1][0] is not None: - liquid = op.liquids[-1][0] - hlcs.append( - get_vantage_liquid_class( - tip_volume=op.tip.maximal_volume, - is_core=False, - is_tip=True, - has_filter=op.tip.has_filter, - liquid=liquid, - jet=j, - blow_out=bo, - ) - ) - self._assert_valid_resources([op.resource for op in ops]) - # correct volumes using the liquid class - volumes = [ - hlc.compute_corrected_volume(op.volume) if hlc is not None else op.volume - for op, hlc in zip(ops, hlcs) - ] - well_bottoms = [ op.resource.get_absolute_location().z + op.offset.z + op.resource.material_z_thickness for op in ops @@ -854,15 +785,9 @@ async def dispense( for wb, op in zip(well_bottoms, ops) ] - flow_rates = [ - op.flow_rate or (hlc.dispense_flow_rate if hlc is not None else 100) - for op, hlc in zip(ops, hlcs) - ] + flow_rates = [op.flow_rate or 100 for op in ops] - blow_out_air_volumes = [ - (op.blow_out_air_volume or (hlc.dispense_blow_out_volume if hlc is not None else 0)) - for op, hlc in zip(ops, hlcs) - ] + blow_out_air_volumes = [op.blow_out_air_volume or 0 for op in ops] type_of_dispensing_mode = type_of_dispensing_mode or [ _get_dispense_mode(jet=jet[i], empty=empty[i], blow_out=blow_out[i]) for i in range(len(ops)) @@ -900,15 +825,11 @@ async def dispense( round(mh * 10) for mh in minimal_height_at_command_end or [self._traversal_height] * len(ops) ], - dispense_volume=[round(vol * 100) for vol in volumes], + dispense_volume=[round(op.volume * 100) for op in ops], dispense_speed=[round(fr * 10) for fr in flow_rates], cut_off_speed=[round(cs * 10) for cs in cut_off_speed or [250] * len(ops)], stop_back_volume=[round(sbv * 100) for sbv in stop_back_volume or [0] * len(ops)], - transport_air_volume=[ - round(tav * 10) - for tav in transport_air_volume - or [hlc.dispense_air_transport_volume if hlc is not None else 0 for hlc in hlcs] - ], + transport_air_volume=[round(tav * 10) for tav in transport_air_volume or [0] * len(ops)], blow_out_air_volume=[round(boav * 100) for boav in blow_out_air_volumes], lld_mode=lld_mode or [0] * len(ops), side_touch_off_distance=round(side_touch_off_distance * 10), @@ -997,8 +918,6 @@ async def drop_tips96( async def aspirate96( self, aspiration: Union[MultiHeadAspirationPlate, MultiHeadAspirationContainer], - jet: bool = False, - blow_out: bool = False, hlc: Optional[HamiltonLiquidClass] = None, type_of_aspiration: int = 0, minimal_traverse_height_at_begin_of_command: Optional[float] = None, @@ -1025,18 +944,11 @@ async def aspirate96( tadm_algorithm_on_off: int = 0, recording_mode: int = 0, ): - """Aspirate from a plate. - - Args: - jet: Whether to find a liquid class with "jet" mode. Only used on dispense. - blow_out: Whether to find a liquid class with "blow out" mode. Only used on dispense. Note - that this is called "empty" in the VENUS liquid editor, but "blow out" in the firmware - documentation. - hlc: The Hamiltonian liquid classes to use. If `None`, the liquid classes will be - determined automatically based on the tip and liquid used in the first well. - """ # assert self.core96_head_installed, "96 head must be installed" + if hlc is not None: + raise NotImplementedError("hlc is deprecated") + if isinstance(aspiration, MultiHeadAspirationPlate): top_left_well = aspiration.wells[0] position = ( @@ -1059,35 +971,20 @@ async def aspirate96( liquid_height = position.z + (aspiration.liquid_height or 0) - tip = aspiration.tips[0] - liquid_to_be_aspirated = Liquid.WATER # default to water - if len(aspiration.liquids[0]) > 0 and aspiration.liquids[0][-1][0] is not None: - # first part of tuple in last liquid of first well - liquid_to_be_aspirated = aspiration.liquids[0][-1][0] - if hlc is None: - hlc = get_vantage_liquid_class( - tip_volume=tip.maximal_volume, - is_core=True, - is_tip=True, - has_filter=tip.has_filter, - liquid=liquid_to_be_aspirated, - jet=jet, - blow_out=blow_out, - ) - - volume = ( - hlc.compute_corrected_volume(aspiration.volume) if hlc is not None else aspiration.volume - ) - - transport_air_volume = transport_air_volume or ( - hlc.aspiration_air_transport_volume if hlc is not None else 0 - ) - blow_out_air_volume = blow_out_air_volume or ( - hlc.aspiration_blow_out_volume if hlc is not None else 0 - ) - flow_rate = aspiration.flow_rate or (hlc.aspiration_flow_rate if hlc is not None else 250) - swap_speed = swap_speed or (hlc.aspiration_swap_speed if hlc is not None else 100) - settling_time = settling_time or (hlc.aspiration_settling_time if hlc is not None else 5) + if transport_air_volume is None: + transport_air_volume = 0 + if aspiration.blow_out_air_volume is None: + blow_out_air_volume = 0.0 + else: + blow_out_air_volume = aspiration.blow_out_air_volume + if aspiration.flow_rate is None: + flow_rate = 250.0 + else: + flow_rate = aspiration.flow_rate + if swap_speed is None: + swap_speed = 100 + if settling_time is None: + settling_time = 5 return await self.core96_aspiration_of_liquid( x_position=round(position.x * 10), @@ -1109,7 +1006,7 @@ async def aspirate96( tube_2nd_section_ratio=round(tube_2nd_section_ratio * 10), immersion_depth=round(immersion_depth * 10), surface_following_distance=round(surface_following_distance * 10), - aspiration_volume=round(volume * 100), + aspiration_volume=round(aspiration.volume * 100), aspiration_speed=round(flow_rate * 10), transport_air_volume=round(transport_air_volume * 10), blow_out_air_volume=round(blow_out_air_volume * 100), @@ -1182,6 +1079,9 @@ async def dispense96( determined based on the jet, blow_out, and empty parameters. """ + if hlc is not None: + raise NotImplementedError("hlc is deprecated") + if isinstance(dispense, MultiHeadDispensePlate): top_left_well = dispense.wells[0] position = ( @@ -1204,36 +1104,24 @@ async def dispense96( liquid_height = position.z + (dispense.liquid_height or 0) + 10 - tip = dispense.tips[0] - liquid_to_be_dispensed = Liquid.WATER # default to WATER - if len(dispense.liquids[0]) > 0 and dispense.liquids[0][-1][0] is not None: - # first part of tuple in last liquid of first well - liquid_to_be_dispensed = dispense.liquids[0][-1][0] - if hlc is None: - hlc = get_vantage_liquid_class( - tip_volume=tip.maximal_volume, - is_core=True, - is_tip=True, - has_filter=tip.has_filter, - liquid=liquid_to_be_dispensed, - jet=jet, - blow_out=blow_out, # see method docstring - ) - volume = hlc.compute_corrected_volume(dispense.volume) if hlc is not None else dispense.volume - - transport_air_volume = transport_air_volume or ( - hlc.dispense_air_transport_volume if hlc is not None else 0 - ) - blow_out_air_volume = blow_out_air_volume or ( - hlc.dispense_blow_out_volume if hlc is not None else 0 - ) - flow_rate = dispense.flow_rate or (hlc.dispense_flow_rate if hlc is not None else 250) - swap_speed = swap_speed or (hlc.dispense_swap_speed if hlc is not None else 100) - settling_time = settling_time or (hlc.dispense_settling_time if hlc is not None else 5) - mix_speed = mix_speed or (hlc.dispense_mix_flow_rate if hlc is not None else 100) - type_of_dispensing_mode = type_of_dispensing_mode or _get_dispense_mode( - jet=jet, empty=empty, blow_out=blow_out - ) + if transport_air_volume is None: + transport_air_volume = 0 + if dispense.blow_out_air_volume is None: + blow_out_air_volume = 0.0 + else: + blow_out_air_volume = dispense.blow_out_air_volume + if dispense.flow_rate is None: + flow_rate = 250.0 + else: + flow_rate = dispense.flow_rate + if swap_speed is None: + swap_speed = 100 + if settling_time is None: + settling_time = 5 + if mix_speed is None: + mix_speed = 100 + if type_of_dispensing_mode is None: + type_of_dispensing_mode = _get_dispense_mode(jet=jet, empty=empty, blow_out=blow_out) return await self.core96_dispensing_of_liquid( x_position=round(position.x * 10), @@ -1255,7 +1143,7 @@ async def dispense96( minimal_height_at_command_end=round( (minimal_height_at_command_end or self._traversal_height) * 10 ), - dispense_volume=round(volume * 100), + dispense_volume=round(dispense.volume * 100), dispense_speed=round(flow_rate * 10), cut_off_speed=round(cut_off_speed * 10), stop_back_volume=round(stop_back_volume * 100), diff --git a/pylabrobot/liquid_handling/backends/hamilton/vantage_tests.py b/pylabrobot/liquid_handling/backends/hamilton/vantage_tests.py index 47e4bb8bdd..219d437907 100644 --- a/pylabrobot/liquid_handling/backends/hamilton/vantage_tests.py +++ b/pylabrobot/liquid_handling/backends/hamilton/vantage_tests.py @@ -2,6 +2,11 @@ from typing import Any, List, Optional from pylabrobot.liquid_handling import LiquidHandler +from pylabrobot.liquid_handling.liquid_classes.hamilton.vantage import ( + HighVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty, + HighVolumeFilter_Water_DispenseSurface_Empty, + HighVolumeFilter_Water_DispenseSurface_Part, +) from pylabrobot.liquid_handling.standard import Pickup from pylabrobot.resources import ( HT, @@ -161,25 +166,20 @@ def test_parse_error_response(self): resp = 'I1AMRQid0000er4et"Slave not available"' error = vantage_response_string_to_error(resp) self.assertEqual( - error, - VantageFirmwareError(errors={"Cover": "Slave not available"}, raw_response=resp), + error, VantageFirmwareError(errors={"Cover": "Slave not available"}, raw_response=resp) ) resp = 'I1AMLPid215er57et"S-Drive: Drive not initialized"' error = vantage_response_string_to_error(resp) self.assertEqual( error, - VantageFirmwareError( - errors={"Cover": "S-Drive: Drive not initialized"}, - raw_response=resp, - ), + VantageFirmwareError(errors={"Cover": "S-Drive: Drive not initialized"}, raw_response=resp), ) resp = 'A1HMDAid239er99es"H070"' error = vantage_response_string_to_error(resp) self.assertEqual( - error, - VantageFirmwareError(errors={"Core 96": "No liquid level found"}, raw_response=resp), + error, VantageFirmwareError(errors={"Core 96": "No liquid level found"}, raw_response=resp) ) resp = 'A1PMDAid262er99es"P170 P270 P370 P470 P570 P670 P770 P870"' @@ -210,7 +210,7 @@ def __init__(self): super().__init__() self.commands = [] - async def setup(self) -> None: # type: ignore + async def setup(self) -> None: self.setup_finished = True self._num_channels = 8 self.iswap_installed = True @@ -220,7 +220,7 @@ async def send_command( self, module: str, command: str, - auto_id: bool = True, + auto_id=True, tip_pattern: Optional[List[bool]] = None, write_timeout: Optional[int] = None, read_timeout: Optional[int] = None, @@ -241,6 +241,7 @@ class TestVantageLiquidHandlerCommands(unittest.IsolatedAsyncioTestCase): """Test Vantage backend for liquid handling.""" async def asyncSetUp(self): + # pylint: disable=invalid-name self.mockVantage = VantageCommandCatcher() self.deck = VantageDeck(size=1.3) self.lh = LiquidHandler(self.mockVantage, deck=self.deck) @@ -313,6 +314,7 @@ def _assert_command_in_command_buffer(self, cmd: str, should_be: bool, fmt: dict def test_ops_to_fw_positions(self): """Convert channel positions to firmware positions.""" + # pylint: disable=protected-access tip_a1 = self.tip_rack.get_item("A1") tip_f1 = self.tip_rack.get_item("F1") tip = self.tip_rack.get_tip("A1") @@ -331,11 +333,7 @@ def test_ops_to_fw_positions(self): self.assertEqual( self.mockVantage._ops_to_fw_positions((op1, op2), use_channels=[1, 2]), - ( - [0, 4329, 4329, 0], - [0, 1458, 1008, 0], - [False, True, True, False], - ), + ([0, 4329, 4329, 0], [0, 1458, 1008, 0], [False, True, True, False]), ) def _assert_command_sent_once(self, cmd: str, fmt: dict): @@ -374,41 +372,45 @@ async def test_small_tip_drop(self): await self.test_small_tip_pickup() # pick up tips first await self.lh.drop_tips(self.small_tip_rack["A1"]) self._assert_command_sent_once( - "A1PMTRid0012xp4329 0&yp2418 0&tp2024&tz1924&th2450&te2450&tm1 0&ts0td0&", - DROP_TIP_FORMAT, + "A1PMTRid0012xp4329 0&yp2418 0&tp2024&tz1924&th2450&te2450&tm1 0&ts0td0&", DROP_TIP_FORMAT ) async def test_aspirate(self): await self.lh.pick_up_tips(self.tip_rack["A1"]) # pick up tips first - await self.lh.aspirate(self.plate["A1"], vols=[100]) + hlc = HighVolumeFilter_Water_DispenseSurface_Part + corrected_volume = hlc.compute_corrected_volume(100) + await self.lh.aspirate(self.plate["A1"], vols=[corrected_volume], **hlc.make_asp_kwargs(1)) self._assert_command_sent_once( "A1PMDAid0248at0&tm1 0&xp05683 0&yp1457 0 &th2450&te2450&lp1990&" "ch000&zl1866&zx1866&ip0000&fp0000&av010830&as2500&ta000&ba00000&oa000&lm0&ll4&lv4&de0020&" - "wt10&mv00000&mc00&mp000&ms2500&gi000&gj0gk0zu0000&zr00000&mh0000&zo005&po0109&dj0la0&lb0&" + "wt10&mv00000&mc00&mp000&ms1200&gi000&gj0gk0zu0000&zr00000&mh0000&zo005&po0109&dj0la0&lb0&" "lc0&", ASPIRATE_FORMAT, ) async def test_dispense(self): await self.lh.pick_up_tips(self.tip_rack["A1"]) # pick up tips first - await self.lh.aspirate(self.plate["A1"], vols=[100]) + hlc = HighVolumeFilter_Water_DispenseSurface_Empty + corrected_volume = hlc.compute_corrected_volume(100) + await self.lh.aspirate(self.plate["A1"], vols=[corrected_volume], **hlc.make_asp_kwargs(1)) await self.lh.dispense( self.plate["A2"], - vols=[100], + vols=[corrected_volume], liquid_height=[5], jet=[False], blow_out=[True], + **hlc.make_disp_kwargs(1), ) self._assert_command_sent_once( "A1PMDDid0253dm3&tm1 0&xp05773 0&yp1457 0&zx1866&lp1990&zl1916&" "ip0000&fp0021&th2450&te2450&dv010830&ds1200&ss2500&rv000&ta050&ba00000&lm0&zo005&ll1&lv1&" - "de0010&mv00000&mc00&mp000&ms0010&wt00&gi000&gj0gk0zu0000&dj00zr00000&mh0000&po0050&la0&", + "de0020&mv00000&mc00&mp000&ms1200&wt00&gi000&gj0gk0zu0000&dj00zr00000&mh0000&po0050&la0&", DISPENSE_FORMAT, ) - async def test_zero_volume_liquid_handling(self): + async def test_zero_volumeiquid_handling(self): # just test that this does not throw an error await self.lh.pick_up_tips(self.tip_rack["A1"]) # pick up tips first await self.lh.aspirate(self.plate["A1"], vols=[0]) @@ -418,15 +420,7 @@ async def test_tip_pickup96(self): await self.lh.pick_up_tips96(self.tip_rack) self._assert_command_sent_once( "A1HMTPid0237xp04329yp1458tt01td0tz2164th2450te2450", - { - "xp": "int", - "yp": "int", - "tt": "int", - "td": "int", - "tz": "int", - "th": "int", - "te": "int", - }, + {"xp": "int", "yp": "int", "tt": "int", "td": "int", "tz": "int", "th": "int", "te": "int"}, ) async def test_tip_drop96(self): @@ -434,20 +428,17 @@ async def test_tip_drop96(self): await self.lh.drop_tips96(self.tip_rack) self._assert_command_sent_once( "A1HMTRid0284xp04329yp1458tz2164th2450te2450", - { - "xp": "int", - "yp": "int", - "tz": "int", - "th": "int", - "te": "int", - }, + {"xp": "int", "yp": "int", "tz": "int", "th": "int", "te": "int"}, ) async def test_aspirate96(self): await self.lh.pick_up_tips96(self.tip_rack) - await self.lh.aspirate96(self.plate, volume=100, jet=True, blow_out=True) + hlc = HighVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty + await self.lh.aspirate96( + self.plate, volume=hlc.compute_corrected_volume(100), **hlc.make_asp96_kwargs() + ) self._assert_command_sent_once( - "A1HMDAid0236at0xp05683yp1457th2450te2450lp1990zl1866zx1866ip000fp000av010720as2500ta050" + "A1HMDAid0236at0xp05683yp1457th2450te2450lp1990zl1866zx1866ip000fp000av010920as2500ta050" "ba004000oa00000lm0ll4de0020wt10mv00000mc00mp000ms2500zu0000zr00000mh000gj0gk0gi000" "cwFFFFFFFFFFFFFFFFFFFFFFFFpo0050", { @@ -485,10 +476,19 @@ async def test_aspirate96(self): async def test_dispense96(self): await self.lh.pick_up_tips96(self.tip_rack) - await self.lh.aspirate96(self.plate, volume=100, jet=True, blow_out=True) - await self.lh.dispense96(self.plate, volume=100, jet=True, blow_out=True) + hlc = HighVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty + await self.lh.aspirate96( + self.plate, volume=hlc.compute_corrected_volume(100), **hlc.make_asp96_kwargs() + ) + await self.lh.dispense96( + self.plate, + volume=hlc.compute_corrected_volume(100), + jet=True, + blow_out=True, + **hlc.make_disp96_kwargs(), + ) self._assert_command_sent_once( - "A1HMDDid0238dm1xp05683yp1457th2450te2450lp1990zl1966zx1866ip000fp029dv010720ds4000ta050" + "A1HMDDid0238dm1xp05683yp1457th2450te2450lp1990zl1966zx1866ip000fp029dv10920ds4000ta050" "ba004000lm0ll4de0010wt00mv00000mc00mp000ms0010ss2500rv000zu0000dj00zr00000mh000gj0gk0gi000" "cwFFFFFFFFFFFFFFFFFFFFFFFFpo0050", { @@ -527,13 +527,14 @@ async def test_dispense96(self): }, ) - async def test_zero_volume_liquid_handling96(self): + async def test_zero_volumeiquid_handling96(self): # just test that this does not throw an error await self.lh.pick_up_tips96(self.tip_rack) await self.lh.aspirate96(self.plate, volume=0) await self.lh.dispense96(self.plate, volume=0) async def test_move_plate(self): + assert self.plt_car[1].resource is not None self.plt_car[1].resource.unassign() await self.lh.move_plate(self.plate, self.plt_car[1], pickup_distance_from_top=5.2 - 3.33) @@ -557,13 +558,5 @@ async def test_move_plate(self): # release self._assert_command_sent_once( "A1RMDRid0242xp6179yp2102zp1954yo1310zc0hd0te2840", - { - "xp": "int", - "yp": "int", - "zp": "int", - "yo": "int", - "zc": "int", - "hd": "int", - "te": "int", - }, + {"xp": "int", "yp": "int", "zp": "int", "yo": "int", "zc": "int", "hd": "int", "te": "int"}, ) diff --git a/pylabrobot/liquid_handling/liquid_classes/hamilton/base.py b/pylabrobot/liquid_handling/liquid_classes/hamilton/base.py index 6a115d268c..432172bd71 100644 --- a/pylabrobot/liquid_handling/liquid_classes/hamilton/base.py +++ b/pylabrobot/liquid_handling/liquid_classes/hamilton/base.py @@ -1,4 +1,4 @@ -from typing import Any, Dict +from typing import Any, Dict, List class HamiltonLiquidClass: @@ -108,3 +108,49 @@ def serialize(self) -> Dict[str, Any]: "dispense_stop_flow_rate": self.dispense_stop_flow_rate, "dispense_stop_back_volume": self.dispense_stop_back_volume, } + + def copy(self) -> "HamiltonLiquidClass": + return HamiltonLiquidClass(**self.serialize()) + + def make_asp_kwargs(self, num_channels: int) -> Dict[str, List[Any]]: + return { + "flow_rates": [self.aspiration_flow_rate] * num_channels, + "mix_speed": [self.aspiration_mix_flow_rate] * num_channels, + "transport_air_volume": [self.aspiration_air_transport_volume] * num_channels, + "blow_out_air_volume": [self.aspiration_blow_out_volume] * num_channels, + "swap_speed": [self.aspiration_swap_speed] * num_channels, + "settling_time": [self.aspiration_settling_time] * num_channels, + "clot_detection_height": [self.aspiration_clot_retract_height] * num_channels, + } + + def make_disp_kwargs(self, num_channels: int) -> Dict[str, List[Any]]: + return { + "flow_rates": [self.dispense_flow_rate] * num_channels, + "mix_speed": [self.dispense_mix_flow_rate] * num_channels, + "transport_air_volume": [self.dispense_air_transport_volume] * num_channels, + "blow_out_air_volume": [self.dispense_blow_out_volume] * num_channels, + "swap_speed": [self.dispense_swap_speed] * num_channels, + "settling_time": [self.dispense_settling_time] * num_channels, + "stop_back_volume": [self.dispense_stop_back_volume] * num_channels, + } + + def make_asp96_kwargs(self) -> Dict[str, Any]: + return { + "flow_rate": self.aspiration_flow_rate, + "mix_speed": self.aspiration_mix_flow_rate, + "transport_air_volume": self.aspiration_air_transport_volume, + "blow_out_air_volume": self.aspiration_blow_out_volume, + "swap_speed": self.aspiration_swap_speed, + "settling_time": self.aspiration_settling_time, + } + + def make_disp96_kwargs(self) -> Dict[str, Any]: + return { + "flow_rate": self.dispense_flow_rate, + "mix_speed": self.dispense_mix_flow_rate, + "transport_air_volume": self.dispense_air_transport_volume, + "blow_out_air_volume": self.dispense_blow_out_volume, + "swap_speed": self.dispense_swap_speed, + "settling_time": self.dispense_settling_time, + "stop_back_volume": self.dispense_stop_back_volume, + } diff --git a/pylabrobot/liquid_handling/liquid_classes/hamilton/star.py b/pylabrobot/liquid_handling/liquid_classes/hamilton/star.py index 93b20a4d08..a774d354ea 100644 --- a/pylabrobot/liquid_handling/liquid_classes/hamilton/star.py +++ b/pylabrobot/liquid_handling/liquid_classes/hamilton/star.py @@ -1,57 +1,15 @@ -from typing import Dict, Optional, Tuple +# pylint: skip-file -from pylabrobot.liquid_handling.liquid_classes.hamilton.base import ( - HamiltonLiquidClass, -) +from typing import Dict, Tuple + +from pylabrobot.liquid_handling.liquid_classes.hamilton.base import HamiltonLiquidClass from pylabrobot.resources.liquid import Liquid -star_mapping: Dict[ - Tuple[int, bool, bool, bool, Liquid, bool, bool], - HamiltonLiquidClass, -] = {} - - -def get_star_liquid_class( - tip_volume: float, - is_core: bool, - is_tip: bool, - has_filter: bool, - liquid: Liquid, - jet: bool, - blow_out: bool, -) -> Optional[HamiltonLiquidClass]: - """Get the Hamilton STAR liquid class for the given parameters. - - Args: - tip_volume: The volume of the tip in microliters. - is_core: Whether the tip is a core tip. - is_tip: Whether the tip is a tip tip or a needle. - has_filter: Whether the tip has a filter. - liquid: The liquid to be dispensed. - jet: Whether the liquid is dispensed using a jet. - blow_out: This is called "empty" in the Hamilton Liquid editor and liquid class names, but - "blow out" in the firmware documentation. "Empty" in the firmware documentation means fully - emptying the tip, which is the terminology PyLabRobot adopts. Blow_out is the opposite of - partial dispense. - """ - - # Tip volumes from resources (mostly where they have filters) are slightly different from the ones - # in the liquid class mapping, so we need to map them here. If no mapping is found, we use the - # given maximal volume of the tip. - tip_volume = int( - { - 360.0: 300.0, - 1065.0: 1000.0, - 1250.0: 1000.0, - 4367.0: 4000.0, - 5420.0: 5000.0, - }.get(tip_volume, tip_volume) - ) - - return star_mapping.get( - (tip_volume, is_core, is_tip, has_filter, liquid, jet, blow_out), - None, - ) +star_mapping: Dict[Tuple[int, bool, bool, bool, Liquid, bool, bool], HamiltonLiquidClass] = {} + + +def get_star_liquid_class(**kwargs): + raise NotImplementedError("Deprecated, use HamiltonLiquidClass directly") star_mapping[(1000, False, False, False, Liquid.WATER, True, True)] = ( @@ -90,14 +48,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, True, False)] = ( _1000ulNeedleCRWater_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 520.0, - 50.0: 62.2, - 0.0: 0.0, - 20.0: 32.0, - 100.0: 115.5, - 1000.0: 1032.0, - }, + curve={500.0: 520.0, 50.0: 62.2, 0.0: 0.0, 20.0: 32.0, 100.0: 115.5, 1000.0: 1032.0}, aspiration_flow_rate=500.0, aspiration_mix_flow_rate=500.0, aspiration_air_transport_volume=0.0, @@ -122,13 +73,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, False, True)] = ( _1000ulNeedleCRWater_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 50.0: 59.0, - 0.0: 0.0, - 20.0: 25.9, - 10.0: 12.9, - 1000.0: 1000.0, - }, + curve={50.0: 59.0, 0.0: 0.0, 20.0: 25.9, 10.0: 12.9, 1000.0: 1000.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=1.0, @@ -153,13 +98,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( _1000ulNeedleCRWater_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 55.0, - 0.0: 0.0, - 20.0: 25.9, - 10.0: 12.9, - 1000.0: 1000.0, - }, + curve={50.0: 55.0, 0.0: 0.0, 20.0: 25.9, 10.0: 12.9, 1000.0: 1000.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=1.0, @@ -268,14 +207,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.WATER, False, True)] = ( _10ulNeedleCRWater_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 0.5, - 0.0: 0.0, - 1.0: 1.2, - 2.0: 2.4, - 10.0: 11.4, - }, + curve={5.0: 5.7, 0.5: 0.5, 0.0: 0.0, 1.0: 1.2, 2.0: 2.4, 10.0: 11.4}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=1.0, @@ -299,14 +231,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.WATER, False, False)] = ( _10ulNeedleCRWater_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 0.5, - 0.0: 0.0, - 1.0: 1.2, - 2.0: 2.4, - 10.0: 11.4, - }, + curve={5.0: 5.7, 0.5: 0.5, 0.0: 0.0, 1.0: 1.2, 2.0: 2.4, 10.0: 11.4}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=1.0, @@ -378,15 +303,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.DMSO, False, True)] = ( _150ul_Piercing_Tip_Filter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 6.5, - 150.0: 155.0, - 50.0: 53.7, - 0.0: 0.0, - 10.0: 12.0, - 2.0: 3.0, - }, + curve={3.0: 4.5, 5.0: 6.5, 150.0: 155.0, 50.0: 53.7, 0.0: 0.0, 10.0: 12.0, 2.0: 3.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -469,15 +386,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.ETHANOL, False, True)] = ( _150ul_Piercing_Tip_Filter_Ethanol_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 5.0, - 5.0: 7.6, - 150.0: 165.0, - 50.0: 56.9, - 0.0: 0.0, - 10.0: 13.2, - 2.0: 3.3, - }, + curve={3.0: 5.0, 5.0: 7.6, 150.0: 165.0, 50.0: 56.9, 0.0: 0.0, 10.0: 13.2, 2.0: 3.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=7.0, @@ -520,16 +429,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.GLYCERIN80, False, True)] = ( _150ul_Piercing_Tip_Filter_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 7.2, - 150.0: 167.5, - 50.0: 60.0, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.0, - 2.0: 2.5, - }, + curve={3.0: 4.5, 5.0: 7.2, 150.0: 167.5, 50.0: 60.0, 0.0: 0.0, 1.0: 2.7, 10.0: 13.0, 2.0: 2.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -612,15 +512,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.SERUM, False, True)] = ( _150ul_Piercing_Tip_Filter_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.4, - 5.0: 5.9, - 150.0: 161.5, - 50.0: 56.2, - 0.0: 0.0, - 10.0: 11.6, - 2.0: 2.2, - }, + curve={3.0: 3.4, 5.0: 5.9, 150.0: 161.5, 50.0: 56.2, 0.0: 0.0, 10.0: 11.6, 2.0: 2.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -701,16 +593,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.WATER, False, True)] = ( _150ul_Piercing_Tip_Filter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.5, - 5.0: 6.5, - 150.0: 158.1, - 50.0: 54.5, - 0.0: 0.0, - 1.0: 1.6, - 10.0: 11.9, - 2.0: 2.8, - }, + curve={3.0: 3.5, 5.0: 6.5, 150.0: 158.1, 50.0: 54.5, 0.0: 0.0, 1.0: 1.6, 10.0: 11.9, 2.0: 2.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -758,15 +641,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.DMSO, False, True)] = ( _250ul_Piercing_Tip_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.2, - 5.0: 6.5, - 250.0: 256.0, - 50.0: 53.7, - 0.0: 0.0, - 10.0: 12.0, - 2.0: 3.0, - }, + curve={3.0: 4.2, 5.0: 6.5, 250.0: 256.0, 50.0: 53.7, 0.0: 0.0, 10.0: 12.0, 2.0: 3.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -849,14 +724,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.ETHANOL, False, True)] = ( _250ul_Piercing_Tip_Ethanol_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 5.0, - 5.0: 9.6, - 250.0: 270.5, - 50.0: 58.0, - 0.0: 0.0, - 10.0: 14.8, - }, + curve={3.0: 5.0, 5.0: 9.6, 250.0: 270.5, 50.0: 58.0, 0.0: 0.0, 10.0: 14.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=10.0, @@ -899,15 +767,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.GLYCERIN80, False, True)] = ( _250ul_Piercing_Tip_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 7.2, - 250.0: 289.0, - 50.0: 65.0, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.9, - }, + curve={3.0: 4.5, 5.0: 7.2, 250.0: 289.0, 50.0: 65.0, 0.0: 0.0, 1.0: 2.7, 10.0: 13.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -990,14 +850,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.SERUM, False, True)] = ( _250ul_Piercing_Tip_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.4, - 5.0: 5.9, - 250.0: 264.2, - 50.0: 56.2, - 0.0: 0.0, - 10.0: 11.6, - }, + curve={3.0: 3.4, 5.0: 5.9, 250.0: 264.2, 50.0: 56.2, 0.0: 0.0, 10.0: 11.6}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1054,16 +907,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.WATER, False, True)] = ( _250ul_Piercing_Tip_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.0, - 5.0: 6.5, - 250.0: 259.0, - 50.0: 55.1, - 0.0: 0.0, - 1.0: 1.6, - 10.0: 12.6, - 2.0: 2.8, - }, + curve={3.0: 4.0, 5.0: 6.5, 250.0: 259.0, 50.0: 55.1, 0.0: 0.0, 1.0: 1.6, 10.0: 12.6, 2.0: 2.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1104,14 +948,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.ACETONITRIL80WATER20, True, False)] = ( _300ulNeedleAcetonitril80Water20DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.0, - 50.0: 57.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 26.8, - 10.0: 16.5, - }, + curve={300.0: 310.0, 50.0: 57.8, 0.0: 0.0, 100.0: 106.5, 20.0: 26.8, 10.0: 16.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=15.0, @@ -1135,13 +972,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, True)] = ( _300ulNeedleCRWater_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 104.0, - 20.0: 22.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 104.0, 20.0: 22.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1165,13 +996,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( _300ulNeedleCRWater_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 59.5, - 0.0: 0.0, - 100.0: 109.0, - 20.0: 29.3, - }, + curve={300.0: 313.0, 50.0: 59.5, 0.0: 0.0, 100.0: 109.0, 20.0: 29.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1281,13 +1106,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.DIMETHYLSULFOXID, True, False)] = ( _300ulNeedleDMSODispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 21.3, - }, + curve={300.0: 317.0, 50.0: 53.5, 0.0: 0.0, 100.0: 106.5, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -1328,14 +1147,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.DIMETHYLSULFOXID, False, False)] = ( _300ulNeedleDMSODispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 10.0: 11.4, - 2.0: 2.5, - }, + curve={5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 10.0: 11.4, 2.0: 2.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=5.0, @@ -1376,13 +1188,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.ETHANOL, True, False)] = ( _300ulNeedleEtOHDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 57.8, - 0.0: 0.0, - 100.0: 109.0, - 20.0: 25.3, - }, + curve={300.0: 317.0, 50.0: 57.8, 0.0: 0.0, 100.0: 109.0, 20.0: 25.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=15.0, @@ -1517,13 +1323,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.SERUM, True, False)] = ( _300ulNeedleSerumDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 21.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1566,15 +1366,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.SERUM, False, False)] = ( _300ulNeedleSerumDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 1.0: 2.2, - 10.0: 11.9, - 2.0: 3.2, - }, + curve={5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 1.0: 2.2, 10.0: 11.9, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1614,13 +1406,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.SERUM, True, False)] = ( _300ulNeedle_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 21.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1663,16 +1449,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.SERUM, False, False)] = ( _300ulNeedle_Serum_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 300.0: 350.0, - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 1.0: 2.2, - 10.0: 11.9, - 2.0: 3.2, - }, + curve={300.0: 350.0, 5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 1.0: 2.2, 10.0: 11.9, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1713,13 +1490,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( _300ulNeedle_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 22.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 22.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1834,14 +1605,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1866,13 +1630,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 105.8, - 200.0: 209.5, - 10.0: 11.4, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 105.8, 200.0: 209.5, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1897,13 +1655,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 308.0, - 0.0: 0.0, - 100.0: 105.5, - 200.0: 209.0, - 10.0: 12.0, - }, + curve={300.0: 308.0, 0.0: 0.0, 100.0: 105.5, 200.0: 209.0, 10.0: 12.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1928,13 +1680,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( _300ul_RocketTip_384COREHead_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 22.3, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 100.0: 106.5, 20.0: 22.3, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1959,13 +1705,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( _300ul_RocketTip_384COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 22.3, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 100.0: 106.5, 20.0: 22.3, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1990,13 +1730,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( _300ul_RocketTip_384COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 314.3, - 0.0: 0.0, - 100.0: 109.0, - 200.0: 214.7, - 10.0: 12.7, - }, + curve={300.0: 314.3, 0.0: 0.0, 100.0: 109.0, 200.0: 214.7, 10.0: 12.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -2116,16 +1850,7 @@ def get_star_liquid_class( star_mapping[(30, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _30ulTip_384COREHead_Glyzerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.3, - 0.5: 0.9, - 40.0: 44.0, - 0.0: 0.0, - 20.0: 22.2, - 1.0: 1.6, - 10.0: 11.9, - 2.0: 2.8, - }, + curve={5.0: 6.3, 0.5: 0.9, 40.0: 44.0, 0.0: 0.0, 20.0: 22.2, 1.0: 1.6, 10.0: 11.9, 2.0: 2.8}, aspiration_flow_rate=150.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2197,16 +1922,7 @@ def get_star_liquid_class( star_mapping[(30, True, True, False, Liquid.WATER, False, False)] = ( _30ulTip_384COREWasher_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.3, - 0.5: 0.9, - 40.0: 44.0, - 0.0: 0.0, - 1.0: 1.6, - 20.0: 22.2, - 2.0: 2.8, - 10.0: 11.9, - }, + curve={5.0: 6.3, 0.5: 0.9, 40.0: 44.0, 0.0: 0.0, 1.0: 1.6, 20.0: 22.2, 2.0: 2.8, 10.0: 11.9}, aspiration_flow_rate=10.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -2503,14 +2219,7 @@ def get_star_liquid_class( star_mapping[(4000, False, True, False, Liquid.WATER, True, False)] = ( _4mlTF_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 4000.0: 4160.0, - 3000.0: 3160.0, - 0.0: 0.0, - 2000.0: 2160.0, - 100.0: 214.0, - 1000.0: 1148.0, - }, + curve={4000.0: 4160.0, 3000.0: 3160.0, 0.0: 0.0, 2000.0: 2160.0, 100.0: 214.0, 1000.0: 1148.0}, aspiration_flow_rate=2000.0, aspiration_mix_flow_rate=500.0, aspiration_air_transport_volume=20.0, @@ -2625,14 +2334,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( _50ulTip_384COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.0, - 50.0: 51.1, - 30.0: 30.7, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 10.1, - }, + curve={5.0: 5.0, 50.0: 51.1, 30.0: 30.7, 0.0: 0.0, 1.0: 0.9, 10.0: 10.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2656,14 +2358,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_384COREHead_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.54, - 15.0: 18.36, - 50.0: 53.0, - 30.0: 33.8, - 0.0: 0.0, - 1.0: 1.8, - }, + curve={5.0: 6.54, 15.0: 18.36, 50.0: 53.0, 30.0: 33.8, 0.0: 0.0, 1.0: 1.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -2687,15 +2382,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.ETHANOL, False, True)] = ( _50ulTip_384COREHead_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.2, - 15.0: 16.9, - 0.5: 1.0, - 50.0: 54.0, - 30.0: 33.1, - 0.0: 0.0, - 1.0: 1.5, - }, + curve={5.0: 6.2, 15.0: 16.9, 0.5: 1.0, 50.0: 54.0, 30.0: 33.1, 0.0: 0.0, 1.0: 1.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=2.0, @@ -2719,15 +2406,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _50ulTip_384COREHead_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.65, - 50.0: 55.0, - 0.0: 0.0, - 30.0: 31.5, - 1.0: 1.2, - 10.0: 10.9, - }, + curve={5.0: 5.6, 0.5: 0.65, 50.0: 55.0, 0.0: 0.0, 30.0: 31.5, 1.0: 1.2, 10.0: 10.9}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -2775,14 +2454,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( _50ulTip_384COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 52.2, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.2, - 10.0: 11.3, - }, + curve={5.0: 5.5, 50.0: 52.2, 30.0: 31.5, 0.0: 0.0, 1.0: 1.2, 10.0: 11.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2840,15 +2512,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.DMSO, True, True)] = ( _50ulTip_conductive_384COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.2, - 50.0: 50.6, - 30.0: 30.4, - 0.0: 0.0, - 1.0: 0.9, - 20.0: 21.1, - 10.0: 9.3, - }, + curve={5.0: 5.2, 50.0: 50.6, 30.0: 30.4, 0.0: 0.0, 1.0: 0.9, 20.0: 21.1, 10.0: 9.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2872,15 +2536,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.DMSO, True, True)] = ( _50ulTip_conductive_384COREHead_DMSO_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 5.2, - 50.0: 50.6, - 30.0: 30.4, - 0.0: 0.0, - 1.0: 0.9, - 20.0: 21.1, - 10.0: 9.3, - }, + curve={5.0: 5.2, 50.0: 50.6, 30.0: 30.4, 0.0: 0.0, 1.0: 0.9, 20.0: 21.1, 10.0: 9.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2962,15 +2618,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_conductive_384COREHead_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.85, - 15.0: 18.36, - 50.0: 54.3, - 30.0: 33.6, - 0.0: 0.0, - 1.0: 1.5, - 10.0: 12.1, - }, + curve={5.0: 6.85, 15.0: 18.36, 50.0: 54.3, 30.0: 33.6, 0.0: 0.0, 1.0: 1.5, 10.0: 12.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -2994,15 +2642,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_conductive_384COREHead_EtOH_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 6.85, - 15.0: 18.36, - 50.0: 54.3, - 30.0: 33.6, - 0.0: 0.0, - 1.0: 1.5, - 10.0: 12.1, - }, + curve={5.0: 6.85, 15.0: 18.36, 50.0: 54.3, 30.0: 33.6, 0.0: 0.0, 1.0: 1.5, 10.0: 12.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -3084,16 +2724,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _50ulTip_conductive_384COREHead_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 0.25: 0.05, - 5.0: 5.5, - 0.5: 0.3, - 50.0: 51.9, - 30.0: 31.8, - 0.0: 0.0, - 1.0: 1.0, - 10.0: 10.9, - }, + curve={0.25: 0.05, 5.0: 5.5, 0.5: 0.3, 50.0: 51.9, 30.0: 31.8, 0.0: 0.0, 1.0: 1.0, 10.0: 10.9}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -3117,16 +2748,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, True, True)] = ( _50ulTip_conductive_384COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.67, - 0.5: 0.27, - 50.0: 51.9, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.06, - 20.0: 20.0, - 10.0: 10.9, - }, + curve={5.0: 5.67, 0.5: 0.27, 50.0: 51.9, 30.0: 31.5, 0.0: 0.0, 1.0: 1.06, 20.0: 20.0, 10.0: 10.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -3150,16 +2772,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, True, True)] = ( _50ulTip_conductive_384COREHead_Water_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 5.67, - 0.5: 0.27, - 50.0: 51.9, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.06, - 20.0: 20.0, - 10.0: 10.9, - }, + curve={5.0: 5.67, 0.5: 0.27, 50.0: 51.9, 30.0: 31.5, 0.0: 0.0, 1.0: 1.06, 20.0: 20.0, 10.0: 10.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -3761,13 +3374,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( HighNeedle_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3791,13 +3398,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, False, True)] = ( HighNeedle_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3821,13 +3422,7 @@ def get_star_liquid_class( star_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( HighNeedle_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3866,14 +3461,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.ACETONITRIL80WATER20, True, False)] = ( HighVolumeAcetonitril80Water20DispenseJet ) = HamiltonLiquidClass( - curve={ - 500.0: 514.5, - 50.0: 57.5, - 0.0: 0.0, - 20.0: 25.0, - 100.0: 110.5, - 1000.0: 1020.8, - }, + curve={500.0: 514.5, 50.0: 57.5, 0.0: 0.0, 20.0: 25.0, 100.0: 110.5, 1000.0: 1020.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -4175,15 +3763,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.BRAINHOMOGENATE, True, False)] = ( HighVolumeBrainHomogenateDispenseJet ) = HamiltonLiquidClass( - curve={ - 50.0: 57.9, - 0.0: 0.0, - 20.0: 25.3, - 100.0: 111.3, - 10.0: 14.2, - 200.0: 214.5, - 1000.0: 1038.6, - }, + curve={50.0: 57.9, 0.0: 0.0, 20.0: 25.3, 100.0: 111.3, 10.0: 14.2, 200.0: 214.5, 1000.0: 1038.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -4223,14 +3803,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.CHLOROFORM, True, False)] = ( HighVolumeChloroformDispenseJet ) = HamiltonLiquidClass( - curve={ - 500.0: 520.5, - 250.0: 269.0, - 50.0: 62.9, - 0.0: 0.0, - 100.0: 116.3, - 1000.0: 1030.0, - }, + curve={500.0: 520.5, 250.0: 269.0, 50.0: 62.9, 0.0: 0.0, 100.0: 116.3, 1000.0: 1030.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=10.0, @@ -4305,13 +3878,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, True, Liquid.DMSO, True, True)] = ( HighVolumeFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 508.2, - 0.0: 0.0, - 20.0: 21.7, - 100.0: 101.7, - 1000.0: 1017.0, - }, + curve={500.0: 508.2, 0.0: 0.0, 20.0: 21.7, 100.0: 101.7, 1000.0: 1017.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4335,13 +3902,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, True, Liquid.DMSO, False, True)] = ( HighVolumeFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 512.5, - 0.0: 0.0, - 100.0: 105.8, - 10.0: 12.7, - 1000.0: 1024.5, - }, + curve={500.0: 512.5, 0.0: 0.0, 100.0: 105.8, 10.0: 12.7, 1000.0: 1024.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -4365,13 +3926,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, True, Liquid.WATER, True, True)] = ( HighVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 20.0: 24.0, - 100.0: 109.2, - 1000.0: 1040.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 20.0: 24.0, 100.0: 109.2, 1000.0: 1040.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4395,13 +3950,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, True, Liquid.WATER, False, True)] = ( HighVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 108.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 108.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -4545,13 +4094,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, True, Liquid.DMSO, True, False)] = ( HighVolumeFilter_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 517.2, - 0.0: 0.0, - 100.0: 109.5, - 20.0: 27.0, - 1000.0: 1027.0, - }, + curve={500.0: 517.2, 0.0: 0.0, 100.0: 109.5, 20.0: 27.0, 1000.0: 1027.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5180,13 +4723,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, True, Liquid.SERUM, True, False)] = ( HighVolumeFilter_Serum_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 525.3, - 0.0: 0.0, - 100.0: 111.3, - 20.0: 27.3, - 1000.0: 1046.6, - }, + curve={500.0: 525.3, 0.0: 0.0, 100.0: 111.3, 20.0: 27.3, 1000.0: 1046.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5277,14 +4814,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, True, Liquid.SERUM, False, False)] = ( HighVolumeFilter_Serum_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 523.5, - 0.0: 0.0, - 100.0: 111.2, - 20.0: 23.2, - 1000.0: 1038.7, - 10.0: 11.8, - }, + curve={500.0: 523.5, 0.0: 0.0, 100.0: 111.2, 20.0: 23.2, 1000.0: 1038.7, 10.0: 11.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -5597,14 +5127,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.METHANOL, True, False)] = ( HighVolumeMeOHDispenseJet ) = HamiltonLiquidClass( - curve={ - 500.0: 520.5, - 250.0: 269.0, - 50.0: 62.9, - 0.0: 0.0, - 100.0: 116.3, - 1000.0: 1030.0, - }, + curve={500.0: 520.5, 250.0: 269.0, 50.0: 62.9, 0.0: 0.0, 100.0: 116.3, 1000.0: 1030.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=10.0, @@ -5701,14 +5224,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.METHANOL70WATER030, True, False)] = ( HighVolumeMeOHH2ODispenseJet ) = HamiltonLiquidClass( - curve={ - 500.0: 528.5, - 250.0: 269.0, - 50.0: 60.5, - 0.0: 0.0, - 100.0: 114.3, - 1000.0: 1050.0, - }, + curve={500.0: 528.5, 250.0: 269.0, 50.0: 60.5, 0.0: 0.0, 100.0: 114.3, 1000.0: 1050.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=10.0, @@ -5831,13 +5347,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.DMSO, True, False)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -5861,13 +5371,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.DMSO, True, True)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 508.2, - 0.0: 0.0, - 100.0: 101.7, - 20.0: 21.7, - 1000.0: 1017.0, - }, + curve={500.0: 508.2, 0.0: 0.0, 100.0: 101.7, 20.0: 21.7, 1000.0: 1017.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5891,13 +5395,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.DMSO, False, True)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 512.5, - 0.0: 0.0, - 100.0: 105.8, - 1000.0: 1024.5, - 10.0: 12.7, - }, + curve={500.0: 512.5, 0.0: 0.0, 100.0: 105.8, 1000.0: 1024.5, 10.0: 12.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -5922,14 +5420,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.ETHANOL, True, False)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 500.0: 500.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - 1000.0: 1000.0, - }, + curve={300.0: 300.0, 500.0: 500.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0, 1000.0: 1000.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -5953,13 +5444,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.ETHANOL, True, True)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 516.5, - 0.0: 0.0, - 100.0: 108.3, - 20.0: 24.0, - 1000.0: 1027.0, - }, + curve={500.0: 516.5, 0.0: 0.0, 100.0: 108.3, 20.0: 24.0, 1000.0: 1027.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5984,13 +5469,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.ETHANOL, False, True)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 516.5, - 0.0: 0.0, - 100.0: 107.0, - 1000.0: 1027.0, - 10.0: 14.0, - }, + curve={500.0: 516.5, 0.0: 0.0, 100.0: 107.0, 1000.0: 1027.0, 10.0: 14.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=150.0, aspiration_air_transport_volume=5.0, @@ -6014,13 +5493,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.GLYCERIN80, False, True)] = ( HighVolume_96COREHead1000ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 115.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 115.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=150.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -6044,13 +5517,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.WATER, True, False)] = ( HighVolume_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -6074,13 +5541,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.WATER, True, True)] = ( HighVolume_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -6104,13 +5565,7 @@ def get_star_liquid_class( star_mapping[(1000, True, True, False, Liquid.WATER, False, True)] = ( HighVolume_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 108.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 108.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -6288,13 +5743,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.DMSO, True, False)] = ( HighVolume_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 520.2, - 0.0: 0.0, - 100.0: 112.0, - 20.0: 27.0, - 1000.0: 1031.0, - }, + curve={500.0: 520.2, 0.0: 0.0, 100.0: 112.0, 20.0: 27.0, 1000.0: 1031.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -6485,14 +5934,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.ETHANOL, True, False)] = ( HighVolume_EtOH_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 529.0, - 50.0: 62.9, - 0.0: 0.0, - 100.0: 114.5, - 20.0: 27.8, - 1000.0: 1053.9, - }, + curve={500.0: 529.0, 50.0: 62.9, 0.0: 0.0, 100.0: 114.5, 20.0: 27.8, 1000.0: 1053.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=5.0, @@ -6919,13 +6361,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.SERUM, True, False)] = ( HighVolume_Serum_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 525.3, - 0.0: 0.0, - 100.0: 111.3, - 20.0: 27.3, - 1000.0: 1046.6, - }, + curve={500.0: 525.3, 0.0: 0.0, 100.0: 111.3, 20.0: 27.3, 1000.0: 1046.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -7016,14 +6452,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.SERUM, False, False)] = ( HighVolume_Serum_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 55.9, - 0.0: 0.0, - 100.0: 108.2, - 20.0: 23.2, - 1000.0: 1037.7, - 10.0: 11.8, - }, + curve={50.0: 55.9, 0.0: 0.0, 100.0: 108.2, 20.0: 23.2, 1000.0: 1037.7, 10.0: 11.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -7184,13 +6613,7 @@ def get_star_liquid_class( star_mapping[(1000, False, True, False, Liquid.WATER, True, False)] = ( HighVolume_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 521.7, - 0.0: 0.0, - 100.0: 109.6, - 20.0: 26.9, - 1000.0: 1040.0, - }, + curve={500.0: 521.7, 0.0: 0.0, 100.0: 109.6, 20.0: 26.9, 1000.0: 1040.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -7320,16 +6743,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.DNA_TRIS_EDTA, True, False)] = ( LowNeedleDNADispenseJet ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 1.0, - 50.0: 53.0, - 0.0: 0.0, - 20.0: 22.1, - 1.0: 1.5, - 10.0: 10.8, - 2.0: 2.7, - }, + curve={5.0: 5.7, 0.5: 1.0, 50.0: 53.0, 0.0: 0.0, 20.0: 22.1, 1.0: 1.5, 10.0: 10.8, 2.0: 2.7}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=0.0, @@ -7358,16 +6772,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.DNA_TRIS_EDTA, False, False)] = ( LowNeedleDNADispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 1.0, - 50.0: 53.0, - 0.0: 0.0, - 20.0: 22.1, - 1.0: 1.5, - 10.0: 10.8, - 2.0: 2.7, - }, + curve={5.0: 5.7, 0.5: 1.0, 50.0: 53.0, 0.0: 0.0, 20.0: 22.1, 1.0: 1.5, 10.0: 10.8, 2.0: 2.7}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=0.0, @@ -7449,14 +6854,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.WATER, True, True)] = ( LowNeedle_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 70.0: 70.0, - 50.0: 52.7, - 30.0: 31.7, - 0.0: 0.0, - 20.0: 20.5, - 10.0: 10.3, - }, + curve={70.0: 70.0, 50.0: 52.7, 30.0: 31.7, 0.0: 0.0, 20.0: 20.5, 10.0: 10.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=15.0, @@ -7480,14 +6878,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.WATER, True, False)] = ( LowNeedle_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 70.0: 70.0, - 50.0: 52.7, - 30.0: 31.7, - 0.0: 0.0, - 20.0: 20.5, - 10.0: 10.3, - }, + curve={70.0: 70.0, 50.0: 52.7, 30.0: 31.7, 0.0: 0.0, 20.0: 20.5, 10.0: 10.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=15.0, @@ -7512,16 +6903,7 @@ def get_star_liquid_class( star_mapping[(10, False, False, False, Liquid.WATER, False, False)] = ( LowNeedle_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.0, - 0.5: 0.5, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.5, - 1.0: 1.0, - 10.0: 10.0, - 2.0: 2.0, - }, + curve={5.0: 5.0, 0.5: 0.5, 50.0: 50.0, 0.0: 0.0, 20.0: 20.5, 1.0: 1.0, 10.0: 10.0, 2.0: 2.0}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=0.0, @@ -7758,15 +7140,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.DMSO, False, False)] = ( LowVolumeFilter_DMSO_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 15.0: 16.4, - 0.0: 0.0, - 1.0: 1.4, - 2.0: 2.6, - 10.0: 11.2, - }, + curve={5.0: 5.9, 0.5: 0.8, 15.0: 16.4, 0.0: 0.0, 1.0: 1.4, 2.0: 2.6, 10.0: 11.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7790,14 +7164,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.DMSO, False, True)] = ( LowVolumeFilter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 10.0, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 10.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7846,14 +7213,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.ETHANOL, False, False)] = ( LowVolumeFilter_EtOH_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 8.4, - 0.5: 1.9, - 0.0: 0.0, - 1.0: 2.7, - 2.0: 4.1, - 10.0: 13.0, - }, + curve={5.0: 8.4, 0.5: 1.9, 0.0: 0.0, 1.0: 2.7, 2.0: 4.1, 10.0: 13.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -7926,15 +7286,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.GLYCERIN, False, False)] = ( LowVolumeFilter_Glycerin_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 0.5: 1.4, - 15.0: 17.0, - 0.0: 0.0, - 1.0: 2.0, - 2.0: 3.2, - 10.0: 11.8, - }, + curve={5.0: 6.5, 0.5: 1.4, 15.0: 17.0, 0.0: 0.0, 1.0: 2.0, 2.0: 3.2, 10.0: 11.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -7983,15 +7335,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.WATER, False, False)] = ( LowVolumeFilter_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 15.0: 16.7, - 0.0: 0.0, - 1.0: 1.4, - 2.0: 2.6, - 10.0: 11.5, - }, + curve={5.0: 6.0, 0.5: 0.8, 15.0: 16.7, 0.0: 0.0, 1.0: 1.4, 2.0: 2.6, 10.0: 11.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8015,14 +7359,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, True, Liquid.WATER, False, True)] = ( LowVolumeFilter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 10.0, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 10.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8087,14 +7424,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.PLASMA, False, False)] = ( LowVolumePlasmaDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -8118,14 +7448,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.PLASMA, False, True)] = ( LowVolumePlasmaDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -8190,14 +7513,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.SERUM, False, False)] = ( LowVolumeSerumDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -8221,14 +7537,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.SERUM, False, True)] = ( LowVolumeSerumDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -8421,14 +7730,7 @@ def get_star_liquid_class( star_mapping[(10, True, True, False, Liquid.WATER, False, False)] = ( LowVolume_Core96Washer_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 15.0, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 15.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=150.0, aspiration_air_transport_volume=0.0, @@ -8453,15 +7755,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.DMSO, False, False)] = ( LowVolume_DMSO_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 15.0: 16.4, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.2, - 2.0: 2.6, - }, + curve={5.0: 5.9, 15.0: 16.4, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.2, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8485,14 +7779,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.DMSO, False, True)] = ( LowVolume_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.2, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.2, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8541,14 +7828,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.ETHANOL, False, False)] = ( LowVolume_EtOH_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 8.4, - 0.5: 1.9, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.0, - 2.0: 4.1, - }, + curve={5.0: 8.4, 0.5: 1.9, 0.0: 0.0, 1.0: 2.7, 10.0: 13.0, 2.0: 4.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -8621,15 +7901,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.GLYCERIN, False, False)] = ( LowVolume_Glycerin_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 15.0: 17.0, - 0.5: 1.4, - 0.0: 0.0, - 1.0: 2.0, - 10.0: 11.8, - 2.0: 3.2, - }, + curve={5.0: 6.5, 15.0: 17.0, 0.5: 1.4, 0.0: 0.0, 1.0: 2.0, 10.0: 11.8, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -8654,15 +7926,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.WATER, False, False)] = ( LowVolume_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 15.0: 16.7, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 6.0, 15.0: 16.7, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8758,14 +8022,7 @@ def get_star_liquid_class( star_mapping[(10, False, True, False, Liquid.WATER, False, True)] = ( LowVolume_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -8849,14 +8106,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( SlimTipFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.3, - 50.0: 55.3, - 0.0: 0.0, - 100.0: 107.7, - 20.0: 22.4, - 200.0: 210.5, - }, + curve={300.0: 312.3, 50.0: 55.3, 0.0: 0.0, 100.0: 107.7, 20.0: 22.4, 200.0: 210.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -8880,15 +8130,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( SlimTipFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 311.9, - 50.0: 54.1, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 22.5, - 10.0: 11.1, - 200.0: 209.4, - }, + curve={300.0: 311.9, 50.0: 54.1, 0.0: 0.0, 100.0: 107.5, 20.0: 22.5, 10.0: 11.1, 200.0: 209.4}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=1.0, @@ -8925,14 +8167,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=5.0, @@ -8956,14 +8191,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 109.4, - 20.0: 22.7, - 200.0: 213.7, - }, + curve={300.0: 317.0, 50.0: 55.8, 0.0: 0.0, 100.0: 109.4, 20.0: 22.7, 200.0: 213.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -8987,14 +8215,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 318.7, - 50.0: 54.9, - 0.0: 0.0, - 100.0: 110.4, - 10.0: 11.7, - 200.0: 210.5, - }, + curve={300.0: 318.7, 50.0: 54.9, 0.0: 0.0, 100.0: 110.4, 10.0: 11.7, 200.0: 210.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9055,14 +8276,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( SlimTipFilter_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.5, - 50.0: 54.4, - 0.0: 0.0, - 100.0: 106.4, - 20.0: 22.1, - 200.0: 208.2, - }, + curve={300.0: 309.5, 50.0: 54.4, 0.0: 0.0, 100.0: 106.4, 20.0: 22.1, 200.0: 208.2}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9131,13 +8345,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.ETHANOL, True, False)] = ( SlimTipFilter_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -9161,14 +8369,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.ETHANOL, True, True)] = ( SlimTipFilter_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 320.4, - 50.0: 57.2, - 0.0: 0.0, - 100.0: 110.5, - 20.0: 24.5, - 200.0: 215.0, - }, + curve={300.0: 320.4, 50.0: 57.2, 0.0: 0.0, 100.0: 110.5, 20.0: 24.5, 200.0: 215.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9192,15 +8393,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.ETHANOL, False, True)] = ( SlimTipFilter_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.9, - 50.0: 55.4, - 0.0: 0.0, - 100.0: 107.7, - 20.0: 23.2, - 10.0: 12.4, - 200.0: 210.6, - }, + curve={300.0: 313.9, 50.0: 55.4, 0.0: 0.0, 100.0: 107.7, 20.0: 23.2, 10.0: 12.4, 200.0: 210.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=2.0, @@ -9224,15 +8417,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.GLYCERIN80, False, True)] = ( SlimTipFilter_Glycerin_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.0, - 50.0: 55.0, - 0.0: 0.0, - 100.0: 107.8, - 20.0: 22.9, - 10.0: 11.8, - 200.0: 210.0, - }, + curve={300.0: 312.0, 50.0: 55.0, 0.0: 0.0, 100.0: 107.8, 20.0: 22.9, 10.0: 11.8, 200.0: 210.0}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -9268,14 +8453,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( SlimTipFilter_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=3.0, @@ -9299,14 +8477,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( SlimTipFilter_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.6, - 20.0: 22.6, - 200.0: 212.8, - }, + curve={300.0: 317.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.6, 20.0: 22.6, 200.0: 212.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -9399,14 +8570,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( SlimTip_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.8, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 109.2, - 20.0: 23.1, - 200.0: 212.7, - }, + curve={300.0: 313.8, 50.0: 55.8, 0.0: 0.0, 100.0: 109.2, 20.0: 23.1, 200.0: 212.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -9430,15 +8594,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( SlimTip_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.9, - 50.0: 54.1, - 0.0: 0.0, - 20.0: 22.5, - 100.0: 108.8, - 200.0: 210.9, - 10.0: 11.1, - }, + curve={300.0: 312.9, 50.0: 54.1, 0.0: 0.0, 20.0: 22.5, 100.0: 108.8, 200.0: 210.9, 10.0: 11.1}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=1.0, @@ -9474,13 +8630,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.ETHANOL, True, False)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -9504,14 +8654,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.ETHANOL, True, True)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 58.8, - 0.0: 0.0, - 100.0: 112.7, - 20.0: 25.0, - 200.0: 218.2, - }, + curve={300.0: 326.2, 50.0: 58.8, 0.0: 0.0, 100.0: 112.7, 20.0: 25.0, 200.0: 218.2}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9535,14 +8678,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.ETHANOL, False, True)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 320.3, - 50.0: 56.7, - 0.0: 0.0, - 100.0: 109.5, - 10.0: 12.4, - 200.0: 213.9, - }, + curve={300.0: 320.3, 50.0: 56.7, 0.0: 0.0, 100.0: 109.5, 10.0: 12.4, 200.0: 213.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=2.0, @@ -9566,15 +8702,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.GLYCERIN80, False, True)] = ( SlimTip_96COREHead1000ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 319.3, - 50.0: 58.2, - 0.0: 0.0, - 100.0: 112.1, - 20.0: 23.9, - 10.0: 12.1, - 200.0: 216.9, - }, + curve={300.0: 319.3, 50.0: 58.2, 0.0: 0.0, 100.0: 112.1, 20.0: 23.9, 10.0: 12.1, 200.0: 216.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -9611,14 +8739,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( SlimTip_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=5.0, @@ -9642,14 +8763,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( SlimTip_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.0, - 50.0: 55.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 22.8, - 200.0: 211.0, - }, + curve={300.0: 315.0, 50.0: 55.5, 0.0: 0.0, 100.0: 107.2, 20.0: 22.8, 200.0: 211.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -9673,14 +8787,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( SlimTip_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 322.7, - 50.0: 56.4, - 0.0: 0.0, - 100.0: 110.4, - 10.0: 11.9, - 200.0: 215.5, - }, + curve={300.0: 322.7, 50.0: 56.4, 0.0: 0.0, 100.0: 110.4, 10.0: 11.9, 200.0: 215.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9741,14 +8848,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( SlimTip_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.5, - 50.0: 54.7, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 22.5, - 200.0: 209.7, - }, + curve={300.0: 309.5, 50.0: 54.7, 0.0: 0.0, 100.0: 107.2, 20.0: 22.5, 200.0: 209.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9817,13 +8917,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.ETHANOL, True, False)] = ( SlimTip_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -9847,14 +8941,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.ETHANOL, True, True)] = ( SlimTip_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 323.4, - 50.0: 57.2, - 0.0: 0.0, - 100.0: 110.5, - 20.0: 24.7, - 200.0: 211.9, - }, + curve={300.0: 323.4, 50.0: 57.2, 0.0: 0.0, 100.0: 110.5, 20.0: 24.7, 200.0: 211.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9980,14 +9067,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.SERUM, True, True)] = ( SlimTip_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 321.5, - 50.0: 56.0, - 0.0: 0.0, - 100.0: 109.7, - 20.0: 22.8, - 200.0: 215.7, - }, + curve={300.0: 321.5, 50.0: 56.0, 0.0: 0.0, 100.0: 109.7, 20.0: 22.8, 200.0: 215.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -10056,14 +9136,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( SlimTip_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=3.0, @@ -10087,14 +9160,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( SlimTip_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 22.6, - 100.0: 108.6, - 200.0: 212.8, - }, + curve={300.0: 317.2, 50.0: 55.6, 0.0: 0.0, 20.0: 22.6, 100.0: 108.6, 200.0: 212.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -10153,13 +9219,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( StandardNeedle_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -10183,13 +9243,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, True)] = ( StandardNeedle_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -10213,13 +9267,7 @@ def get_star_liquid_class( star_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( StandardNeedle_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -10368,14 +9416,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ACETONITRILE, True, False)] = ( StandardVolumeAcetonitrilDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 57.3, - 0.0: 0.0, - 100.0: 111.5, - 20.0: 24.6, - 200.0: 217.0, - }, + curve={300.0: 326.2, 50.0: 57.3, 0.0: 0.0, 100.0: 111.5, 20.0: 24.6, 200.0: 217.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=25.0, @@ -10399,14 +9440,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ACETONITRILE, True, True)] = ( StandardVolumeAcetonitrilDispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 57.3, - 0.0: 0.0, - 100.0: 111.5, - 20.0: 24.6, - 200.0: 217.0, - }, + curve={300.0: 326.2, 50.0: 57.3, 0.0: 0.0, 100.0: 111.5, 20.0: 24.6, 200.0: 217.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=25.0, @@ -10544,13 +9578,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ACETONITRILE, False, False)] = ( StandardVolumeAcetonitrilDispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 328.0, - 5.0: 7.3, - 0.0: 0.0, - 100.0: 112.7, - 10.0: 13.5, - }, + curve={300.0: 328.0, 5.0: 7.3, 0.0: 0.0, 100.0: 112.7, 10.0: 13.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=10.0, @@ -10631,14 +9659,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ETHANOL, False, False)] = ( StandardVolumeEtOHDispenseSurface ) = HamiltonLiquidClass( - curve={ - 300.0: 309.2, - 50.0: 54.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 23.7, - 200.0: 208.2, - }, + curve={300.0: 309.2, 50.0: 54.8, 0.0: 0.0, 100.0: 106.5, 20.0: 23.7, 200.0: 208.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=3.0, @@ -10662,14 +9683,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ETHANOL, False, True)] = ( StandardVolumeEtOHDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.2, - 50.0: 54.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 23.7, - 200.0: 208.2, - }, + curve={300.0: 309.2, 50.0: 54.8, 0.0: 0.0, 100.0: 106.5, 20.0: 23.7, 200.0: 208.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=3.0, @@ -10717,13 +9731,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 302.5, - 0.0: 0.0, - 100.0: 101.0, - 20.0: 20.4, - 200.0: 201.5, - }, + curve={300.0: 302.5, 0.0: 0.0, 100.0: 101.0, 20.0: 20.4, 200.0: 201.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10747,13 +9755,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( StandardVolumeFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 104.3, - 200.0: 205.0, - 10.0: 12.2, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 104.3, 200.0: 205.0, 10.0: 12.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10777,13 +9779,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( StandardVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10807,13 +9803,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( StandardVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 210.0, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 210.0, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10837,13 +9827,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 101.8, - 10.0: 10.2, - 200.0: 200.5, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 101.8, 10.0: 10.2, 200.0: 200.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10867,13 +9851,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, True, False)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 305.0, - 0.0: 0.0, - 100.0: 103.6, - 10.0: 11.5, - 200.0: 206.0, - }, + curve={300.0: 305.0, 0.0: 0.0, 100.0: 103.6, 10.0: 11.5, 200.0: 206.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10897,13 +9875,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.6, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.6, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10927,13 +9899,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.DMSO, False, False)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.1, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.1, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10957,14 +9923,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( StandardVolumeFilter_96COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10988,14 +9947,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( StandardVolumeFilter_96COREHead_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11019,13 +9971,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( StandardVolumeFilter_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.3, - 0.0: 0.0, - 100.0: 104.5, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 306.3, 0.0: 0.0, 100.0: 104.5, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11049,13 +9995,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, True, Liquid.WATER, False, False)] = ( StandardVolumeFilter_96COREHead_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 304.0, - 0.0: 0.0, - 100.0: 105.3, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 304.0, 0.0: 0.0, 100.0: 105.3, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -11120,14 +10060,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.DMSO, True, False)] = ( StandardVolumeFilter_DMSO_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 20.0: 20.7, - 100.0: 101.8, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 20.0: 20.7, 100.0: 101.8, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11151,14 +10084,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 100.0: 101.8, - 20.0: 20.7, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 100.0: 101.8, 20.0: 20.7, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11276,15 +10202,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.DMSO, False, False)] = ( StandardVolumeFilter_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 306.8, - 5.0: 6.4, - 50.0: 52.9, - 0.0: 0.0, - 100.0: 103.8, - 20.0: 22.1, - 10.0: 11.9, - }, + curve={300.0: 306.8, 5.0: 6.4, 50.0: 52.9, 0.0: 0.0, 100.0: 103.8, 20.0: 22.1, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -11309,14 +10227,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.ETHANOL, True, False)] = ( StandardVolumeFilter_EtOH_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 20.0: 24.6, - 100.0: 107.5, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 20.0: 24.6, 100.0: 107.5, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11340,14 +10251,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.ETHANOL, True, True)] = ( StandardVolumeFilter_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 24.6, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 100.0: 107.5, 20.0: 24.6, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11396,14 +10300,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.GLYCERIN, True, False)] = ( StandardVolumeFilter_Glycerin_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.9, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 20.0: 22.3, 100.0: 104.9, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -11428,14 +10325,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.GLYCERIN80, True, True)] = ( StandardVolumeFilter_Glycerin_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -11528,14 +10418,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.GLYCERIN80, False, False)] = ( StandardVolumeFilter_Glycerin_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 307.9, - 5.0: 6.1, - 0.0: 0.0, - 100.0: 104.7, - 200.0: 207.0, - 10.0: 11.5, - }, + curve={300.0: 307.9, 5.0: 6.1, 0.0: 0.0, 100.0: 104.7, 200.0: 207.0, 10.0: 11.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -11610,14 +10493,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.SERUM, True, False)] = ( StandardVolumeFilter_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11641,14 +10517,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.SERUM, True, True)] = ( StandardVolumeFilter_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11805,14 +10674,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.WATER, True, False)] = ( StandardVolumeFilter_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 107.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 20.0: 23.2, 100.0: 107.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11834,16 +10696,9 @@ def get_star_liquid_class( star_mapping[(300, False, True, True, Liquid.WATER, True, True)] = ( - StandardVolumeFilter_Water_DispenseJet_Empty -) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + StandardVolumeFilter_Water_DispenseJet_Empty +) = HamiltonLiquidClass( + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12018,14 +10873,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.METHANOL, True, False)] = ( StandardVolumeMeOHDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 336.0, - 50.0: 63.0, - 0.0: 0.0, - 100.0: 119.5, - 20.0: 28.3, - 200.0: 230.0, - }, + curve={300.0: 336.0, 50.0: 63.0, 0.0: 0.0, 100.0: 119.5, 20.0: 28.3, 200.0: 230.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=5.0, @@ -12122,14 +10970,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.OCTANOL, True, False)] = ( StandardVolumeOctanol100DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 319.3, - 50.0: 56.6, - 0.0: 0.0, - 100.0: 109.9, - 20.0: 23.8, - 200.0: 216.2, - }, + curve={300.0: 319.3, 50.0: 56.6, 0.0: 0.0, 100.0: 109.9, 20.0: 23.8, 200.0: 216.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12274,15 +11115,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.PLASMA, True, False)] = ( StandardVolumePlasmaDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - 10.0: 12.3, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1, 10.0: 12.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=5.0, @@ -12306,14 +11139,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.PLASMA, True, True)] = ( StandardVolumePlasmaDispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12470,13 +11296,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -12500,13 +11320,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 302.5, - 0.0: 0.0, - 100.0: 101.0, - 20.0: 20.4, - 200.0: 201.5, - }, + curve={300.0: 302.5, 0.0: 0.0, 100.0: 101.0, 20.0: 20.4, 200.0: 201.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12530,13 +11344,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 104.3, - 200.0: 205.0, - 10.0: 12.2, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 104.3, 200.0: 205.0, 10.0: 12.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12560,13 +11368,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -12590,13 +11392,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 207.5, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 207.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12620,13 +11416,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 210.0, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 210.0, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12650,13 +11440,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_96COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 101.8, - 10.0: 10.2, - 200.0: 200.5, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 101.8, 10.0: 10.2, 200.0: 200.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12680,13 +11464,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_96COREHead_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 105.6, - 10.0: 12.2, - 200.0: 207.0, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 105.6, 10.0: 12.2, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12710,13 +11488,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( StandardVolume_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.6, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.6, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12740,13 +11512,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.DMSO, False, False)] = ( StandardVolume_96COREHead_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.1, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.1, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12770,14 +11536,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_96COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12801,13 +11560,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_96COREHead_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12831,13 +11584,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.3, - 0.0: 0.0, - 100.0: 104.5, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 306.3, 0.0: 0.0, 100.0: 104.5, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12861,13 +11608,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, False)] = ( StandardVolume_96COREHead_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 304.0, - 0.0: 0.0, - 100.0: 105.3, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 304.0, 0.0: 0.0, 100.0: 105.3, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -12969,15 +11710,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_DMSO_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 350.0: 355.2, - 50.0: 51.1, - 0.0: 0.0, - 100.0: 101.8, - 20.0: 20.7, - 200.0: 203.0, - }, + curve={300.0: 304.6, 350.0: 355.2, 50.0: 51.1, 0.0: 0.0, 100.0: 101.8, 20.0: 20.7, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13001,14 +11734,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 20.0: 20.7, - 100.0: 101.8, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 20.0: 20.7, 100.0: 101.8, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13161,15 +11887,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ETHANOL, True, False)] = ( StandardVolume_EtOH_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 350.0: 360.5, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 24.6, - 200.0: 209.2, - }, + curve={300.0: 310.2, 350.0: 360.5, 50.0: 55.8, 0.0: 0.0, 100.0: 107.5, 20.0: 24.6, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13193,14 +11911,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.ETHANOL, True, True)] = ( StandardVolume_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 20.0: 24.6, - 100.0: 107.5, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 20.0: 24.6, 100.0: 107.5, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13249,15 +11960,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.GLYCERIN, True, False)] = ( StandardVolume_Glycerin_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 350.0: 360.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 350.0: 360.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -13282,14 +11985,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.GLYCERIN80, True, True)] = ( StandardVolume_Glycerin_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -13467,14 +12163,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.SERUM, True, False)] = ( StandardVolume_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13498,14 +12187,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.SERUM, True, True)] = ( StandardVolume_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13696,15 +12378,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.WATER, True, False)] = ( StandardVolume_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 350.0: 364.3, - 50.0: 55.1, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 350.0: 364.3, 50.0: 55.1, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13728,13 +12402,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_Water_DispenseJetEmpty96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.3, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.3, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13758,13 +12426,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_Water_DispenseJetPart96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.3, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.3, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13788,14 +12450,7 @@ def get_star_liquid_class( star_mapping[(300, False, True, False, Liquid.WATER, True, True)] = ( StandardVolume_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 107.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 20.0: 23.2, 100.0: 107.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13905,13 +12560,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_Water_DispenseSurfaceEmpty96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.7, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.7, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13935,13 +12584,7 @@ def get_star_liquid_class( star_mapping[(300, True, True, False, Liquid.WATER, False, False)] = ( StandardVolume_Water_DispenseSurfacePart96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.7, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.7, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -14058,14 +12701,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.4, - 50.0: 52.1, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 10.8, - }, + curve={5.0: 5.4, 50.0: 52.1, 30.0: 31.5, 0.0: 0.0, 1.0: 0.7, 10.0: 10.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14113,14 +12749,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.6, - 30.0: 32.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.3, - }, + curve={5.0: 5.6, 50.0: 53.6, 30.0: 32.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14168,14 +12797,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 51.1, - 0.0: 0.0, - 30.0: 31.0, - 1.0: 0.8, - 10.0: 10.7, - }, + curve={5.0: 5.6, 50.0: 51.1, 0.0: 0.0, 30.0: 31.0, 1.0: 0.8, 10.0: 10.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14223,14 +12845,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.5, - 30.0: 32.9, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.4, - }, + curve={5.0: 5.6, 50.0: 53.5, 30.0: 32.9, 0.0: 0.0, 1.0: 0.8, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14278,14 +12893,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 52.6, - 0.0: 0.0, - 30.0: 32.0, - 1.0: 0.7, - 10.0: 11.0, - }, + curve={5.0: 5.5, 50.0: 52.6, 0.0: 0.0, 30.0: 32.0, 1.0: 0.7, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14333,14 +12941,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.ETHANOL, False, True)] = ( Tip_50ulFilter_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 50.0: 54.1, - 0.0: 0.0, - 30.0: 33.8, - 1.0: 1.9, - 10.0: 12.0, - }, + curve={5.0: 6.5, 50.0: 54.1, 0.0: 0.0, 30.0: 33.8, 1.0: 1.9, 10.0: 12.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -14364,14 +12965,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.GLYCERIN80, False, True)] = ( Tip_50ulFilter_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 57.0, - 0.0: 0.0, - 30.0: 35.9, - 1.0: 0.6, - 10.0: 12.0, - }, + curve={5.0: 5.5, 50.0: 57.0, 0.0: 0.0, 30.0: 35.9, 1.0: 0.6, 10.0: 12.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -14419,14 +13013,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.SERUM, False, True)] = ( Tip_50ulFilter_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.9, - 30.0: 33.0, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.3, - }, + curve={5.0: 5.7, 50.0: 54.9, 30.0: 33.0, 0.0: 0.0, 1.0: 0.7, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14474,14 +13061,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.1, - 0.0: 0.0, - 1.0: 0.65, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.1, 0.0: 0.0, 1.0: 0.65, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14529,14 +13109,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.4, - 50.0: 52.1, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 10.8, - }, + curve={5.0: 5.4, 50.0: 52.1, 30.0: 31.5, 0.0: 0.0, 1.0: 0.7, 10.0: 10.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14584,14 +13157,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.8, - 50.0: 53.6, - 30.0: 32.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.3, - }, + curve={5.0: 5.8, 50.0: 53.6, 30.0: 32.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14639,14 +13205,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 52.1, - 30.0: 31.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.0, - }, + curve={5.0: 5.6, 50.0: 52.1, 30.0: 31.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14694,14 +13253,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.6, - 30.0: 32.9, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.4, - }, + curve={5.0: 5.6, 50.0: 53.6, 30.0: 32.9, 0.0: 0.0, 1.0: 0.7, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14726,14 +13278,7 @@ def get_star_liquid_class( star_mapping[(50, True, True, False, Liquid.WATER, False, False)] = ( Tip_50ul_Core96Washer_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.2, - 0.0: 0.0, - 1.0: 0.5, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.2, 0.0: 0.0, 1.0: 0.5, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14781,14 +13326,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 52.6, - 30.0: 32.1, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.0, - }, + curve={5.0: 5.6, 50.0: 52.6, 30.0: 32.1, 0.0: 0.0, 1.0: 0.7, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14836,14 +13374,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.ETHANOL, False, True)] = ( Tip_50ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.7, - 50.0: 54.1, - 0.0: 0.0, - 30.0: 33.7, - 1.0: 2.1, - 10.0: 12.1, - }, + curve={5.0: 6.7, 50.0: 54.1, 0.0: 0.0, 30.0: 33.7, 1.0: 2.1, 10.0: 12.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -14867,14 +13398,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.GLYCERIN80, False, True)] = ( Tip_50ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 59.4, - 0.0: 0.0, - 30.0: 36.0, - 1.0: 0.3, - 10.0: 11.8, - }, + curve={5.0: 5.7, 50.0: 59.4, 0.0: 0.0, 30.0: 36.0, 1.0: 0.3, 10.0: 11.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -14922,14 +13446,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.SERUM, False, True)] = ( Tip_50ul_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.9, - 30.0: 33.0, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.3, - }, + curve={5.0: 5.7, 50.0: 54.9, 30.0: 33.0, 0.0: 0.0, 1.0: 0.7, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -14977,14 +13494,7 @@ def get_star_liquid_class( star_mapping[(50, False, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.2, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.2, 0.0: 0.0, 1.0: 0.7, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, diff --git a/pylabrobot/liquid_handling/liquid_classes/hamilton/vantage.py b/pylabrobot/liquid_handling/liquid_classes/hamilton/vantage.py index fce7d72a7a..812efb6b25 100644 --- a/pylabrobot/liquid_handling/liquid_classes/hamilton/vantage.py +++ b/pylabrobot/liquid_handling/liquid_classes/hamilton/vantage.py @@ -1,57 +1,15 @@ -from typing import Dict, Optional, Tuple +# pylint: skip-file -from pylabrobot.liquid_handling.liquid_classes.hamilton.base import ( - HamiltonLiquidClass, -) +from typing import Dict, Tuple + +from pylabrobot.liquid_handling.liquid_classes.hamilton.base import HamiltonLiquidClass from pylabrobot.resources.liquid import Liquid -vantage_mapping: Dict[ - Tuple[int, bool, bool, bool, Liquid, bool, bool], - HamiltonLiquidClass, -] = {} - - -def get_vantage_liquid_class( - tip_volume: float, - is_core: bool, - is_tip: bool, - has_filter: bool, - liquid: Liquid, - jet: bool, - blow_out: bool, -) -> Optional[HamiltonLiquidClass]: - """Get the Hamilton Vantage liquid class for the given parameters. - - Args: - tip_volume: The volume of the tip in microliters. - is_core: Whether the tip is a core tip. - is_tip: Whether the tip is a tip tip or a needle. - has_filter: Whether the tip has a filter. - liquid: The liquid to be dispensed. - jet: Whether the liquid is dispensed using a jet. - blow_out: This is called "empty" in the Hamilton Liquid editor and liquid class names, but - "blow out" in the firmware documentation. "Empty" in the firmware documentation means fully - emptying the tip, which is the terminology PyLabRobot adopts. Blow_out is the opposite of - partial dispense. - """ - - # Tip volumes from resources (mostly where they have filters) are slightly different form the ones - # in the liquid class mapping, so we need to map them here. If no mapping is found, we use the - # given maximal volume of the tip. - tip_volume = int( - { - 360.0: 300.0, - 1065.0: 1000.0, - 1250.0: 1000.0, - 4367.0: 4000.0, - 5420.0: 5000.0, - }.get(tip_volume, tip_volume) - ) - - return vantage_mapping.get( - (tip_volume, is_core, is_tip, has_filter, liquid, jet, blow_out), - None, - ) +vantage_mapping: Dict[Tuple[int, bool, bool, bool, Liquid, bool, bool], HamiltonLiquidClass] = {} + + +def get_vantage_liquid_class(**kwargs): + raise NotImplementedError("deprecated") vantage_mapping[(1000, False, False, False, Liquid.WATER, True, True)] = ( @@ -90,14 +48,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, True, False)] = ( _1000ulNeedleCRWater_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 520.0, - 50.0: 62.2, - 0.0: 0.0, - 20.0: 32.0, - 100.0: 115.5, - 1000.0: 1032.0, - }, + curve={500.0: 520.0, 50.0: 62.2, 0.0: 0.0, 20.0: 32.0, 100.0: 115.5, 1000.0: 1032.0}, aspiration_flow_rate=500.0, aspiration_mix_flow_rate=500.0, aspiration_air_transport_volume=0.0, @@ -122,13 +73,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, False, True)] = ( _1000ulNeedleCRWater_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 50.0: 59.0, - 0.0: 0.0, - 20.0: 25.9, - 10.0: 12.9, - 1000.0: 1000.0, - }, + curve={50.0: 59.0, 0.0: 0.0, 20.0: 25.9, 10.0: 12.9, 1000.0: 1000.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=1.0, @@ -153,13 +98,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( _1000ulNeedleCRWater_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 55.0, - 0.0: 0.0, - 20.0: 25.9, - 10.0: 12.9, - 1000.0: 1000.0, - }, + curve={50.0: 55.0, 0.0: 0.0, 20.0: 25.9, 10.0: 12.9, 1000.0: 1000.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=1.0, @@ -268,14 +207,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.WATER, False, True)] = ( _10ulNeedleCRWater_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 0.5, - 0.0: 0.0, - 1.0: 1.2, - 2.0: 2.4, - 10.0: 11.4, - }, + curve={5.0: 5.7, 0.5: 0.5, 0.0: 0.0, 1.0: 1.2, 2.0: 2.4, 10.0: 11.4}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=1.0, @@ -299,14 +231,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.WATER, False, False)] = ( _10ulNeedleCRWater_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 0.5, - 0.0: 0.0, - 1.0: 1.2, - 2.0: 2.4, - 10.0: 11.4, - }, + curve={5.0: 5.7, 0.5: 0.5, 0.0: 0.0, 1.0: 1.2, 2.0: 2.4, 10.0: 11.4}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=1.0, @@ -378,15 +303,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.DMSO, False, True)] = ( _150ul_Piercing_Tip_Filter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 6.5, - 150.0: 155.0, - 50.0: 53.7, - 0.0: 0.0, - 10.0: 12.0, - 2.0: 3.0, - }, + curve={3.0: 4.5, 5.0: 6.5, 150.0: 155.0, 50.0: 53.7, 0.0: 0.0, 10.0: 12.0, 2.0: 3.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -469,15 +386,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.ETHANOL, False, True)] = ( _150ul_Piercing_Tip_Filter_Ethanol_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 5.0, - 5.0: 7.6, - 150.0: 165.0, - 50.0: 56.9, - 0.0: 0.0, - 10.0: 13.2, - 2.0: 3.3, - }, + curve={3.0: 5.0, 5.0: 7.6, 150.0: 165.0, 50.0: 56.9, 0.0: 0.0, 10.0: 13.2, 2.0: 3.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=7.0, @@ -520,16 +429,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.GLYCERIN80, False, True)] = ( _150ul_Piercing_Tip_Filter_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 7.2, - 150.0: 167.5, - 50.0: 60.0, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.0, - 2.0: 2.5, - }, + curve={3.0: 4.5, 5.0: 7.2, 150.0: 167.5, 50.0: 60.0, 0.0: 0.0, 1.0: 2.7, 10.0: 13.0, 2.0: 2.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -612,15 +512,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.SERUM, False, True)] = ( _150ul_Piercing_Tip_Filter_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.4, - 5.0: 5.9, - 150.0: 161.5, - 50.0: 56.2, - 0.0: 0.0, - 10.0: 11.6, - 2.0: 2.2, - }, + curve={3.0: 3.4, 5.0: 5.9, 150.0: 161.5, 50.0: 56.2, 0.0: 0.0, 10.0: 11.6, 2.0: 2.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -701,16 +593,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.WATER, False, True)] = ( _150ul_Piercing_Tip_Filter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.5, - 5.0: 6.5, - 150.0: 158.1, - 50.0: 54.5, - 0.0: 0.0, - 1.0: 1.6, - 10.0: 11.9, - 2.0: 2.8, - }, + curve={3.0: 3.5, 5.0: 6.5, 150.0: 158.1, 50.0: 54.5, 0.0: 0.0, 1.0: 1.6, 10.0: 11.9, 2.0: 2.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -758,15 +641,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.DMSO, False, True)] = ( _250ul_Piercing_Tip_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.2, - 5.0: 6.5, - 250.0: 256.0, - 50.0: 53.7, - 0.0: 0.0, - 10.0: 12.0, - 2.0: 3.0, - }, + curve={3.0: 4.2, 5.0: 6.5, 250.0: 256.0, 50.0: 53.7, 0.0: 0.0, 10.0: 12.0, 2.0: 3.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -849,14 +724,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.ETHANOL, False, True)] = ( _250ul_Piercing_Tip_Ethanol_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 5.0, - 5.0: 9.6, - 250.0: 270.5, - 50.0: 58.0, - 0.0: 0.0, - 10.0: 14.8, - }, + curve={3.0: 5.0, 5.0: 9.6, 250.0: 270.5, 50.0: 58.0, 0.0: 0.0, 10.0: 14.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=10.0, @@ -899,15 +767,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.GLYCERIN80, False, True)] = ( _250ul_Piercing_Tip_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.5, - 5.0: 7.2, - 250.0: 289.0, - 50.0: 65.0, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.9, - }, + curve={3.0: 4.5, 5.0: 7.2, 250.0: 289.0, 50.0: 65.0, 0.0: 0.0, 1.0: 2.7, 10.0: 13.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -990,14 +850,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.SERUM, False, True)] = ( _250ul_Piercing_Tip_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 3.4, - 5.0: 5.9, - 250.0: 264.2, - 50.0: 56.2, - 0.0: 0.0, - 10.0: 11.6, - }, + curve={3.0: 3.4, 5.0: 5.9, 250.0: 264.2, 50.0: 56.2, 0.0: 0.0, 10.0: 11.6}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1054,16 +907,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.WATER, False, True)] = ( _250ul_Piercing_Tip_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 3.0: 4.0, - 5.0: 6.5, - 250.0: 259.0, - 50.0: 55.1, - 0.0: 0.0, - 1.0: 1.6, - 10.0: 12.6, - 2.0: 2.8, - }, + curve={3.0: 4.0, 5.0: 6.5, 250.0: 259.0, 50.0: 55.1, 0.0: 0.0, 1.0: 1.6, 10.0: 12.6, 2.0: 2.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1104,14 +948,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.ACETONITRIL80WATER20, True, False)] = ( _300ulNeedleAcetonitril80Water20DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.0, - 50.0: 57.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 26.8, - 10.0: 16.5, - }, + curve={300.0: 310.0, 50.0: 57.8, 0.0: 0.0, 100.0: 106.5, 20.0: 26.8, 10.0: 16.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=15.0, @@ -1135,13 +972,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, True)] = ( _300ulNeedleCRWater_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 104.0, - 20.0: 22.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 104.0, 20.0: 22.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1165,13 +996,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( _300ulNeedleCRWater_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 59.5, - 0.0: 0.0, - 100.0: 109.0, - 20.0: 29.3, - }, + curve={300.0: 313.0, 50.0: 59.5, 0.0: 0.0, 100.0: 109.0, 20.0: 29.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1281,13 +1106,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.DIMETHYLSULFOXID, True, False)] = ( _300ulNeedleDMSODispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 21.3, - }, + curve={300.0: 317.0, 50.0: 53.5, 0.0: 0.0, 100.0: 106.5, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -1328,14 +1147,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.DIMETHYLSULFOXID, False, False)] = ( _300ulNeedleDMSODispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 10.0: 11.4, - 2.0: 2.5, - }, + curve={5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 10.0: 11.4, 2.0: 2.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=5.0, @@ -1376,13 +1188,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.ETHANOL, True, False)] = ( _300ulNeedleEtOHDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 57.8, - 0.0: 0.0, - 100.0: 109.0, - 20.0: 25.3, - }, + curve={300.0: 317.0, 50.0: 57.8, 0.0: 0.0, 100.0: 109.0, 20.0: 25.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=15.0, @@ -1517,13 +1323,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.SERUM, True, False)] = ( _300ulNeedleSerumDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 21.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1566,15 +1366,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.SERUM, False, False)] = ( _300ulNeedleSerumDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 1.0: 2.2, - 10.0: 11.9, - 2.0: 3.2, - }, + curve={5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 1.0: 2.2, 10.0: 11.9, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1614,13 +1406,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.SERUM, True, False)] = ( _300ulNeedle_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 21.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 21.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1663,16 +1449,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.SERUM, False, False)] = ( _300ulNeedle_Serum_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 300.0: 350.0, - 5.0: 6.0, - 50.0: 52.3, - 0.0: 0.0, - 20.0: 22.3, - 1.0: 2.2, - 10.0: 11.9, - 2.0: 3.2, - }, + curve={300.0: 350.0, 5.0: 6.0, 50.0: 52.3, 0.0: 0.0, 20.0: 22.3, 1.0: 2.2, 10.0: 11.9, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -1713,13 +1490,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( _300ulNeedle_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.0, - 50.0: 53.5, - 0.0: 0.0, - 100.0: 105.0, - 20.0: 22.3, - }, + curve={300.0: 313.0, 50.0: 53.5, 0.0: 0.0, 100.0: 105.0, 20.0: 22.3}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -1797,14 +1568,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1829,13 +1593,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 105.8, - 200.0: 209.5, - 10.0: 11.4, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 105.8, 200.0: 209.5, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1860,13 +1618,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( _300ul_RocketTip_384COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 308.0, - 0.0: 0.0, - 100.0: 105.5, - 200.0: 209.0, - 10.0: 12.0, - }, + curve={300.0: 308.0, 0.0: 0.0, 100.0: 105.5, 200.0: 209.0, 10.0: 12.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1891,13 +1643,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( _300ul_RocketTip_384COREHead_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 22.3, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 100.0: 106.5, 20.0: 22.3, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1922,13 +1668,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( _300ul_RocketTip_384COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 22.3, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 100.0: 106.5, 20.0: 22.3, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -1953,13 +1693,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( _300ul_RocketTip_384COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 314.3, - 0.0: 0.0, - 100.0: 109.0, - 200.0: 214.7, - 10.0: 12.7, - }, + curve={300.0: 314.3, 0.0: 0.0, 100.0: 109.0, 200.0: 214.7, 10.0: 12.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -2079,16 +1813,7 @@ def get_vantage_liquid_class( vantage_mapping[(30, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _30ulTip_384COREHead_Glyzerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.3, - 0.5: 0.9, - 40.0: 44.0, - 0.0: 0.0, - 20.0: 22.2, - 1.0: 1.6, - 10.0: 11.9, - 2.0: 2.8, - }, + curve={5.0: 6.3, 0.5: 0.9, 40.0: 44.0, 0.0: 0.0, 20.0: 22.2, 1.0: 1.6, 10.0: 11.9, 2.0: 2.8}, aspiration_flow_rate=150.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2160,16 +1885,7 @@ def get_vantage_liquid_class( vantage_mapping[(30, True, True, False, Liquid.WATER, False, False)] = ( _30ulTip_384COREWasher_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.3, - 0.5: 0.9, - 40.0: 44.0, - 0.0: 0.0, - 1.0: 1.6, - 20.0: 22.2, - 2.0: 2.8, - 10.0: 11.9, - }, + curve={5.0: 6.3, 0.5: 0.9, 40.0: 44.0, 0.0: 0.0, 1.0: 1.6, 20.0: 22.2, 2.0: 2.8, 10.0: 11.9}, aspiration_flow_rate=10.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -2466,14 +2182,7 @@ def get_vantage_liquid_class( vantage_mapping[(4000, False, True, False, Liquid.WATER, True, False)] = ( _4mlTF_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 4000.0: 4160.0, - 3000.0: 3160.0, - 0.0: 0.0, - 2000.0: 2160.0, - 100.0: 214.0, - 1000.0: 1148.0, - }, + curve={4000.0: 4160.0, 3000.0: 3160.0, 0.0: 0.0, 2000.0: 2160.0, 100.0: 214.0, 1000.0: 1148.0}, aspiration_flow_rate=2000.0, aspiration_mix_flow_rate=500.0, aspiration_air_transport_volume=20.0, @@ -2588,14 +2297,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( _50ulTip_384COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.0, - 50.0: 51.1, - 30.0: 30.7, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 10.1, - }, + curve={5.0: 5.0, 50.0: 51.1, 30.0: 30.7, 0.0: 0.0, 1.0: 0.9, 10.0: 10.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2619,14 +2321,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_384COREHead_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.54, - 15.0: 18.36, - 50.0: 53.0, - 30.0: 33.8, - 0.0: 0.0, - 1.0: 1.8, - }, + curve={5.0: 6.54, 15.0: 18.36, 50.0: 53.0, 30.0: 33.8, 0.0: 0.0, 1.0: 1.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -2650,15 +2345,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.ETHANOL, False, True)] = ( _50ulTip_384COREHead_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.2, - 15.0: 16.9, - 0.5: 1.0, - 50.0: 54.0, - 30.0: 33.1, - 0.0: 0.0, - 1.0: 1.5, - }, + curve={5.0: 6.2, 15.0: 16.9, 0.5: 1.0, 50.0: 54.0, 30.0: 33.1, 0.0: 0.0, 1.0: 1.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=2.0, @@ -2682,15 +2369,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _50ulTip_384COREHead_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.65, - 50.0: 55.0, - 0.0: 0.0, - 30.0: 31.5, - 1.0: 1.2, - 10.0: 10.9, - }, + curve={5.0: 5.6, 0.5: 0.65, 50.0: 55.0, 0.0: 0.0, 30.0: 31.5, 1.0: 1.2, 10.0: 10.9}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -2738,14 +2417,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( _50ulTip_384COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 52.2, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.2, - 10.0: 11.3, - }, + curve={5.0: 5.5, 50.0: 52.2, 30.0: 31.5, 0.0: 0.0, 1.0: 1.2, 10.0: 11.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2803,15 +2475,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.DMSO, True, True)] = ( _50ulTip_conductive_384COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.2, - 50.0: 50.6, - 30.0: 30.4, - 0.0: 0.0, - 1.0: 0.9, - 20.0: 21.1, - 10.0: 9.3, - }, + curve={5.0: 5.2, 50.0: 50.6, 30.0: 30.4, 0.0: 0.0, 1.0: 0.9, 20.0: 21.1, 10.0: 9.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2835,15 +2499,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.DMSO, True, True)] = ( _50ulTip_conductive_384COREHead_DMSO_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 5.2, - 50.0: 50.6, - 30.0: 30.4, - 0.0: 0.0, - 1.0: 0.9, - 20.0: 21.1, - 10.0: 9.3, - }, + curve={5.0: 5.2, 50.0: 50.6, 30.0: 30.4, 0.0: 0.0, 1.0: 0.9, 20.0: 21.1, 10.0: 9.3}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -2925,15 +2581,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_conductive_384COREHead_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.85, - 15.0: 18.36, - 50.0: 54.3, - 30.0: 33.6, - 0.0: 0.0, - 1.0: 1.5, - 10.0: 12.1, - }, + curve={5.0: 6.85, 15.0: 18.36, 50.0: 54.3, 30.0: 33.6, 0.0: 0.0, 1.0: 1.5, 10.0: 12.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -2957,15 +2605,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.ETHANOL, True, True)] = ( _50ulTip_conductive_384COREHead_EtOH_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 6.85, - 15.0: 18.36, - 50.0: 54.3, - 30.0: 33.6, - 0.0: 0.0, - 1.0: 1.5, - 10.0: 12.1, - }, + curve={5.0: 6.85, 15.0: 18.36, 50.0: 54.3, 30.0: 33.6, 0.0: 0.0, 1.0: 1.5, 10.0: 12.1}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=1.0, @@ -3047,16 +2687,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.GLYCERIN80, False, True)] = ( _50ulTip_conductive_384COREHead_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 0.25: 0.05, - 5.0: 5.5, - 0.5: 0.3, - 50.0: 51.9, - 30.0: 31.8, - 0.0: 0.0, - 1.0: 1.0, - 10.0: 10.9, - }, + curve={0.25: 0.05, 5.0: 5.5, 0.5: 0.3, 50.0: 51.9, 30.0: 31.8, 0.0: 0.0, 1.0: 1.0, 10.0: 10.9}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -3080,16 +2711,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, True, True)] = ( _50ulTip_conductive_384COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.67, - 0.5: 0.27, - 50.0: 51.9, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.06, - 20.0: 20.0, - 10.0: 10.9, - }, + curve={5.0: 5.67, 0.5: 0.27, 50.0: 51.9, 30.0: 31.5, 0.0: 0.0, 1.0: 1.06, 20.0: 20.0, 10.0: 10.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -3113,16 +2735,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, True, True)] = ( _50ulTip_conductive_384COREHead_Water_DispenseJet_Empty_below5ul ) = HamiltonLiquidClass( - curve={ - 5.0: 5.67, - 0.5: 0.27, - 50.0: 51.9, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 1.06, - 20.0: 20.0, - 10.0: 10.9, - }, + curve={5.0: 5.67, 0.5: 0.27, 50.0: 51.9, 30.0: 31.5, 0.0: 0.0, 1.0: 1.06, 20.0: 20.0, 10.0: 10.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -3724,13 +3337,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( HighNeedle_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3754,13 +3361,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, False, True)] = ( HighNeedle_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3784,13 +3385,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, False, False, Liquid.WATER, False, False)] = ( HighNeedle_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 53.1, - 0.0: 0.0, - 20.0: 22.3, - 1000.0: 1000.0, - 10.0: 10.8, - }, + curve={50.0: 53.1, 0.0: 0.0, 20.0: 22.3, 1000.0: 1000.0, 10.0: 10.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -3979,13 +3574,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, True, Liquid.DMSO, True, True)] = ( HighVolumeFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 508.2, - 0.0: 0.0, - 20.0: 21.7, - 100.0: 101.7, - 1000.0: 1017.0, - }, + curve={500.0: 508.2, 0.0: 0.0, 20.0: 21.7, 100.0: 101.7, 1000.0: 1017.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4009,13 +3598,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, True, Liquid.DMSO, False, True)] = ( HighVolumeFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 512.5, - 0.0: 0.0, - 100.0: 105.8, - 10.0: 12.7, - 1000.0: 1024.5, - }, + curve={500.0: 512.5, 0.0: 0.0, 100.0: 105.8, 10.0: 12.7, 1000.0: 1024.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -4039,13 +3622,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, True, Liquid.WATER, True, True)] = ( HighVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 20.0: 24.0, - 100.0: 109.2, - 1000.0: 1040.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 20.0: 24.0, 100.0: 109.2, 1000.0: 1040.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4069,13 +3646,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, True, Liquid.WATER, False, True)] = ( HighVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 108.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 108.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -4219,13 +3790,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, True, Liquid.DMSO, True, False)] = ( HighVolumeFilter_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 517.2, - 0.0: 0.0, - 100.0: 109.5, - 20.0: 27.0, - 1000.0: 1027.0, - }, + curve={500.0: 517.2, 0.0: 0.0, 100.0: 109.5, 20.0: 27.0, 1000.0: 1027.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4854,13 +4419,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, True, Liquid.SERUM, True, False)] = ( HighVolumeFilter_Serum_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 525.3, - 0.0: 0.0, - 100.0: 111.3, - 20.0: 27.3, - 1000.0: 1046.6, - }, + curve={500.0: 525.3, 0.0: 0.0, 100.0: 111.3, 20.0: 27.3, 1000.0: 1046.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -4951,14 +4510,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, True, Liquid.SERUM, False, False)] = ( HighVolumeFilter_Serum_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 523.5, - 0.0: 0.0, - 100.0: 111.2, - 20.0: 23.2, - 1000.0: 1038.7, - 10.0: 11.8, - }, + curve={500.0: 523.5, 0.0: 0.0, 100.0: 111.2, 20.0: 23.2, 1000.0: 1038.7, 10.0: 11.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -5251,13 +4803,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.DMSO, True, False)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -5281,13 +4827,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.DMSO, True, True)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 508.2, - 0.0: 0.0, - 100.0: 101.7, - 20.0: 21.7, - 1000.0: 1017.0, - }, + curve={500.0: 508.2, 0.0: 0.0, 100.0: 101.7, 20.0: 21.7, 1000.0: 1017.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5311,13 +4851,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.DMSO, False, True)] = ( HighVolume_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 512.5, - 0.0: 0.0, - 100.0: 105.8, - 1000.0: 1024.5, - 10.0: 12.7, - }, + curve={500.0: 512.5, 0.0: 0.0, 100.0: 105.8, 1000.0: 1024.5, 10.0: 12.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -5342,14 +4876,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.ETHANOL, True, False)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 500.0: 500.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - 1000.0: 1000.0, - }, + curve={300.0: 300.0, 500.0: 500.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0, 1000.0: 1000.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -5373,13 +4900,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.ETHANOL, True, True)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 516.5, - 0.0: 0.0, - 100.0: 108.3, - 20.0: 24.0, - 1000.0: 1027.0, - }, + curve={500.0: 516.5, 0.0: 0.0, 100.0: 108.3, 20.0: 24.0, 1000.0: 1027.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5404,13 +4925,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.ETHANOL, False, True)] = ( HighVolume_96COREHead1000ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 516.5, - 0.0: 0.0, - 100.0: 107.0, - 1000.0: 1027.0, - 10.0: 14.0, - }, + curve={500.0: 516.5, 0.0: 0.0, 100.0: 107.0, 1000.0: 1027.0, 10.0: 14.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=150.0, aspiration_air_transport_volume=5.0, @@ -5434,13 +4949,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.GLYCERIN80, False, True)] = ( HighVolume_96COREHead1000ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 115.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 115.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=150.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=0.0, @@ -5464,13 +4973,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.WATER, True, False)] = ( HighVolume_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -5494,13 +4997,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.WATER, True, True)] = ( HighVolume_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 524.0, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 24.0, - 1000.0: 1025.0, - }, + curve={500.0: 524.0, 0.0: 0.0, 100.0: 107.2, 20.0: 24.0, 1000.0: 1025.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5524,13 +5021,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, True, True, False, Liquid.WATER, False, True)] = ( HighVolume_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 500.0: 522.0, - 0.0: 0.0, - 100.0: 108.3, - 1000.0: 1034.0, - 10.0: 12.5, - }, + curve={500.0: 522.0, 0.0: 0.0, 100.0: 108.3, 1000.0: 1034.0, 10.0: 12.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -5673,13 +5164,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, False, Liquid.DMSO, True, False)] = ( HighVolume_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 520.2, - 0.0: 0.0, - 100.0: 112.0, - 20.0: 27.0, - 1000.0: 1031.0, - }, + curve={500.0: 520.2, 0.0: 0.0, 100.0: 112.0, 20.0: 27.0, 1000.0: 1031.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -5802,14 +5287,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, False, Liquid.ETHANOL, True, False)] = ( HighVolume_EtOH_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 529.0, - 50.0: 62.9, - 0.0: 0.0, - 100.0: 114.5, - 20.0: 27.8, - 1000.0: 1053.9, - }, + curve={500.0: 529.0, 50.0: 62.9, 0.0: 0.0, 100.0: 114.5, 20.0: 27.8, 1000.0: 1053.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=5.0, @@ -6066,13 +5544,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, False, Liquid.SERUM, True, False)] = ( HighVolume_Serum_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 525.3, - 0.0: 0.0, - 100.0: 111.3, - 20.0: 27.3, - 1000.0: 1046.6, - }, + curve={500.0: 525.3, 0.0: 0.0, 100.0: 111.3, 20.0: 27.3, 1000.0: 1046.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -6129,14 +5601,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, False, Liquid.SERUM, False, False)] = ( HighVolume_Serum_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 50.0: 55.9, - 0.0: 0.0, - 100.0: 108.2, - 20.0: 23.2, - 1000.0: 1037.7, - 10.0: 11.8, - }, + curve={50.0: 55.9, 0.0: 0.0, 100.0: 108.2, 20.0: 23.2, 1000.0: 1037.7, 10.0: 11.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=120.0, aspiration_air_transport_volume=5.0, @@ -6228,13 +5693,7 @@ def get_vantage_liquid_class( vantage_mapping[(1000, False, True, False, Liquid.WATER, True, False)] = ( HighVolume_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 500.0: 521.7, - 0.0: 0.0, - 100.0: 109.6, - 20.0: 26.9, - 1000.0: 1040.0, - }, + curve={500.0: 521.7, 0.0: 0.0, 100.0: 109.6, 20.0: 26.9, 1000.0: 1040.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -6330,16 +5789,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.DNA_TRIS_EDTA, True, False)] = ( LowNeedleDNADispenseJet ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 1.0, - 50.0: 53.0, - 0.0: 0.0, - 20.0: 22.1, - 1.0: 1.5, - 10.0: 10.8, - 2.0: 2.7, - }, + curve={5.0: 5.7, 0.5: 1.0, 50.0: 53.0, 0.0: 0.0, 20.0: 22.1, 1.0: 1.5, 10.0: 10.8, 2.0: 2.7}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=0.0, @@ -6368,16 +5818,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.DNA_TRIS_EDTA, False, False)] = ( LowNeedleDNADispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 0.5: 1.0, - 50.0: 53.0, - 0.0: 0.0, - 20.0: 22.1, - 1.0: 1.5, - 10.0: 10.8, - 2.0: 2.7, - }, + curve={5.0: 5.7, 0.5: 1.0, 50.0: 53.0, 0.0: 0.0, 20.0: 22.1, 1.0: 1.5, 10.0: 10.8, 2.0: 2.7}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=0.0, @@ -6459,14 +5900,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.WATER, True, True)] = ( LowNeedle_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 70.0: 70.0, - 50.0: 52.7, - 30.0: 31.7, - 0.0: 0.0, - 20.0: 20.5, - 10.0: 10.3, - }, + curve={70.0: 70.0, 50.0: 52.7, 30.0: 31.7, 0.0: 0.0, 20.0: 20.5, 10.0: 10.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=15.0, @@ -6490,14 +5924,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.WATER, True, False)] = ( LowNeedle_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 70.0: 70.0, - 50.0: 52.7, - 30.0: 31.7, - 0.0: 0.0, - 20.0: 20.5, - 10.0: 10.3, - }, + curve={70.0: 70.0, 50.0: 52.7, 30.0: 31.7, 0.0: 0.0, 20.0: 20.5, 10.0: 10.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=15.0, @@ -6522,16 +5949,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, False, False, Liquid.WATER, False, False)] = ( LowNeedle_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.0, - 0.5: 0.5, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.5, - 1.0: 1.0, - 10.0: 10.0, - 2.0: 2.0, - }, + curve={5.0: 5.0, 0.5: 0.5, 50.0: 50.0, 0.0: 0.0, 20.0: 20.5, 1.0: 1.0, 10.0: 10.0, 2.0: 2.0}, aspiration_flow_rate=60.0, aspiration_mix_flow_rate=60.0, aspiration_air_transport_volume=0.0, @@ -6720,15 +6138,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.DMSO, False, False)] = ( LowVolumeFilter_DMSO_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 15.0: 16.4, - 0.0: 0.0, - 1.0: 1.4, - 2.0: 2.6, - 10.0: 11.2, - }, + curve={5.0: 5.9, 0.5: 0.8, 15.0: 16.4, 0.0: 0.0, 1.0: 1.4, 2.0: 2.6, 10.0: 11.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -6752,14 +6162,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.DMSO, False, True)] = ( LowVolumeFilter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 10.0, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 10.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -6808,14 +6211,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.ETHANOL, False, False)] = ( LowVolumeFilter_EtOH_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 8.4, - 0.5: 1.9, - 0.0: 0.0, - 1.0: 2.7, - 2.0: 4.1, - 10.0: 13.0, - }, + curve={5.0: 8.4, 0.5: 1.9, 0.0: 0.0, 1.0: 2.7, 2.0: 4.1, 10.0: 13.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -6888,15 +6284,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.GLYCERIN, False, False)] = ( LowVolumeFilter_Glycerin_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 0.5: 1.4, - 15.0: 17.0, - 0.0: 0.0, - 1.0: 2.0, - 2.0: 3.2, - 10.0: 11.8, - }, + curve={5.0: 6.5, 0.5: 1.4, 15.0: 17.0, 0.0: 0.0, 1.0: 2.0, 2.0: 3.2, 10.0: 11.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -6945,15 +6333,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.WATER, False, False)] = ( LowVolumeFilter_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 15.0: 16.7, - 0.0: 0.0, - 1.0: 1.4, - 2.0: 2.6, - 10.0: 11.5, - }, + curve={5.0: 6.0, 0.5: 0.8, 15.0: 16.7, 0.0: 0.0, 1.0: 1.4, 2.0: 2.6, 10.0: 11.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -6977,14 +6357,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, True, Liquid.WATER, False, True)] = ( LowVolumeFilter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 10.0, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 10.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7049,14 +6422,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.PLASMA, False, False)] = ( LowVolumePlasmaDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -7080,14 +6446,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.PLASMA, False, True)] = ( LowVolumePlasmaDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -7152,14 +6511,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.SERUM, False, False)] = ( LowVolumeSerumDispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -7183,14 +6535,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.SERUM, False, True)] = ( LowVolumeSerumDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 0.5: 0.2, - 0.0: 0.0, - 1.0: 0.9, - 10.0: 11.3, - 2.0: 2.2, - }, + curve={5.0: 5.6, 0.5: 0.2, 0.0: 0.0, 1.0: 0.9, 10.0: 11.3, 2.0: 2.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -7383,14 +6728,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, True, True, False, Liquid.WATER, False, False)] = ( LowVolume_Core96Washer_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 15.0, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 15.0, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=150.0, aspiration_air_transport_volume=0.0, @@ -7415,15 +6753,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.DMSO, False, False)] = ( LowVolume_DMSO_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 15.0: 16.4, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.2, - 2.0: 2.6, - }, + curve={5.0: 5.9, 15.0: 16.4, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.2, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7447,14 +6777,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.DMSO, False, True)] = ( LowVolume_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.9, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.2, - 2.0: 2.6, - }, + curve={5.0: 5.9, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.2, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7503,14 +6826,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.ETHANOL, False, False)] = ( LowVolume_EtOH_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 8.4, - 0.5: 1.9, - 0.0: 0.0, - 1.0: 2.7, - 10.0: 13.0, - 2.0: 4.1, - }, + curve={5.0: 8.4, 0.5: 1.9, 0.0: 0.0, 1.0: 2.7, 10.0: 13.0, 2.0: 4.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -7583,15 +6899,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.GLYCERIN, False, False)] = ( LowVolume_Glycerin_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 15.0: 17.0, - 0.5: 1.4, - 0.0: 0.0, - 1.0: 2.0, - 10.0: 11.8, - 2.0: 3.2, - }, + curve={5.0: 6.5, 15.0: 17.0, 0.5: 1.4, 0.0: 0.0, 1.0: 2.0, 10.0: 11.8, 2.0: 3.2}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -7616,15 +6924,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.WATER, False, False)] = ( LowVolume_Water_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 15.0: 16.7, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 6.0, 15.0: 16.7, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7720,14 +7020,7 @@ def get_vantage_liquid_class( vantage_mapping[(10, False, True, False, Liquid.WATER, False, True)] = ( LowVolume_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.0, - 0.5: 0.8, - 0.0: 0.0, - 1.0: 1.4, - 10.0: 11.5, - 2.0: 2.6, - }, + curve={5.0: 6.0, 0.5: 0.8, 0.0: 0.0, 1.0: 1.4, 10.0: 11.5, 2.0: 2.6}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -7811,14 +7104,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( SlimTipFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.3, - 50.0: 55.3, - 0.0: 0.0, - 100.0: 107.7, - 20.0: 22.4, - 200.0: 210.5, - }, + curve={300.0: 312.3, 50.0: 55.3, 0.0: 0.0, 100.0: 107.7, 20.0: 22.4, 200.0: 210.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -7842,15 +7128,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( SlimTipFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 311.9, - 50.0: 54.1, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 22.5, - 10.0: 11.1, - 200.0: 209.4, - }, + curve={300.0: 311.9, 50.0: 54.1, 0.0: 0.0, 100.0: 107.5, 20.0: 22.5, 10.0: 11.1, 200.0: 209.4}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=1.0, @@ -7887,14 +7165,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=5.0, @@ -7918,14 +7189,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.0, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 109.4, - 20.0: 22.7, - 200.0: 213.7, - }, + curve={300.0: 317.0, 50.0: 55.8, 0.0: 0.0, 100.0: 109.4, 20.0: 22.7, 200.0: 213.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -7949,14 +7213,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( SlimTipFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 318.7, - 50.0: 54.9, - 0.0: 0.0, - 100.0: 110.4, - 10.0: 11.7, - 200.0: 210.5, - }, + curve={300.0: 318.7, 50.0: 54.9, 0.0: 0.0, 100.0: 110.4, 10.0: 11.7, 200.0: 210.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8017,14 +7274,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( SlimTipFilter_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.5, - 50.0: 54.4, - 0.0: 0.0, - 100.0: 106.4, - 20.0: 22.1, - 200.0: 208.2, - }, + curve={300.0: 309.5, 50.0: 54.4, 0.0: 0.0, 100.0: 106.4, 20.0: 22.1, 200.0: 208.2}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8093,13 +7343,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.ETHANOL, True, False)] = ( SlimTipFilter_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -8123,14 +7367,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.ETHANOL, True, True)] = ( SlimTipFilter_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 320.4, - 50.0: 57.2, - 0.0: 0.0, - 100.0: 110.5, - 20.0: 24.5, - 200.0: 215.0, - }, + curve={300.0: 320.4, 50.0: 57.2, 0.0: 0.0, 100.0: 110.5, 20.0: 24.5, 200.0: 215.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8154,15 +7391,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.ETHANOL, False, True)] = ( SlimTipFilter_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.9, - 50.0: 55.4, - 0.0: 0.0, - 100.0: 107.7, - 20.0: 23.2, - 10.0: 12.4, - 200.0: 210.6, - }, + curve={300.0: 313.9, 50.0: 55.4, 0.0: 0.0, 100.0: 107.7, 20.0: 23.2, 10.0: 12.4, 200.0: 210.6}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=2.0, @@ -8186,15 +7415,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.GLYCERIN80, False, True)] = ( SlimTipFilter_Glycerin_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.0, - 50.0: 55.0, - 0.0: 0.0, - 100.0: 107.8, - 20.0: 22.9, - 10.0: 11.8, - 200.0: 210.0, - }, + curve={300.0: 312.0, 50.0: 55.0, 0.0: 0.0, 100.0: 107.8, 20.0: 22.9, 10.0: 11.8, 200.0: 210.0}, aspiration_flow_rate=30.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=0.0, @@ -8230,14 +7451,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( SlimTipFilter_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=3.0, @@ -8261,14 +7475,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( SlimTipFilter_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.6, - 20.0: 22.6, - 200.0: 212.8, - }, + curve={300.0: 317.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.6, 20.0: 22.6, 200.0: 212.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -8337,13 +7544,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( SlimTip_96COREHead1000ul_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=5.0, @@ -8367,14 +7568,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( SlimTip_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.8, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 109.2, - 20.0: 23.1, - 200.0: 212.7, - }, + curve={300.0: 313.8, 50.0: 55.8, 0.0: 0.0, 100.0: 109.2, 20.0: 23.1, 200.0: 212.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -8398,15 +7592,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( SlimTip_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 312.9, - 50.0: 54.1, - 0.0: 0.0, - 20.0: 22.5, - 100.0: 108.8, - 200.0: 210.9, - 10.0: 11.1, - }, + curve={300.0: 312.9, 50.0: 54.1, 0.0: 0.0, 20.0: 22.5, 100.0: 108.8, 200.0: 210.9, 10.0: 11.1}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=1.0, @@ -8442,13 +7628,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.ETHANOL, True, False)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -8472,14 +7652,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.ETHANOL, True, True)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 58.8, - 0.0: 0.0, - 100.0: 112.7, - 20.0: 25.0, - 200.0: 218.2, - }, + curve={300.0: 326.2, 50.0: 58.8, 0.0: 0.0, 100.0: 112.7, 20.0: 25.0, 200.0: 218.2}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8503,14 +7676,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.ETHANOL, False, True)] = ( SlimTip_96COREHead1000ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 320.3, - 50.0: 56.7, - 0.0: 0.0, - 100.0: 109.5, - 10.0: 12.4, - 200.0: 213.9, - }, + curve={300.0: 320.3, 50.0: 56.7, 0.0: 0.0, 100.0: 109.5, 10.0: 12.4, 200.0: 213.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=2.0, @@ -8534,15 +7700,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.GLYCERIN80, False, True)] = ( SlimTip_96COREHead1000ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 319.3, - 50.0: 58.2, - 0.0: 0.0, - 100.0: 112.1, - 20.0: 23.9, - 10.0: 12.1, - 200.0: 216.9, - }, + curve={300.0: 319.3, 50.0: 58.2, 0.0: 0.0, 100.0: 112.1, 20.0: 23.9, 10.0: 12.1, 200.0: 216.9}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -8579,14 +7737,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( SlimTip_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=5.0, @@ -8610,14 +7761,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( SlimTip_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.0, - 50.0: 55.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 22.8, - 200.0: 211.0, - }, + curve={300.0: 315.0, 50.0: 55.5, 0.0: 0.0, 100.0: 107.2, 20.0: 22.8, 200.0: 211.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -8641,14 +7785,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( SlimTip_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 322.7, - 50.0: 56.4, - 0.0: 0.0, - 100.0: 110.4, - 10.0: 11.9, - 200.0: 215.5, - }, + curve={300.0: 322.7, 50.0: 56.4, 0.0: 0.0, 100.0: 110.4, 10.0: 11.9, 200.0: 215.5}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8709,14 +7846,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( SlimTip_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.5, - 50.0: 54.7, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 22.5, - 200.0: 209.7, - }, + curve={300.0: 309.5, 50.0: 54.7, 0.0: 0.0, 100.0: 107.2, 20.0: 22.5, 200.0: 209.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8785,13 +7915,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.ETHANOL, True, False)] = ( SlimTip_EtOH_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=0.0, @@ -8815,14 +7939,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.ETHANOL, True, True)] = ( SlimTip_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 323.4, - 50.0: 57.2, - 0.0: 0.0, - 100.0: 110.5, - 20.0: 24.7, - 200.0: 211.9, - }, + curve={300.0: 323.4, 50.0: 57.2, 0.0: 0.0, 100.0: 110.5, 20.0: 24.7, 200.0: 211.9}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -8948,14 +8065,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.SERUM, True, True)] = ( SlimTip_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 321.5, - 50.0: 56.0, - 0.0: 0.0, - 100.0: 109.7, - 20.0: 22.8, - 200.0: 215.7, - }, + curve={300.0: 321.5, 50.0: 56.0, 0.0: 0.0, 100.0: 109.7, 20.0: 22.8, 200.0: 215.7}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=5.0, @@ -9024,14 +8134,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( SlimTip_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 50.0: 50.0, - 30.0: 30.0, - 0.0: 0.0, - 100.0: 100.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 50.0: 50.0, 30.0: 30.0, 0.0: 0.0, 100.0: 100.0, 20.0: 20.0}, aspiration_flow_rate=200.0, aspiration_mix_flow_rate=200.0, aspiration_air_transport_volume=3.0, @@ -9055,14 +8158,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( SlimTip_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 317.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 22.6, - 100.0: 108.6, - 200.0: 212.8, - }, + curve={300.0: 317.2, 50.0: 55.6, 0.0: 0.0, 20.0: 22.6, 100.0: 108.6, 200.0: 212.8}, aspiration_flow_rate=250.0, aspiration_mix_flow_rate=250.0, aspiration_air_transport_volume=10.0, @@ -9121,13 +8217,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( StandardNeedle_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -9151,13 +8241,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, True)] = ( StandardNeedle_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -9181,13 +8265,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, False, False, Liquid.WATER, True, False)] = ( StandardNeedle_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 311.2, - 50.0: 51.3, - 0.0: 0.0, - 100.0: 103.4, - 20.0: 19.5, - }, + curve={300.0: 311.2, 50.0: 51.3, 0.0: 0.0, 100.0: 103.4, 20.0: 19.5}, aspiration_flow_rate=80.0, aspiration_mix_flow_rate=80.0, aspiration_air_transport_volume=10.0, @@ -9336,14 +8414,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ACETONITRILE, True, False)] = ( StandardVolumeAcetonitrilDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 57.3, - 0.0: 0.0, - 100.0: 111.5, - 20.0: 24.6, - 200.0: 217.0, - }, + curve={300.0: 326.2, 50.0: 57.3, 0.0: 0.0, 100.0: 111.5, 20.0: 24.6, 200.0: 217.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=25.0, @@ -9367,14 +8438,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ACETONITRILE, True, True)] = ( StandardVolumeAcetonitrilDispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 326.2, - 50.0: 57.3, - 0.0: 0.0, - 100.0: 111.5, - 20.0: 24.6, - 200.0: 217.0, - }, + curve={300.0: 326.2, 50.0: 57.3, 0.0: 0.0, 100.0: 111.5, 20.0: 24.6, 200.0: 217.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=25.0, @@ -9512,13 +8576,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ACETONITRILE, False, False)] = ( StandardVolumeAcetonitrilDispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 328.0, - 5.0: 7.3, - 0.0: 0.0, - 100.0: 112.7, - 10.0: 13.5, - }, + curve={300.0: 328.0, 5.0: 7.3, 0.0: 0.0, 100.0: 112.7, 10.0: 13.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=10.0, @@ -9599,14 +8657,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ETHANOL, False, False)] = ( StandardVolumeEtOHDispenseSurface ) = HamiltonLiquidClass( - curve={ - 300.0: 309.2, - 50.0: 54.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 23.7, - 200.0: 208.2, - }, + curve={300.0: 309.2, 50.0: 54.8, 0.0: 0.0, 100.0: 106.5, 20.0: 23.7, 200.0: 208.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=3.0, @@ -9630,14 +8681,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ETHANOL, False, True)] = ( StandardVolumeEtOHDispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.2, - 50.0: 54.8, - 0.0: 0.0, - 100.0: 106.5, - 20.0: 23.7, - 200.0: 208.2, - }, + curve={300.0: 309.2, 50.0: 54.8, 0.0: 0.0, 100.0: 106.5, 20.0: 23.7, 200.0: 208.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=3.0, @@ -9685,13 +8729,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 302.5, - 0.0: 0.0, - 100.0: 101.0, - 20.0: 20.4, - 200.0: 201.5, - }, + curve={300.0: 302.5, 0.0: 0.0, 100.0: 101.0, 20.0: 20.4, 200.0: 201.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9715,13 +8753,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( StandardVolumeFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 104.3, - 200.0: 205.0, - 10.0: 12.2, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 104.3, 200.0: 205.0, 10.0: 12.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9745,13 +8777,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( StandardVolumeFilter_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9775,13 +8801,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( StandardVolumeFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 210.0, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 210.0, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9805,13 +8825,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 101.8, - 10.0: 10.2, - 200.0: 200.5, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 101.8, 10.0: 10.2, 200.0: 200.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9835,13 +8849,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, True, False)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 305.0, - 0.0: 0.0, - 100.0: 103.6, - 10.0: 11.5, - 200.0: 206.0, - }, + curve={300.0: 305.0, 0.0: 0.0, 100.0: 103.6, 10.0: 11.5, 200.0: 206.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9865,13 +8873,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, False, True)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.6, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.6, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9895,13 +8897,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.DMSO, False, False)] = ( StandardVolumeFilter_96COREHead_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.1, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.1, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9925,14 +8921,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, True)] = ( StandardVolumeFilter_96COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9956,14 +8945,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, True, False)] = ( StandardVolumeFilter_96COREHead_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -9987,13 +8969,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, False, True)] = ( StandardVolumeFilter_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.3, - 0.0: 0.0, - 100.0: 104.5, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 306.3, 0.0: 0.0, 100.0: 104.5, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10017,13 +8993,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, True, Liquid.WATER, False, False)] = ( StandardVolumeFilter_96COREHead_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 304.0, - 0.0: 0.0, - 100.0: 105.3, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 304.0, 0.0: 0.0, 100.0: 105.3, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -10063,13 +9033,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.DMSO, True, False)] = ( StandardVolumeFilter_DMSO_AliquotDispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - 10.0: 10.0, - }, + curve={300.0: 300.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0, 10.0: 10.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -10094,14 +9058,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.DMSO, True, False)] = ( StandardVolumeFilter_DMSO_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 20.0: 20.7, - 100.0: 101.8, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 20.0: 20.7, 100.0: 101.8, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10125,14 +9082,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.DMSO, True, True)] = ( StandardVolumeFilter_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 100.0: 101.8, - 20.0: 20.7, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 100.0: 101.8, 20.0: 20.7, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10250,15 +9200,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.DMSO, False, False)] = ( StandardVolumeFilter_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 306.8, - 5.0: 6.4, - 50.0: 52.9, - 0.0: 0.0, - 100.0: 103.8, - 20.0: 22.1, - 10.0: 11.9, - }, + curve={300.0: 306.8, 5.0: 6.4, 50.0: 52.9, 0.0: 0.0, 100.0: 103.8, 20.0: 22.1, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -10283,14 +9225,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.ETHANOL, True, False)] = ( StandardVolumeFilter_EtOH_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 20.0: 24.6, - 100.0: 107.5, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 20.0: 24.6, 100.0: 107.5, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10314,14 +9249,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.ETHANOL, True, True)] = ( StandardVolumeFilter_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 24.6, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 100.0: 107.5, 20.0: 24.6, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10370,14 +9298,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.GLYCERIN, True, False)] = ( StandardVolumeFilter_Glycerin_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.9, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 20.0: 22.3, 100.0: 104.9, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -10402,14 +9323,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.GLYCERIN80, True, True)] = ( StandardVolumeFilter_Glycerin_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -10502,14 +9416,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.GLYCERIN80, False, False)] = ( StandardVolumeFilter_Glycerin_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 307.9, - 5.0: 6.1, - 0.0: 0.0, - 100.0: 104.7, - 200.0: 207.0, - 10.0: 11.5, - }, + curve={300.0: 307.9, 5.0: 6.1, 0.0: 0.0, 100.0: 104.7, 200.0: 207.0, 10.0: 11.5}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=10.0, aspiration_air_transport_volume=0.0, @@ -10534,13 +9441,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.SERUM, True, False)] = ( StandardVolumeFilter_Serum_AliquotDispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - 10.0: 10.0, - }, + curve={300.0: 300.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0, 10.0: 10.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -10590,14 +9491,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.SERUM, True, False)] = ( StandardVolumeFilter_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10621,14 +9515,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.SERUM, True, True)] = ( StandardVolumeFilter_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10735,13 +9622,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.WATER, True, False)] = ( StandardVolumeFilter_Water_AliquotDispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - 10.0: 10.0, - }, + curve={300.0: 300.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0, 10.0: 10.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -10791,14 +9672,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.WATER, True, False)] = ( StandardVolumeFilter_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 107.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 20.0: 23.2, 100.0: 107.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -10822,14 +9696,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, True, Liquid.WATER, True, True)] = ( StandardVolumeFilter_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11004,14 +9871,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.METHANOL, True, False)] = ( StandardVolumeMeOHDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 336.0, - 50.0: 63.0, - 0.0: 0.0, - 100.0: 119.5, - 20.0: 28.3, - 200.0: 230.0, - }, + curve={300.0: 336.0, 50.0: 63.0, 0.0: 0.0, 100.0: 119.5, 20.0: 28.3, 200.0: 230.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=30.0, aspiration_air_transport_volume=5.0, @@ -11108,14 +9968,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.OCTANOL, True, False)] = ( StandardVolumeOctanol100DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 319.3, - 50.0: 56.6, - 0.0: 0.0, - 100.0: 109.9, - 20.0: 23.8, - 200.0: 216.2, - }, + curve={300.0: 319.3, 50.0: 56.6, 0.0: 0.0, 100.0: 109.9, 20.0: 23.8, 200.0: 216.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11260,15 +10113,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.PLASMA, True, False)] = ( StandardVolumePlasmaDispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - 10.0: 12.3, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1, 10.0: 12.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=5.0, @@ -11290,16 +10135,9 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.PLASMA, True, True)] = ( - StandardVolumePlasmaDispenseJet_Empty -) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + StandardVolumePlasmaDispenseJet_Empty +) = HamiltonLiquidClass( + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11456,13 +10294,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -11486,13 +10318,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 302.5, - 0.0: 0.0, - 100.0: 101.0, - 20.0: 20.4, - 200.0: 201.5, - }, + curve={300.0: 302.5, 0.0: 0.0, 100.0: 101.0, 20.0: 20.4, 200.0: 201.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11516,13 +10342,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( StandardVolume_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 104.3, - 200.0: 205.0, - 10.0: 12.2, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 104.3, 200.0: 205.0, 10.0: 12.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11546,13 +10366,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_96COREHead1000ul_Water_DispenseJet_Aliquot ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 150.0: 150.0, - 50.0: 50.0, - 0.0: 0.0, - 20.0: 20.0, - }, + curve={300.0: 300.0, 150.0: 150.0, 50.0: 50.0, 0.0: 0.0, 20.0: 20.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -11576,13 +10390,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_96COREHead1000ul_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 207.5, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 207.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11606,13 +10414,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 210.0, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 210.0, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11636,13 +10438,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_96COREHead_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.5, - 0.0: 0.0, - 100.0: 101.8, - 10.0: 10.2, - 200.0: 200.5, - }, + curve={300.0: 303.5, 0.0: 0.0, 100.0: 101.8, 10.0: 10.2, 200.0: 200.5}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11666,13 +10462,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_96COREHead_DMSO_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 306.0, - 0.0: 0.0, - 100.0: 105.6, - 10.0: 12.2, - 200.0: 207.0, - }, + curve={300.0: 306.0, 0.0: 0.0, 100.0: 105.6, 10.0: 12.2, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11696,13 +10486,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, False, True)] = ( StandardVolume_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.6, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.6, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11726,13 +10510,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.DMSO, False, False)] = ( StandardVolume_96COREHead_DMSO_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 303.0, - 0.0: 0.0, - 100.0: 101.3, - 10.0: 10.1, - 200.0: 202.0, - }, + curve={300.0: 303.0, 0.0: 0.0, 100.0: 101.3, 10.0: 10.1, 200.0: 202.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11756,14 +10534,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_96COREHead_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - 200.0: 207.0, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9, 200.0: 207.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11787,13 +10558,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_96COREHead_Water_DispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 0.0: 0.0, - 20.0: 22.3, - 100.0: 104.2, - 10.0: 11.9, - }, + curve={300.0: 309.0, 0.0: 0.0, 20.0: 22.3, 100.0: 104.2, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11817,13 +10582,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 306.3, - 0.0: 0.0, - 100.0: 104.5, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 306.3, 0.0: 0.0, 100.0: 104.5, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11847,13 +10606,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, False)] = ( StandardVolume_96COREHead_Water_DispenseSurface_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 304.0, - 0.0: 0.0, - 100.0: 105.3, - 10.0: 11.9, - 200.0: 205.7, - }, + curve={300.0: 304.0, 0.0: 0.0, 100.0: 105.3, 10.0: 11.9, 200.0: 205.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -11955,15 +10708,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.DMSO, True, False)] = ( StandardVolume_DMSO_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 350.0: 355.2, - 50.0: 51.1, - 0.0: 0.0, - 100.0: 101.8, - 20.0: 20.7, - 200.0: 203.0, - }, + curve={300.0: 304.6, 350.0: 355.2, 50.0: 51.1, 0.0: 0.0, 100.0: 101.8, 20.0: 20.7, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -11987,14 +10732,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.DMSO, True, True)] = ( StandardVolume_DMSO_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 304.6, - 50.0: 51.1, - 0.0: 0.0, - 20.0: 20.7, - 100.0: 101.8, - 200.0: 203.0, - }, + curve={300.0: 304.6, 50.0: 51.1, 0.0: 0.0, 20.0: 20.7, 100.0: 101.8, 200.0: 203.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12147,15 +10885,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ETHANOL, True, False)] = ( StandardVolume_EtOH_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 350.0: 360.5, - 50.0: 55.8, - 0.0: 0.0, - 100.0: 107.5, - 20.0: 24.6, - 200.0: 209.2, - }, + curve={300.0: 310.2, 350.0: 360.5, 50.0: 55.8, 0.0: 0.0, 100.0: 107.5, 20.0: 24.6, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12179,14 +10909,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.ETHANOL, True, True)] = ( StandardVolume_EtOH_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 310.2, - 50.0: 55.8, - 0.0: 0.0, - 20.0: 24.6, - 100.0: 107.5, - 200.0: 209.2, - }, + curve={300.0: 310.2, 50.0: 55.8, 0.0: 0.0, 20.0: 24.6, 100.0: 107.5, 200.0: 209.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12235,15 +10958,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.GLYCERIN, True, False)] = ( StandardVolume_Glycerin_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 350.0: 360.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 350.0: 360.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -12268,14 +10983,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.GLYCERIN80, True, True)] = ( StandardVolume_Glycerin_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 309.0, - 50.0: 53.6, - 0.0: 0.0, - 100.0: 104.9, - 20.0: 22.3, - 200.0: 207.2, - }, + curve={300.0: 309.0, 50.0: 53.6, 0.0: 0.0, 100.0: 104.9, 20.0: 22.3, 200.0: 207.2}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=20.0, aspiration_air_transport_volume=5.0, @@ -12403,13 +11111,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.SERUM, True, False)] = ( StandardVolume_Serum_AliquotDispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - 10.0: 10.0, - }, + curve={300.0: 300.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0, 10.0: 10.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -12459,14 +11161,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.SERUM, True, False)] = ( StandardVolume_Serum_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 100.0: 108.1, - 20.0: 23.2, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 100.0: 108.1, 20.0: 23.2, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12490,14 +11185,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.SERUM, True, True)] = ( StandardVolume_Serum_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 315.2, - 50.0: 55.6, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 108.1, - 200.0: 212.1, - }, + curve={300.0: 315.2, 50.0: 55.6, 0.0: 0.0, 20.0: 23.2, 100.0: 108.1, 200.0: 212.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12638,13 +11326,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.WATER, True, False)] = ( StandardVolume_Water_AliquotDispenseJet_Part ) = HamiltonLiquidClass( - curve={ - 300.0: 300.0, - 30.0: 30.0, - 0.0: 0.0, - 20.0: 20.0, - 10.0: 10.0, - }, + curve={300.0: 300.0, 30.0: 30.0, 0.0: 0.0, 20.0: 20.0, 10.0: 10.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=0.0, @@ -12694,15 +11376,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.WATER, True, False)] = ( StandardVolume_Water_DispenseJet ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 350.0: 364.3, - 50.0: 55.1, - 0.0: 0.0, - 100.0: 107.2, - 20.0: 23.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 350.0: 364.3, 50.0: 55.1, 0.0: 0.0, 100.0: 107.2, 20.0: 23.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12726,13 +11400,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, True)] = ( StandardVolume_Water_DispenseJetEmpty96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.3, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.3, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12756,13 +11424,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, True, False)] = ( StandardVolume_Water_DispenseJetPart96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.3, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.3, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12786,14 +11448,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, False, True, False, Liquid.WATER, True, True)] = ( StandardVolume_Water_DispenseJet_Empty ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 50.0: 55.1, - 0.0: 0.0, - 20.0: 23.2, - 100.0: 107.2, - 200.0: 211.0, - }, + curve={300.0: 313.5, 50.0: 55.1, 0.0: 0.0, 20.0: 23.2, 100.0: 107.2, 200.0: 211.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12903,13 +11558,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, True)] = ( StandardVolume_Water_DispenseSurfaceEmpty96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.7, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.7, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -12933,13 +11582,7 @@ def get_vantage_liquid_class( vantage_mapping[(300, True, True, False, Liquid.WATER, False, False)] = ( StandardVolume_Water_DispenseSurfacePart96Head ) = HamiltonLiquidClass( - curve={ - 300.0: 313.5, - 0.0: 0.0, - 100.0: 107.2, - 200.0: 205.7, - 10.0: 11.9, - }, + curve={300.0: 313.5, 0.0: 0.0, 100.0: 107.2, 200.0: 205.7, 10.0: 11.9}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=100.0, aspiration_air_transport_volume=5.0, @@ -13056,14 +11699,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.4, - 50.0: 52.1, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 10.8, - }, + curve={5.0: 5.4, 50.0: 52.1, 30.0: 31.5, 0.0: 0.0, 1.0: 0.7, 10.0: 10.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13111,14 +11747,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.6, - 30.0: 32.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.3, - }, + curve={5.0: 5.6, 50.0: 53.6, 30.0: 32.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13166,14 +11795,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 51.1, - 0.0: 0.0, - 30.0: 31.0, - 1.0: 0.8, - 10.0: 10.7, - }, + curve={5.0: 5.6, 50.0: 51.1, 0.0: 0.0, 30.0: 31.0, 1.0: 0.8, 10.0: 10.7}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13221,14 +11843,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.5, - 30.0: 32.9, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.4, - }, + curve={5.0: 5.6, 50.0: 53.5, 30.0: 32.9, 0.0: 0.0, 1.0: 0.8, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13276,14 +11891,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.DMSO, False, True)] = ( Tip_50ulFilter_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 52.6, - 0.0: 0.0, - 30.0: 32.0, - 1.0: 0.7, - 10.0: 11.0, - }, + curve={5.0: 5.5, 50.0: 52.6, 0.0: 0.0, 30.0: 32.0, 1.0: 0.7, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13331,14 +11939,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.ETHANOL, False, True)] = ( Tip_50ulFilter_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.5, - 50.0: 54.1, - 0.0: 0.0, - 30.0: 33.8, - 1.0: 1.9, - 10.0: 12.0, - }, + curve={5.0: 6.5, 50.0: 54.1, 0.0: 0.0, 30.0: 33.8, 1.0: 1.9, 10.0: 12.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -13362,14 +11963,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.GLYCERIN80, False, True)] = ( Tip_50ulFilter_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.5, - 50.0: 57.0, - 0.0: 0.0, - 30.0: 35.9, - 1.0: 0.6, - 10.0: 12.0, - }, + curve={5.0: 5.5, 50.0: 57.0, 0.0: 0.0, 30.0: 35.9, 1.0: 0.6, 10.0: 12.0}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -13417,14 +12011,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.SERUM, False, True)] = ( Tip_50ulFilter_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.9, - 30.0: 33.0, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.3, - }, + curve={5.0: 5.7, 50.0: 54.9, 30.0: 33.0, 0.0: 0.0, 1.0: 0.7, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13472,14 +12059,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, True, Liquid.WATER, False, True)] = ( Tip_50ulFilter_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.1, - 0.0: 0.0, - 1.0: 0.65, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.1, 0.0: 0.0, 1.0: 0.65, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13527,14 +12107,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_96COREHead1000ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.4, - 50.0: 52.1, - 30.0: 31.5, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 10.8, - }, + curve={5.0: 5.4, 50.0: 52.1, 30.0: 31.5, 0.0: 0.0, 1.0: 0.7, 10.0: 10.8}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13582,14 +12155,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_96COREHead1000ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.8, - 50.0: 53.6, - 30.0: 32.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.3, - }, + curve={5.0: 5.8, 50.0: 53.6, 30.0: 32.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13637,14 +12203,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_96COREHead_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 52.1, - 30.0: 31.6, - 0.0: 0.0, - 1.0: 0.8, - 10.0: 11.0, - }, + curve={5.0: 5.6, 50.0: 52.1, 30.0: 31.6, 0.0: 0.0, 1.0: 0.8, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13692,14 +12251,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_96COREHead_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 53.6, - 30.0: 32.9, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.4, - }, + curve={5.0: 5.6, 50.0: 53.6, 30.0: 32.9, 0.0: 0.0, 1.0: 0.7, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13724,14 +12276,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, True, True, False, Liquid.WATER, False, False)] = ( Tip_50ul_Core96Washer_DispenseSurface ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.2, - 0.0: 0.0, - 1.0: 0.5, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.2, 0.0: 0.0, 1.0: 0.5, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13779,14 +12324,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.DMSO, False, True)] = ( Tip_50ul_DMSO_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.6, - 50.0: 52.6, - 30.0: 32.1, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.0, - }, + curve={5.0: 5.6, 50.0: 52.6, 30.0: 32.1, 0.0: 0.0, 1.0: 0.7, 10.0: 11.0}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13834,14 +12372,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.ETHANOL, False, True)] = ( Tip_50ul_EtOH_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 6.7, - 50.0: 54.1, - 0.0: 0.0, - 30.0: 33.7, - 1.0: 2.1, - 10.0: 12.1, - }, + curve={5.0: 6.7, 50.0: 54.1, 0.0: 0.0, 30.0: 33.7, 1.0: 2.1, 10.0: 12.1}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=2.0, @@ -13865,14 +12396,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.GLYCERIN80, False, True)] = ( Tip_50ul_Glycerin80_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 59.4, - 0.0: 0.0, - 30.0: 36.0, - 1.0: 0.3, - 10.0: 11.8, - }, + curve={5.0: 5.7, 50.0: 59.4, 0.0: 0.0, 30.0: 36.0, 1.0: 0.3, 10.0: 11.8}, aspiration_flow_rate=50.0, aspiration_mix_flow_rate=50.0, aspiration_air_transport_volume=0.0, @@ -13920,14 +12444,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.SERUM, False, True)] = ( Tip_50ul_Serum_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.9, - 30.0: 33.0, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.3, - }, + curve={5.0: 5.7, 50.0: 54.9, 30.0: 33.0, 0.0: 0.0, 1.0: 0.7, 10.0: 11.3}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0, @@ -13975,14 +12492,7 @@ def get_vantage_liquid_class( vantage_mapping[(50, False, True, False, Liquid.WATER, False, True)] = ( Tip_50ul_Water_DispenseSurface_Empty ) = HamiltonLiquidClass( - curve={ - 5.0: 5.7, - 50.0: 54.2, - 30.0: 33.2, - 0.0: 0.0, - 1.0: 0.7, - 10.0: 11.4, - }, + curve={5.0: 5.7, 50.0: 54.2, 30.0: 33.2, 0.0: 0.0, 1.0: 0.7, 10.0: 11.4}, aspiration_flow_rate=100.0, aspiration_mix_flow_rate=75.0, aspiration_air_transport_volume=0.0,