SYMBOL INDEX (702 symbols across 38 files) FILE: pyhamilton/__init__.py function full_paths_list (line 46) | def full_paths_list(directory_abs_path): function recursive_copy (line 51) | def recursive_copy(source_dir, target_dir): function autoconfig (line 65) | def autoconfig(): function create_project (line 99) | def create_project(): function create_ai_project (line 104) | def create_ai_project(): FILE: pyhamilton/consumables/consumables.py class VolumeConsumptionTracker (line 7) | class VolumeConsumptionTracker: method __init__ (line 8) | def __init__(self, num_positions): method aspirate_volume (line 12) | def aspirate_volume(self, well_index, volume): class TrackedContainer (line 15) | class TrackedContainer: method __init__ (line 18) | def __init__(self): method aspirate_volume (line 21) | def aspirate_volume(self, well_index, volume): class TrackedReagentVessel (line 28) | class TrackedReagentVessel(TrackedContainer): method __init__ (line 29) | def __init__(self, *args, **kwargs): method assign_reagent_map (line 32) | def assign_reagent_map(self, reagent_name: str, positions: list[int]) ... method reset_volumes (line 42) | def reset_volumes(self): method calculate_required_reagent_volume (line 48) | def calculate_required_reagent_volume(self, reagent_name: str): method all_required_reagent_volumes (line 57) | def all_required_reagent_volumes(self): method reagent_positions (line 60) | def reagent_positions(self, reagent_name): class ReagentTrackedPlate96 (line 65) | class ReagentTrackedPlate96(Plate96, TrackedReagentVessel): method __init__ (line 66) | def __init__(self, *args, **kwargs): method aspirate_volume (line 73) | def aspirate_volume(self, well_index, volume): class ReagentTrackedBulkPlate (line 76) | class ReagentTrackedBulkPlate(BulkReagentPlate, TrackedReagentVessel): method __init__ (line 77) | def __init__(self, *args, **kwargs): method aspirate_volume (line 84) | def aspirate_volume(self, well_index, volume): method assign_reagent_map (line 88) | def assign_reagent_map(self, reagent_name, positions): method calculate_required_reagent_volume (line 92) | def calculate_required_reagent_volume(self, reagent_name): class ReagentTrackedPlate24 (line 96) | class ReagentTrackedPlate24(Plate24, TrackedReagentVessel): method __init__ (line 97) | def __init__(self, *args, **kwargs): method aspirate_volume (line 104) | def aspirate_volume(self, well_index, volume): class ReagentTrackedReservoir60mL (line 107) | class ReagentTrackedReservoir60mL(Reservoir60mL, TrackedReagentVessel): method __init__ (line 108) | def __init__(self, *args, **kwargs): method aspirate_volume (line 115) | def aspirate_volume(self, well_index, volume): method calculate_required_reagent_volume (line 118) | def calculate_required_reagent_volume(self, reagent_name): method height_to_volume (line 123) | def height_to_volume(self, height): class ReagentTrackedFalconCarrier24 (line 126) | class ReagentTrackedFalconCarrier24(FalconCarrier24, TrackedReagentVessel): method __init__ (line 127) | def __init__(self, *args, **kwargs): method aspirate_volume (line 134) | def aspirate_volume(self, well_index, volume): class ReagentTrackedEppiCarrier32 (line 137) | class ReagentTrackedEppiCarrier32(EppiCarrier32, TrackedReagentVessel): method __init__ (line 138) | def __init__(self, *args, **kwargs): method aspirate_volume (line 145) | def aspirate_volume(self, well_index, volume): function get_class_name (line 150) | def get_class_name(obj): function generate_reagent_summary (line 154) | def generate_reagent_summary(tracked_vessels: list, units_default: str =... function generate_tip_use_summary (line 214) | def generate_tip_use_summary(tracked_tips_list, output_file=None): function tracked_volume_aspirate (line 302) | def tracked_volume_aspirate(ham_int: HamiltonInterface, plate_poss: list... function tracked_volume_aspirate_96 (line 315) | def tracked_volume_aspirate_96(ham_int: HamiltonInterface, plate: Tracke... FILE: pyhamilton/defaults.py class Defaults (line 15) | class Defaults: function _read_file (line 29) | def _read_file() -> dict[str, Any]: function defaults (line 43) | def defaults(**overrides) -> Defaults: function save (line 59) | def save(new_defaults: Defaults | None = None) -> None: function reload (line 70) | def reload() -> Defaults: FILE: pyhamilton/devices/centrifuge_wrappers.py function centrifuge_initialize (line 16) | def centrifuge_initialize(ham, label, node_name, simulate, always_init): function centrifuge_get_drive_status (line 22) | def centrifuge_get_drive_status(ham, label): function centrifuge_set_run (line 29) | def centrifuge_set_run(ham, label, array_speed, array_acceleration, FILE: pyhamilton/devices/hhs_wrappers.py function hhs_begin_monitoring (line 17) | def hhs_begin_monitoring(ham, device_number, tolerance_range, interval, ... function hhs_create_star_device (line 23) | def hhs_create_star_device(ham, star_device='ML_STAR', used_node=1): function hhs_create_usb_device (line 31) | def hhs_create_usb_device(ham, used_node): function hhs_end_monitoring (line 37) | def hhs_end_monitoring(ham, device_number): function hhs_get_firmware_version (line 43) | def hhs_get_firmware_version(ham, device_number): function hhs_get_serial_num (line 49) | def hhs_get_serial_num(ham, device_number): function hhs_get_shaker_param (line 55) | def hhs_get_shaker_param(ham, device_number): function hhs_get_shaker_speed (line 62) | def hhs_get_shaker_speed(ham, device_number): function hhs_get_temp_param (line 68) | def hhs_get_temp_param(ham, device_number): function hhs_get_temp (line 75) | def hhs_get_temp(ham, device_number): function hhs_get_temp_state (line 81) | def hhs_get_temp_state(ham, device_number): function hhs_set_simulation (line 87) | def hhs_set_simulation(ham, simulate): function hhs_send_firmware_cmd (line 96) | def hhs_send_firmware_cmd(ham, device_number, command, parameter): function hhs_set_plate_lock (line 104) | def hhs_set_plate_lock(ham, device_number, plate_lock): function hhs_set_shaker_param (line 108) | def hhs_set_shaker_param(ham, device_number, shaking_direction, shaking_... function hhs_set_temp_param (line 114) | def hhs_set_temp_param(ham, device_number, start_timeout, tolerance_rang... function hhs_set_usb_trace (line 119) | def hhs_set_usb_trace(ham, trace): function hhs_start_all_shaker (line 125) | def hhs_start_all_shaker(ham, shaking_speed): function hhs_start_all_shaker_timed (line 131) | def hhs_start_all_shaker_timed(ham, shaking_speed, shaking_time): function hhs_start_shaker (line 136) | def hhs_start_shaker(ham, device_number, shaking_speed): function hhs_start_shaker_timed (line 140) | def hhs_start_shaker_timed(ham, device_number, shaking_speed, shaking_ti... function hhs_start_temp_ctrl (line 145) | def hhs_start_temp_ctrl(ham, device_number, temperature, wait_for_temp_r... function hhs_stop_all_shakers (line 152) | def hhs_stop_all_shakers(ham): function hhs_stop_shaker (line 157) | def hhs_stop_shaker(ham, device_number): function hhs_stop_temp_ctrl (line 161) | def hhs_stop_temp_ctrl(ham, device_number): function hhs_terminate (line 165) | def hhs_terminate(ham): function hhs_wait_for_shaker (line 169) | def hhs_wait_for_shaker(ham, device_number): function hhs_wait_for_temp_ctrl (line 173) | def hhs_wait_for_temp_ctrl(ham, device_number): class HHS (line 177) | class HHS: method __init__ (line 179) | def __init__(self, node, sequence, lmgr: LayoutManager): method layout_name (line 185) | def layout_name(self): FILE: pyhamilton/devices/hig_wrappers.py function hig_connect (line 20) | def hig_connect(ham, device_id, adapter_device_id, simulation_mode): function hig_disconnect (line 27) | def hig_disconnect(ham): function hig_home (line 32) | def hig_home(ham): function hig_spin (line 38) | def hig_spin(ham, Gs, acceleration_pct, deceleration_pct, time): function hig_spin_and_wait (line 45) | def hig_spin_and_wait(ham, Gs, acceleration, deceleration, time): function hig_open_shield (line 50) | def hig_open_shield(ham, bucket_index): function hig_close_shield (line 55) | def hig_close_shield(ham): function hig_is_spinning (line 60) | def hig_is_spinning(ham): function hig_home (line 67) | def hig_home(ham): FILE: pyhamilton/devices/mpe_wrappers.py function mpe2_connect_ip (line 25) | def mpe2_connect_ip(ham, instrument_name, port_number, simulation_mode, ... function mpe2_connect_com (line 32) | def mpe2_connect_com(ham, com_port, baud_rate, simulation_mode, options ... function mpe2_clamp_filter_plate (line 38) | def mpe2_clamp_filter_plate(ham, device_id): function mpe2_collection_plate_placed (line 44) | def mpe2_collection_plate_placed(ham, device_id, collection_plate_height... function mpe2_collection_plate_removed (line 50) | def mpe2_collection_plate_removed(ham, device_id): function mpe2_disconnect (line 56) | def mpe2_disconnect(ham, device_id): function mpe2_initialize (line 62) | def mpe2_initialize(ham, device_id): function mpe2_initialize_with_params (line 67) | def mpe2_initialize_with_params(ham, device_id, smart, waste_container_i... function mpe2_filter_plate_placed (line 72) | def mpe2_filter_plate_placed(ham, device_id, filter_height, nozzle_height): function mpe2_filter_plate_removed (line 77) | def mpe2_filter_plate_removed(ham, device_id): function mpe2_process_filter_to_collection_plate (line 82) | def mpe2_process_filter_to_collection_plate(ham, device_id, control_poin... function mpe2_process_filter_to_waste_container (line 87) | def mpe2_process_filter_to_waste_container(ham, device_id, control_point... function mpe2_retrieve_filter_plate (line 92) | def mpe2_retrieve_filter_plate(ham, device_id): function mpe2_start_mpe_vacuum (line 97) | def mpe2_start_mpe_vacuum(ham, device_id, waste_container_id='', disable... function mpe2_stop_vacuum (line 102) | def mpe2_stop_vacuum(ham, device_id): function mpe2_get_vacuum_status (line 107) | def mpe2_get_vacuum_status(ham, device_id): function mpe2_get_pressure_readings (line 112) | def mpe2_get_pressure_readings(ham, device_id): function mpe2_dispense (line 118) | def mpe2_dispense(ham, device_id, source_id, well_volume, flow_rate_aspi... function mpe2_prime (line 124) | def mpe2_prime(ham, device_id, source_id, well_volume, flow_rate, waste_... function mpe2_flush (line 130) | def mpe2_flush(ham, device_id, well_volume, flow_rate, waste_container_id): function mpe2_evaporate (line 136) | def mpe2_evaporate(ham, device_id, plate_height, needle_offset, well_dep... function mpe2_evaporate_with_rate (line 143) | def mpe2_evaporate_with_rate(ham, device_id, plate_height, needle_offset... function mpe2_evaporate_end (line 148) | def mpe2_evaporate_end(ham, device_id, timeout): function mpe2_get_temperature_range (line 153) | def mpe2_get_temperature_range(ham, device_id): function mpe2_get_heater_status (line 158) | def mpe2_get_heater_status(ham, device_id, reset): function mpe2_get_heater_range (line 163) | def mpe2_get_heater_range(ham, device_id, reset): FILE: pyhamilton/devices/odtc_wrappers.py function odtc_abort (line 21) | def odtc_abort(ham, device_id, lock_id): function odtc_connect (line 27) | def odtc_connect(ham, simulation_mode, local_ip, device_ip, device_port ... function odtc_initialize (line 39) | def odtc_initialize(ham, device_id, lock_id = ''): function odtc_close_door (line 45) | def odtc_close_door(ham, device_id, lock_id = ''): function odtc_download_protocol (line 51) | def odtc_download_protocol(ham, device_id, protocol_file, lock_id = ''): function odtc_evaluate_error (line 57) | def odtc_evaluate_error(ham, device_id, lock_id = ''): function odtc_execute_protocol (line 63) | def odtc_execute_protocol(ham, device_id, method_name, simulating, prior... function odtc_get_status (line 83) | def odtc_get_status(ham, device_id, simulating): function odtc_open_door (line 113) | def odtc_open_door(ham, device_id, lock_id = ''): function odtc_read_actual_temperature (line 119) | def odtc_read_actual_temperature(ham, device_id, lock_id = ''): function odtc_reset (line 129) | def odtc_reset(ham, device_id, simulation_mode, timeout, str_device_id =... function odtc_stop_method (line 135) | def odtc_stop_method(ham, device_id, lock_id): function odtc_terminate (line 141) | def odtc_terminate(ham, device_id): function odtc_wait_for_idle (line 147) | def odtc_wait_for_idle(ham, device_id, simulating, check_interval=5, max... FILE: pyhamilton/devices/pH_wrappers.py function ph_controller_initialize (line 27) | def ph_controller_initialize(ham, port_number, raise_first_exception=Tru... function ph_controller_parameters (line 32) | def ph_controller_parameters(ham, module_id, seq_gripper, seq_wash, seq_... function ph_controller_pickup (line 49) | def ph_controller_pickup(ham, module_id, seq_module, raise_first_excepti... function ph_controller_park (line 53) | def ph_controller_park(ham, module_id, seq_module, raise_first_exception... function ph_controller_calibrate (line 58) | def ph_controller_calibrate(ham, module_id, seq_module, seq_solution_1,s... function ph_controller_measure_cycle (line 73) | def ph_controller_measure_cycle(ham, module_id, pos, measure_height, pro... function ph_controller_wash (line 93) | def ph_controller_wash(ham, module_id, raise_first_exception=True, wait_... function ph_controller_dry (line 97) | def ph_controller_dry(ham, module_id, raise_first_exception=True, wait_o... function ph_controller_loadconfig (line 101) | def ph_controller_loadconfig(ham, raise_first_exception=True, wait_on_re... function ph_controller_saveconfig (line 108) | def ph_controller_saveconfig(ham, bluetooth_port, num_wash_cycles, num_d... function ph_initialize (line 120) | def ph_initialize(ham, comport, simulate, asynch=False, raise_first_exce... function ph_req_battery_data (line 125) | def ph_req_battery_data(ham, module_id, raise_first_exception=True, wait... function ph_measure (line 131) | def ph_measure(ham, module_id, temperature, probePattern, raise_first_ex... function ph_measure_dynamic (line 137) | def ph_measure_dynamic(ham, module_id, temperature, precision, timeout, ... function ph_request_calibration (line 144) | def ph_request_calibration(ham, module_id, probe_number, raise_first_exc... function ph_request_probe_data (line 153) | def ph_request_probe_data(ham, module_id, raise_first_exception=True, wa... function ph_request_technical_data (line 161) | def ph_request_technical_data(ham, module_id, hardware_number, raise_fir... function ph_calibrate (line 167) | def ph_calibrate(ham, module_id, cal_level, cal_value, cal_temperature, ... function ph_calibrate_dynamically (line 174) | def ph_calibrate_dynamically(ham, module_id, variance, timeout, cal_leve... function ph_wakeup (line 182) | def ph_wakeup(ham, module_id, raise_first_exception=True, wait_on_respon... function ph_sleep (line 186) | def ph_sleep(ham, module_id, raise_first_exception=True, wait_on_respons... function ph_washer_initialize (line 190) | def ph_washer_initialize(ham, comport, simulate, raise_first_exception=T... function ph_washer_wash (line 195) | def ph_washer_wash(ham, module_id, cycle_num, raise_first_exception=True... function ph_washer_terminate (line 199) | def ph_washer_terminate(ham, module_id, raise_first_exception=True, wait... function ph_dryer_initialize (line 203) | def ph_dryer_initialize(ham, comport, simulate, raise_first_exception=Tr... function ph_dryer_start (line 208) | def ph_dryer_start(ham, module_id, raise_first_exception=True, wait_on_r... function ph_dryer_stop (line 212) | def ph_dryer_stop(ham, module_id, raise_first_exception=True, wait_on_re... function ph_dryer_terminate (line 216) | def ph_dryer_terminate(ham, module_id, raise_first_exception=True, wait_... FILE: pyhamilton/devices/tec_wrappers.py function initialize_tec (line 10) | def initialize_tec(ham, controller_id, simulating): function set_temperature_target_tec (line 15) | def set_temperature_target_tec(ham, target_temp, controller_id, device_id): function get_temperature_tec (line 20) | def get_temperature_tec(ham:HamiltonInterface, controller_id, device_id,... function start_temperature_control_tec (line 26) | def start_temperature_control_tec(ham, controller_id, device_id): function stop_temperature_control_tec (line 31) | def stop_temperature_control_tec(ham, controller_id, device_id): function terminate_tec (line 36) | def terminate_tec(ham, stop_all_devices): FILE: pyhamilton/interface.py function invert_columns (line 15) | def invert_columns(pos_str: str, sep: str = ';') -> str: class HamiltonCmdTemplate (line 27) | class HamiltonCmdTemplate: method unique_id (line 37) | def unique_id(): method __init__ (line 41) | def __init__(self, cmd_name, params_list): method assemble_cmd (line 63) | def assemble_cmd(self, *args, **kwargs): method assert_valid_cmd (line 79) | def assert_valid_cmd(self, cmd_dict): function labware_pos_str (line 134) | def labware_pos_str(labware, idx): function _make_new_hamilton_serv_handler (line 138) | def _make_new_hamilton_serv_handler(resp_indexing_fn): class HamiltonServerHandler (line 144) | class HamiltonServerHandler(server.BaseHTTPRequestHandler): method set_indexing_fn (line 150) | def set_indexing_fn(cls, fn): method send_str (line 155) | def send_str(cmd_str): method has_queued_cmds (line 164) | def has_queued_cmds(): method pop_response (line 168) | def pop_response(idx): method _set_headers (line 172) | def _set_headers(self): method do_GET (line 177) | def do_GET(self): method do_HEAD (line 183) | def do_HEAD(self): method do_POST (line 186) | def do_POST(self): method log_message (line 197) | def log_message(self, *args, **kwargs): function run_hamilton_process (line 201) | def run_hamilton_process(): class HamiltonResponseStatus (line 231) | class HamiltonResponseStatus(Enum): class HamiltonResponse (line 253) | class HamiltonResponse: method _compute_status (line 304) | def _compute_status(self): method _return_data (line 342) | def _return_data(self, fields): method _moduleID (line 351) | def _moduleID(self): method _parse_return (line 358) | def _parse_return(self): method digest (line 393) | def digest(self, fields=None): method raise_first_exception (line 399) | def raise_first_exception(self): class DispenseResult (line 433) | class DispenseResult: class AspirateResult (line 439) | class AspirateResult: class HamiltonServerThread (line 445) | class HamiltonServerThread(Thread): method __init__ (line 448) | def __init__(self, address, port): method run (line 467) | def run(self): method disconnect (line 492) | def disconnect(self): method has_exited (line 497) | def has_exited(self): class HamiltonInterface (line 501) | class HamiltonInterface: method __init__ (line 527) | def __init__(self, address=None, port=None, simulating = False, debug=... method _open (line 557) | def _open(self): method start (line 578) | def start(self): method stop (line 619) | def stop(self): method __enter__ (line 676) | def __enter__(self): method __exit__ (line 680) | def __exit__(self, exc_type, exc_value, tb): method is_open (line 692) | def is_open(self): method send_command (line 696) | def send_command(self, template=None, block_until_sent=False, *args, *... method wait_on_response (line 738) | def wait_on_response(self, id, timeout=60, raise_first_exception=False... method parse_response (line 783) | def parse_response(self, server_response:str, raise_first_exception:bo... method _block_until_sq_clear (line 804) | def _block_until_sq_clear(self): method set_log_dir (line 810) | def set_log_dir(self, log_dir): method log (line 819) | def log(self, msg, msg_type='info'): method _dump_log_queue (line 823) | def _dump_log_queue(self): method log_and_raise (line 835) | def log_and_raise(self, err): method _channel_var (line 840) | def _channel_var(pos_tuples): method _compound_pos_str (line 849) | def _compound_pos_str(pos_tuples): method _compound_pos_str_96 (line 856) | def _compound_pos_str_96(labware96): method _assert_parallel_nones (line 862) | def _assert_parallel_nones(list1, list2): method initialize (line 868) | def initialize(self, **more_options): method aspirate (line 886) | def aspirate(self, pos_tuples, vols, **more_options) -> AspirateResult: method dispense (line 948) | def dispense(self, pos_tuples, vols, **more_options) -> DispenseResult: method tip_pick_up (line 1007) | def tip_pick_up(self, pos_tuples, **more_options): method tip_eject (line 1030) | def tip_eject(self, pos_tuples=None, **more_options): method tip_pick_up_96 (line 1062) | def tip_pick_up_96(self, tip96, **more_options): method tip_eject_96 (line 1080) | def tip_eject_96(self, tip96=None, **more_options): method aspirate_96 (line 1106) | def aspirate_96(self, plate96, vol, **more_options): method tip_pick_up_mph_columns (line 1135) | def tip_pick_up_mph_columns(self, tip_96, num_columns_from_left, **mor... method dispense_96 (line 1160) | def dispense_96(self, plate96, vol, **more_options): method aspirate_384_quadrant (line 1191) | def aspirate_384_quadrant(self, plate384, quadrant, vol, **more_options): method dispense_384_quadrant (line 1216) | def dispense_384_quadrant(self, plate384, quadrant, vol, **more_options): method set_labware_property (line 1241) | def set_labware_property(self, labware_id, property_name, property_val... method _compound_pos_str_384_quad (line 1262) | def _compound_pos_str_384_quad(plate384, quadrant): method move_plate (line 1272) | def move_plate(self, source_plate, target_plate, CmplxGetDict=None, Cm... method move_by_seq (line 1335) | def move_by_seq(self, source_plate_seq, target_plate_seq, CmplxGetDict... method get_plate_gripper_seq (line 1400) | def get_plate_gripper_seq(self, source_plate_seq, gripHeight, gripWidt... method move_plate_gripper_seq (line 1424) | def move_plate_gripper_seq(self, dest_plate_seq, **more_options): method place_plate_gripper_seq (line 1435) | def place_plate_gripper_seq(self, dest_plate_seq, tool_sequence, **mor... method move_plate_gripper (line 1447) | def move_plate_gripper(self, source_poss, dest_poss, **more_options): method move_sequence (line 1459) | def move_sequence(self, sequence, xDisplacement=0, yDisplacement=0, zD... method load_carrier (line 1475) | def load_carrier(self, carrier_name, **more_options): method unload_carrier (line 1514) | def unload_carrier(self, carrier_name, **more_options): class JSONLogger (line 1525) | class JSONLogger: method __init__ (line 1526) | def __init__(self): method log (line 1530) | def log(self, message): method set_log_dir (line 1533) | def set_log_dir(self, log_dir): FILE: pyhamilton/liquid_class_db.py class DispenseMode (line 12) | class DispenseMode(Enum): method to_code (line 25) | def to_code(self) -> int: method from_code (line 38) | def from_code(code: int) -> 'DispenseMode': method from_string (line 54) | def from_string(cls, identifier: str) -> 'DispenseMode': function _check_access_dialect (line 63) | def _check_access_dialect() -> None: function _build_engine (line 71) | def _build_engine(mdb_path: str): function load_liquid_classes (line 80) | def load_liquid_classes(): function _get_liquid_class_data (line 134) | def _get_liquid_class_data(liquid_class_name: str, columns: Union[str, L... function check_liquid_class_exists (line 169) | def check_liquid_class_exists(liquid_class_name: str) -> bool: function liquid_class_has_parameter (line 192) | def liquid_class_has_parameter(liquid_class_name: str, parameter: str, v... function get_liquid_class_column_details (line 218) | def get_liquid_class_column_details() -> List[Dict[str, Any]]: function get_liquid_class_columns (line 232) | def get_liquid_class_columns() -> List[str]: function get_liquid_class_columns_with_types (line 241) | def get_liquid_class_columns_with_types() -> Dict[str, str]: function print_table_schema (line 250) | def print_table_schema(): function get_all_table_names (line 277) | def get_all_table_names() -> List[str]: function get_liquid_class_dispense_mode (line 290) | def get_liquid_class_dispense_mode(liquid_class_name: str) -> str: function get_liquid_class_volume (line 306) | def get_liquid_class_volume(liquid_class_name: str, nominal=False) -> int: function get_liquid_class_parameter (line 336) | def get_liquid_class_parameter(liquid_class_name: str, parameter_name: s... function create_correction_curve (line 354) | def create_correction_curve(data: Tuple[float, ...]) -> collections.Orde... function unpack_doubles_dynamic (line 367) | def unpack_doubles_dynamic(byte_string: bytes) -> tuple: function export_liquid_classes_to_csv (line 377) | def export_liquid_classes_to_csv(directory="./liquid_class_data", filena... FILE: pyhamilton/liquid_classes.py class AspirateParameter (line 11) | class AspirateParameter(Enum): class DispenseParameter (line 21) | class DispenseParameter(Enum): function copy_liquid_class (line 54) | def copy_liquid_class(ham_int, template_liquid_class: str, new_liquid_cl... function set_aspirate_parameter (line 62) | def set_aspirate_parameter(ham_int, liquid_class: str, parameter: Aspira... function set_dispense_parameter (line 71) | def set_dispense_parameter(ham_int, liquid_class: str, parameter: Dispen... function set_tip_type (line 80) | def set_tip_type(ham_int, liquid_class: str, tip_type: int): function set_dispense_mode (line 87) | def set_dispense_mode(ham_int, liquid_class: str, dispense_mode: int): function set_correction_curve (line 95) | def set_correction_curve(ham_int, liquid_class: str, nominal_array: list... function validate_liquid_class_definitions (line 105) | def validate_liquid_class_definitions(definitions: list): function create_liquid_class_from_dict (line 160) | def create_liquid_class_from_dict( function create_liquid_class_from_json (line 260) | def create_liquid_class_from_json( FILE: pyhamilton/liquid_handling_wrappers.py function labware_pos_str (line 27) | def labware_pos_str(labware, idx): function compound_pos_str (line 30) | def compound_pos_str(pos_tuples): function compound_pos_str_96 (line 34) | def compound_pos_str_96(labware96): function cells_384_to_1536 (line 37) | def cells_384_to_1536(well, idx): function cells_96_to_384 (line 40) | def cells_96_to_384(well, idx): function wells_384_to_96 (line 43) | def wells_384_to_96(x): function get_cells_from_position_384 (line 48) | def get_cells_from_position_384(well): function get_cells_from_position_96 (line 51) | def get_cells_from_position_96(well): function get_384w_quadrant (line 54) | def get_384w_quadrant(quadrant): function compound_pos_str_384_quad (line 57) | def compound_pos_str_384_quad(labware384, quadrant): function initialize (line 61) | def initialize(ham, asynch=False): function hepa_on (line 68) | def hepa_on(ham, speed=15, asynch=False, **more_options): function wash_empty_refill (line 76) | def wash_empty_refill(ham, asynch=False, **more_options): function move_plate (line 85) | def move_plate(ham, source_plate, target_plate, CmplxGetDict=None, Cmplx... function move_by_seq (line 89) | def move_by_seq(ham, source_plate_seq, target_plate_seq, CmplxGetDict=No... function channel_var (line 93) | def channel_var(pos_tuples): function tip_pick_up (line 100) | def tip_pick_up(ham_int, pos_tuples, **more_options): function tip_eject (line 104) | def tip_eject(ham_int, pos_tuples=None, **more_options): function assert_parallel_nones (line 108) | def assert_parallel_nones(list1, list2): class TimerHandle (line 114) | class TimerHandle: method __init__ (line 115) | def __init__(self, seconds): method wait (line 121) | def wait(self, skip=False): function start_timer (line 127) | def start_timer(seconds): function aspirate (line 134) | def aspirate(ham_int, pos_tuples, vols, **more_options): function dispense (line 138) | def dispense(ham_int, pos_tuples, vols, **more_options): function tip_pick_up_96 (line 143) | def tip_pick_up_96(ham_int, tip96, **more_options): function tip_eject_96 (line 147) | def tip_eject_96(ham_int, tip96=None, **more_options): function aspirate_96 (line 151) | def aspirate_96(ham_int, plate96, vol, **more_options): function dispense_96 (line 155) | def dispense_96(ham_int, plate96, vol, **more_options): function aspirate_384_quadrant (line 159) | def aspirate_384_quadrant(ham_int, plate384, quadrant, vol, **more_optio... function dispense_384_quadrant (line 163) | def dispense_384_quadrant(ham_int, plate384, quadrant, vol, **more_optio... function copy_liquid_class (line 189) | def copy_liquid_class(ham_int, template_liquid_class, new_liquid_class): function set_aspirate_parameter (line 193) | def set_aspirate_parameter(ham_int, LiquidClass, Parameter, Value): function set_dispense_parameter (line 198) | def set_dispense_parameter(ham_int, LiquidClass, Parameter, Value): function set_tip_type (line 203) | def set_tip_type(ham_int, LiquidClass, TipType): function set_correction_curve (line 207) | def set_correction_curve(ham_int, LiquidClass, NominalArray, CorrectedAr... function move_sequence (line 211) | def move_sequence(ham_int, sequence, xDisplacement=0, yDisplacement=0, z... function tilt_module_initialize (line 215) | def tilt_module_initialize(ham_int, module_name, comport, trace_level, s... function tilt_module_move (line 222) | def tilt_module_move(ham_int, module_name, angle): function get_plate_gripper_seq (line 226) | def get_plate_gripper_seq(ham, source_plate_seq, gripHeight, gripWidth, ... function move_plate_gripper_seq (line 230) | def move_plate_gripper_seq(ham, dest_plate_seq, **more_options): function place_plate_gripper_seq (line 234) | def place_plate_gripper_seq(ham, dest_plate_seq, tool_sequence, **more_o... function move_plate_gripper (line 238) | def move_plate_gripper(ham, dest_poss, **more_options): function move_plate_using_gripper (line 243) | def move_plate_using_gripper(ham_int: HamiltonInterface, source: str, de... function tracked_tip_pick_up (line 252) | def tracked_tip_pick_up(ham_int: HamiltonInterface, tips_tracker: Tracke... function tracked_tip_eject (line 270) | def tracked_tip_eject(ham_int: HamiltonInterface, tips_tracker: TrackedT... function tracked_tip_pick_up_96 (line 281) | def tracked_tip_pick_up_96(ham_int: HamiltonInterface, tips_tracker: Tra... function tip_support_pickup_columns (line 293) | def tip_support_pickup_columns(ham_int: HamiltonInterface, tips:TrackedT... class StderrLogger (line 301) | class StderrLogger: method __init__ (line 302) | def __init__(self, level): method write (line 306) | def write(self, message): function add_stderr_logging (line 311) | def add_stderr_logging(logger_name=None): function normal_logging (line 315) | def normal_logging(ham_int, method_local_dir): function run_async (line 334) | def run_async(funcs): function run_async_dict (line 347) | def run_async_dict(func): function yield_in_chunks (line 357) | def yield_in_chunks(sliceable, n): function log_banner (line 365) | def log_banner(banner_text): FILE: pyhamilton/ngs/loading/deck_annotation.py function load_image_pil (line 41) | def load_image_pil(path: str): function load_regions_from_json (line 47) | def load_regions_from_json(path: str): function save_regions_to_json (line 70) | def save_regions_to_json(path: str, regions_list: list, image_path_str: ... function draw_all_elements (line 92) | def draw_all_elements(canvas): function get_closest_point_index (line 116) | def get_closest_point_index(mouse_pos, points, thresh=5): function on_mouse_down (line 123) | def on_mouse_down(event): function on_mouse_right_click (line 150) | def on_mouse_right_click(event): function on_mouse_up (line 160) | def on_mouse_up(event): function on_mouse_move (line 165) | def on_mouse_move(event): function on_key_press (line 170) | def on_key_press(event, root): function save_json (line 176) | def save_json(): function update_treeview (line 186) | def update_treeview(): function on_treeview_click (line 198) | def on_treeview_click(event): function edit_name (line 221) | def edit_name(item_id): function set_name (line 237) | def set_name(item_id): function edit_color (line 249) | def edit_color(item_id): function edit_resource_type (line 257) | def edit_resource_type(item_id): function set_resource_type (line 274) | def set_resource_type(item_id): function delete_selected_region (line 286) | def delete_selected_region(): function main (line 296) | def main(): FILE: pyhamilton/ngs/loading/loading_vis.py class Region (line 49) | class Region: method from_dict (line 57) | def from_dict(cls, name: str, d: Dict) -> "Region": class ReagentVessel (line 91) | class ReagentVessel: method __init__ (line 92) | def __init__(self, name: str): method layout_name (line 95) | def layout_name(self): method __init__ (line 721) | def __init__(self, name): method layout_name (line 724) | def layout_name(self): class LoadingVis (line 101) | class LoadingVis: method __init__ (line 111) | def __init__( method _shift_regions (line 237) | def _shift_regions(self, offset: Tuple[int, int]) -> None: method _crop_to_regions (line 248) | def _crop_to_regions(self, margin: int = 12) -> None: method _auto_trim_uniform_borders (line 266) | def _auto_trim_uniform_borders(self, tol: int = 3, max_crop: int = 400... method _apply_alias_rules (line 299) | def _apply_alias_rules(self, region_name) -> str: method _create_vessels_from_data (line 307) | def _create_vessels_from_data(self) -> List[DeckResource]: method _load_reagent_map (line 322) | def _load_reagent_map(self, reagent_data: Union[str, Path, Dict]) -> N... method render (line 380) | def render( method show (line 512) | def show( method save (line 539) | def save(self, img_bgr: np.ndarray, out_path: Union[str, Path]) -> None: method missing_for (line 544) | def missing_for(self, vessels: List[DeckResource]) -> List[str]: method has_tube_rack_data (line 553) | def has_tube_rack_data(self) -> bool: method _cleanup_cv_windows (line 558) | def _cleanup_cv_windows(self, deck_window_name, plate_enabled): method show_dialogues (line 573) | def show_dialogues( method ShowDialogues (line 705) | def ShowDialogues(self, *args, **kwargs): class ReagentVessel (line 720) | class ReagentVessel: method __init__ (line 92) | def __init__(self, name: str): method layout_name (line 95) | def layout_name(self): method __init__ (line 721) | def __init__(self, name): method layout_name (line 724) | def layout_name(self): FILE: pyhamilton/ngs/loading/plate_96_render.py function render_plate_96 (line 27) | def render_plate_96( function _draw_text_simple (line 197) | def _draw_text_simple(canvas: np.ndarray, text: str, pos: Tuple[int, int... FILE: pyhamilton/ngs/loading/rendering_helpers.py function draw_text_pillow (line 28) | def draw_text_pillow(img_bgr: np.ndarray, text: str, org: Tuple[int, int], function _resolve_font_path (line 76) | def _resolve_font_path(pref: Optional[str] = ARIAL_TTF) -> Optional[str]: function _measure_text_pillow (line 84) | def _measure_text_pillow(text: str, font_path: Optional[str], px: Union[... function _rescale_image (line 108) | def _rescale_image(img: np.ndarray, scale: float) -> np.ndarray: function _ascii_label (line 118) | def _ascii_label(s: str) -> str: function _label_from_info_dict (line 125) | def _label_from_info_dict(info: Dict, *, unit_default: str, fallback: st... function _name_to_color_bgr (line 139) | def _name_to_color_bgr(name: str) -> Tuple[int, int, int]: function _norm_key (line 148) | def _norm_key(k: str) -> str: function _ensure_bgr (line 151) | def _ensure_bgr(img: np.ndarray) -> np.ndarray: function _draw_transparent_rect (line 161) | def _draw_transparent_rect( function _draw_transparent_polygon (line 174) | def _draw_transparent_polygon( function _rect_xyxy (line 195) | def _rect_xyxy(p1, p2) -> Tuple[int, int, int, int]: function _rect_overlap_area (line 201) | def _rect_overlap_area(a, b) -> int: function _intersects_any (line 208) | def _intersects_any(r, rects) -> bool: function _fan_offsets (line 211) | def _fan_offsets(max_shift: int, step: int): function _fmt_volume (line 220) | def _fmt_volume(vol: Any, unit_default: str) -> str: function _preferred_side_for_key (line 230) | def _preferred_side_for_key(key_norm: str) -> str: function _best_label_box_outside (line 249) | def _best_label_box_outside( function _get_polygon_min_area_rect_center_and_bbox (line 420) | def _get_polygon_min_area_rect_center_and_bbox(points: List[Tuple[int, i... function _min_distance_to_polygon (line 453) | def _min_distance_to_polygon(rect_xyxy: Tuple[int, int, int, int], poly_... function _find_poly_edge_x (line 499) | def _find_poly_edge_x(poly_points: List[Tuple[int, int]], y_min: int, y_... FILE: pyhamilton/ngs/loading/tube_rack_render.py class TubeRackRenderer (line 41) | class TubeRackRenderer: method render_tube_rack_screen (line 43) | def render_tube_rack_screen( method show_tkinter_modal (line 202) | def show_tkinter_modal( FILE: pyhamilton/ngs/protocol.py class Protocol (line 8) | class Protocol: method __init__ (line 10) | def __init__(self): method prompt_step_selection (line 24) | def prompt_step_selection(self): method reset_tracked_resources (line 334) | def reset_tracked_resources(self): method run_selected_steps (line 356) | def run_selected_steps(self, steps: list, simulation: bool = True, win... method end (line 377) | def end(self): method run_protocol (line 394) | def run_protocol(self, simulating=False, output_file="reagent_summary.... method show_loading_dialogues (line 410) | def show_loading_dialogues(self, parent=None): FILE: pyhamilton/ngs/tadm.py class USBTraceParser (line 13) | class USBTraceParser: method __init__ (line 17) | def __init__(self, debug: bool = False): method parse_file (line 20) | def parse_file(self, filename: str | Path): class LiquidHandlerCommand (line 63) | class LiquidHandlerCommand: class Association (line 77) | class Association: class TraceParser (line 85) | class TraceParser: method __init__ (line 86) | def __init__(self, debug=False): method parse_liquid_handler_trace (line 91) | def parse_liquid_handler_trace(self, content: str): method extract_channel_info (line 152) | def extract_channel_info(self, line: str): method associate_commands (line 173) | def associate_commands(self) -> List[Association]: function extract_clean_command (line 206) | def extract_clean_command(trace_line: str) -> str: function format_channel_info (line 230) | def format_channel_info(lh_cmd: LiquidHandlerCommand) -> str: function generate_json_report (line 241) | def generate_json_report(associations: List, output_file: str): function get_last_usb_data_block (line 307) | def get_last_usb_data_block() -> Optional[dict]: function generate_tadm_report_with_json (line 342) | def generate_tadm_report_with_json(html_output="tadm_report.html", json_... function generate_html_report (line 385) | def generate_html_report(associations: list, output_file: str): function usb_block_plot_base64 (line 485) | def usb_block_plot_base64(usb_block: dict) -> str: function find_most_recent_trace_file (line 502) | def find_most_recent_trace_file(directory: Path, pattern: str) -> Option... function generate_tadm_report (line 520) | def generate_tadm_report(output = "tadm_report.html"): FILE: pyhamilton/ngs/tests/bead_cleanup.py function estimate_tip_consumption (line 103) | def estimate_tip_consumption(num_samples: int): function initialize (line 112) | def initialize(simulation=True): function BeadCleanup (line 124) | def BeadCleanup(num_samples, sample_volume, starting_from=0): FILE: pyhamilton/ngs/tests/hhs.py class HHS (line 29) | class HHS: method __init__ (line 31) | def __init__(self, node, sequence): method layout_name (line 35) | def layout_name(self): method node (line 38) | def node(self): function initialize_hhs (line 49) | def initialize_hhs(simulation): FILE: pyhamilton/ngs/tests/magnetic_bead_cleanup.py function magnetic_bead_cleanup (line 15) | def magnetic_bead_cleanup(): class HHS (line 78) | class HHS: method __init__ (line 80) | def __init__(self, node, layout_name): function initialize_hhs (line 93) | def initialize_hhs(ham_int, simulating): FILE: pyhamilton/ngs/tests/multi_dispense.py function condense_volumes (line 29) | def condense_volumes(lst, max_volume): FILE: pyhamilton/ngs/tests/thermal_cycler/thermal_cycler_with_transport.py function thermal_cycle_with_plate_movement (line 15) | def thermal_cycle_with_plate_movement(ham_int, source_plate_sequence, od... FILE: pyhamilton/odtc/odtc_protocol.py class ThermalCyclerProtocol (line 4) | class ThermalCyclerProtocol: method __init__ (line 8) | def __init__(self, creator="stefan", variant=960000, plate_type=0, flu... method add_step (line 28) | def add_step(self, plateau_temp, plateau_time, slope=1, overshoot_temp... method add_pcr_cycle (line 49) | def add_pcr_cycle(self, denaturation_temp, denaturation_time, annealin... method add_final_extension (line 65) | def add_final_extension(self, temp, time): method set_pid_parameters (line 69) | def set_pid_parameters(self, pid_number, p_heating, p_cooling, i_heati... method set_pre_method (line 79) | def set_pre_method(self, block_temp=25, lid_temp=110): method generate_xml (line 85) | def generate_xml(self, filename="protocol.xml"): FILE: pyhamilton/oemerr.py class HamiltonError (line 3) | class HamiltonError(Exception): class HamiltonDeckResourceError (line 13) | class HamiltonDeckResourceError(HamiltonError): class ResourceUnavailableError (line 19) | class ResourceUnavailableError(HamiltonDeckResourceError): class HamiltonInterfaceError (line 29) | class HamiltonInterfaceError(HamiltonError): class HamiltonTimeoutError (line 35) | class HamiltonTimeoutError(HamiltonInterfaceError): class InvalidErrCodeError (line 41) | class InvalidErrCodeError(HamiltonInterfaceError): class HamiltonReturnParseError (line 47) | class HamiltonReturnParseError(HamiltonInterfaceError): class HamiltonStepError (line 57) | class HamiltonStepError(HamiltonError): class HamiltonSyntaxError (line 63) | class HamiltonSyntaxError(HamiltonStepError): class HardwareError (line 69) | class HardwareError(HamiltonStepError): class NotExecutedError (line 75) | class NotExecutedError(HamiltonStepError): class ClotError (line 81) | class ClotError(HamiltonStepError): class BarcodeError (line 87) | class BarcodeError(HamiltonStepError): class InsufficientLiquidError (line 93) | class InsufficientLiquidError(HamiltonStepError): class TipPresentError (line 99) | class TipPresentError(HamiltonStepError): class NoTipError (line 105) | class NoTipError(HamiltonStepError): class NoCarrierError (line 111) | class NoCarrierError(HamiltonStepError): class ExecutionError (line 117) | class ExecutionError(HamiltonStepError): class PressureLLDError (line 123) | class PressureLLDError(HamiltonStepError): class CalibrateError (line 129) | class CalibrateError(HamiltonStepError): class UnloadError (line 135) | class UnloadError(HamiltonStepError): class PressureLLDError (line 141) | class PressureLLDError(HamiltonStepError): class ParameterError (line 147) | class ParameterError(HamiltonStepError): class CoverOpenError (line 153) | class CoverOpenError(HamiltonStepError): class ImproperAspirationOrDispenseError (line 159) | class ImproperAspirationOrDispenseError(HamiltonStepError): class WashLiquidError (line 165) | class WashLiquidError(HamiltonStepError): class TemperatureError (line 171) | class TemperatureError(HamiltonStepError): class TADMOvershotError (line 177) | class TADMOvershotError(HamiltonStepError): class LabwareError (line 189) | class LabwareError(HamiltonStepError): class LabwareGrippedError (line 195) | class LabwareGrippedError(HamiltonStepError): class LabwareLostError (line 201) | class LabwareLostError(HamiltonStepError): class IllegalTargetPlatePositionError (line 207) | class IllegalTargetPlatePositionError(HamiltonStepError): class IllegalInterventionError (line 213) | class IllegalInterventionError(HamiltonStepError): class TADMUndershotError (line 219) | class TADMUndershotError(HamiltonStepError): class PositionError (line 231) | class PositionError(HamiltonStepError): class UnexpectedcLLDError (line 237) | class UnexpectedcLLDError(HamiltonStepError): class AreaAlreadyOccupiedError (line 243) | class AreaAlreadyOccupiedError(HamiltonStepError): class ImpossibleToOccupyAreaError (line 249) | class ImpossibleToOccupyAreaError(HamiltonStepError): class AntiDropControlError (line 255) | class AntiDropControlError(HamiltonStepError): class DecapperError (line 261) | class DecapperError(HamiltonStepError): class DecapperHandlingError (line 267) | class DecapperHandlingError(HamiltonStepError): class SlaveError (line 273) | class SlaveError(HamiltonStepError): class WrongCarrierError (line 279) | class WrongCarrierError(HamiltonStepError): class NoCarrierBarcodeError (line 285) | class NoCarrierBarcodeError(HamiltonStepError): class LiquidLevelError (line 291) | class LiquidLevelError(HamiltonStepError): class NotDetectedError (line 299) | class NotDetectedError(HamiltonStepError): class NotAspiratedError (line 305) | class NotAspiratedError(HamiltonStepError): class ImproperDispensationError (line 313) | class ImproperDispensationError(HamiltonStepError): class NoLabwareError (line 321) | class NoLabwareError(HamiltonStepError): class UnexpectedLabwareError (line 331) | class UnexpectedLabwareError(HamiltonStepError): class WrongLabwareError (line 337) | class WrongLabwareError(HamiltonStepError): class BarcodeMaskError (line 343) | class BarcodeMaskError(HamiltonStepError): class BarcodeNotUniqueError (line 349) | class BarcodeNotUniqueError(HamiltonStepError): class BarcodeAlreadyUsedError (line 355) | class BarcodeAlreadyUsedError(HamiltonStepError): class KitLotExpiredError (line 361) | class KitLotExpiredError(HamiltonStepError): class DelimiterError (line 367) | class DelimiterError(HamiltonStepError): FILE: pyhamilton/pipetting/pipetting.py function prewet_tips (line 11) | def prewet_tips(ham_int, tip_type, dispense_mode): function condense_volumes (line 14) | def condense_volumes(lst, vol, max_volume): function get_fitting_dispense_positions (line 19) | def get_fitting_dispense_positions(asp_vols, disp_vols, disp_pos): function build_dispense_batches (line 34) | def build_dispense_batches(aspiration_volumes, all_dispense_positions, a... function distribute_positions_to_channel_ops (line 70) | def distribute_positions_to_channel_ops(positions_to_distribute, referen... function print_transfers (line 111) | def print_transfers(source_wells, destination_wells, vols): function batch_columnwise_positions (line 125) | def batch_columnwise_positions(positions): function split_volumes_by_max_volume (line 131) | def split_volumes_by_max_volume(volumes, max_volume): function set_parallel_nones (line 148) | def set_parallel_nones(positions, reference): function pip_transfer (line 159) | def pip_transfer(ham_int: HamiltonInterface, tips: List[Tuple[DeckResour... function pip_pool (line 233) | def pip_pool(ham_int: HamiltonInterface, tips: List[Tuple[DeckResource, ... function shear_plate_96 (line 306) | def shear_plate_96(ham_int: HamiltonInterface, tips:List[Tuple[DeckResou... function mix_plate (line 325) | def mix_plate(ham_int: HamiltonInterface, tips:List[Tuple[DeckResource, ... function multi_dispense (line 346) | def multi_dispense(ham_int: HamiltonInterface, tips:List[Tuple[DeckResou... function multi_aspirate (line 415) | def multi_aspirate(ham_int: HamiltonInterface, tips:List[Tuple[DeckResou... function mph_tip_pickup_support (line 463) | def mph_tip_pickup_support(ham_int: HamiltonInterface, tips: TrackedTips... function transfer_96 (line 474) | def transfer_96(ham_int: HamiltonInterface, tips:List[Tuple[DeckResource... function double_aspirate_supernatant_96 (line 501) | def double_aspirate_supernatant_96(ham_int: HamiltonInterface, tips: Tra... function ethanol_wash (line 535) | def ethanol_wash(ham_int: HamiltonInterface, tips: TrackedTips, tip_supp... function pip_mix (line 558) | def pip_mix(ham_int: HamiltonInterface, tips: TrackedTips, positions_to_... function aspirate_all_for_stamp (line 594) | def aspirate_all_for_stamp(ham_int, tips, source_plate, volume, liquid_c... function aspirate_all (line 606) | def aspirate_all(ham_int, tips, source_plate, volume, liquid_class, FILE: pyhamilton/pipetting/trough_manager.py function check_volumes_in_troughs (line 4) | def check_volumes_in_troughs(ham_int: HamiltonInterface, aspiration_posi... function select_trough (line 19) | def select_trough(ham_int: HamiltonInterface, aspiration_positions, volu... function prompt_insufficient_volume (line 26) | def prompt_insufficient_volume(ham_int, troughs, volume): function accumulate_residual_volume (line 29) | def accumulate_residual_volume(ham_int, troughs, volumes): function manage_multiple_troughs (line 38) | def manage_multiple_troughs(ham_int, aspiration_positions, volume, liqui... FILE: pyhamilton/resources/deckresource.py class ResourceType (line 13) | class ResourceType: method __init__ (line 48) | def __init__(self, resource_class, *args): class LayoutManager (line 60) | class LayoutManager: method get_manager (line 77) | def get_manager(checksum): method initial_printable (line 88) | def initial_printable(line, start=0): method layline_objid (line 97) | def layline_objid(line): method layline_first_field (line 111) | def layline_first_field(line): method field_starts_with (line 115) | def field_starts_with(field, prefix): method name_from_line (line 122) | def name_from_line(line): method line_has_prefixed_name (line 129) | def line_has_prefixed_name(prefix): method _read_layfile_lines (line 135) | def _read_layfile_lines(layfile_path): method _layfile_checksum (line 153) | def _layfile_checksum(layfile_path): method layfiles_equal (line 158) | def layfiles_equal(lay_path_1, lay_path_2): method __init__ (line 161) | def __init__(self, layfile_path, install=True): method assign_unused_resource (line 171) | def assign_unused_resource(self, restype, order_key=None, reverse=Fals... method verify_position_ids (line 218) | def verify_position_ids(self, resource): method _find_resource_line (line 279) | def _find_resource_line(self, resource_name): method _extract_position_ids_from_line (line 315) | def _extract_position_ids_from_line(line, obj_id): class ResourceIterItem (line 340) | class ResourceIterItem: method __init__ (line 342) | def __init__(self, resource, index): class Tip (line 348) | class Tip(ResourceIterItem): class Vessel (line 352) | class Vessel(ResourceIterItem): method record_removal (line 357) | def record_removal(self, ml, dest=None): method record_addition (line 362) | def record_addition(self, ml, source): method current_volume (line 367) | def current_volume(self): class DeckResource (line 371) | class DeckResource: class align (line 373) | class align: class types (line 377) | class types: method __init__ (line 380) | def __init__(self, layout_name): method _alignment_delta (line 383) | def _alignment_delta(self, int_start, int_end): method _assert_idx_in_range (line 386) | def _assert_idx_in_range(self, idx_or_vessel): method layout_name (line 394) | def layout_name(self): method position_id (line 402) | def position_id(self, idx): method alignment_delta (line 423) | def alignment_delta(self, start, end): method __iter__ (line 439) | def __iter__(self): method assign_label (line 443) | def assign_label(self, label: str): class Standard96 (line 450) | class Standard96(DeckResource): method well_coords (line 454) | def well_coords(self, idx): method _alignment_delta (line 458) | def _alignment_delta(self, start, end): method position_id (line 465) | def position_id(self, idx): class Tip96 (line 470) | class Tip96(Standard96): method __init__ (line 472) | def __init__(self, layout_name): method position_id (line 478) | def position_id(self, idx): # tips use 1-indexed int ids descending co... function resource_list_with_prefix (line 484) | def resource_list_with_prefix(layout_manager:LayoutManager, prefix:str, ... class BulkReagentPlate (line 495) | class BulkReagentPlate(Standard96): method __init__ (line 497) | def __init__(self, layout_name): method position_id (line 503) | def position_id(self, idx): class Waste96 (line 508) | class Waste96(BulkReagentPlate): method __init__ (line 510) | def __init__(self, layout_name): class Plate96 (line 513) | class Plate96(Standard96): method __init__ (line 515) | def __init__(self, layout_name): class Plate24 (line 522) | class Plate24(DeckResource): method __init__ (line 524) | def __init__(self, layout_name): method well_coords (line 530) | def well_coords(self, idx): method _alignment_delta (line 534) | def _alignment_delta(self, start, end): method position_id (line 540) | def position_id(self, idx): class Plate12 (line 545) | class Plate12(DeckResource): method __init__ (line 547) | def __init__(self, layout_name): method well_coords (line 553) | def well_coords(self, idx): method _alignment_delta (line 557) | def _alignment_delta(self, start, end): method position_id (line 563) | def position_id(self, idx): class Plate6 (line 567) | class Plate6(DeckResource): method __init__ (line 569) | def __init__(self, layout_name): method well_coords (line 575) | def well_coords(self, idx): method _alignment_delta (line 579) | def _alignment_delta(self, start, end): method position_id (line 585) | def position_id(self, idx): class Plate384 (line 590) | class Plate384(DeckResource): method __init__ (line 592) | def __init__(self, layout_name): method well_coords (line 598) | def well_coords(self, idx): method _alignment_delta (line 602) | def _alignment_delta(self, start, end): method position_id (line 608) | def position_id(self, idx): class Plate1536 (line 612) | class Plate1536(DeckResource): method __init__ (line 614) | def __init__(self, layout_name): method well_coords (line 620) | def well_coords(self, idx): method _alignment_delta (line 624) | def _alignment_delta(self, start, end): method position_id (line 630) | def position_id(self, idx): class Reservoir60mL (line 635) | class Reservoir60mL(DeckResource): method __init__ (line 637) | def __init__(self, layout_name): method well_coords (line 643) | def well_coords(self, idx): method _alignment_delta (line 647) | def _alignment_delta(self, start, end): method position_id (line 653) | def position_id(self, idx): class LVKBalanceVial (line 656) | class LVKBalanceVial(DeckResource): method __init__ (line 658) | def __init__(self, layout_name): method well_coords (line 664) | def well_coords(self, idx): method _alignment_delta (line 668) | def _alignment_delta(self, start, end): method position_id (line 674) | def position_id(self, idx): class EppiCarrier32 (line 677) | class EppiCarrier32(DeckResource): method __init__ (line 679) | def __init__(self, layout_name): method well_coords (line 686) | def well_coords(self, idx): method _alignment_delta (line 690) | def _alignment_delta(self, start, end): method position_id (line 696) | def position_id(self, idx): class FalconCarrier24 (line 700) | class FalconCarrier24(DeckResource): method __init__ (line 702) | def __init__(self, layout_name): method well_coords (line 709) | def well_coords(self, idx): method _alignment_delta (line 713) | def _alignment_delta(self, start, end): method position_id (line 719) | def position_id(self, idx): class Lid (line 722) | class Lid(DeckResource): method __init__ (line 724) | def __init__(self, layout_name): function layout_item (line 727) | def layout_item(lmgr, item_class, item_name): FILE: pyhamilton/resources/enums.py class TipType (line 5) | class TipType(IntEnum): method volume (line 39) | def volume(self) -> int: method from_volume (line 74) | def from_volume(cls, volume: int) -> "TipType": method has_filter (line 88) | def has_filter(self) -> bool: method is_needle (line 101) | def is_needle(self) -> bool: method is_384_compatible (line 114) | def is_384_compatible(self) -> bool: FILE: pyhamilton/resources/managed_resources.py function _get_conn (line 31) | def _get_conn(): function _ensure_table (line 41) | def _ensure_table() -> None: class TrackedTips (line 56) | class TrackedTips: method __init__ (line 65) | def __init__(self, method from_prefix (line 98) | def from_prefix(cls, method mark_occupied (line 117) | def mark_occupied(self, index: int) -> None: method mark_unoccupied (line 122) | def mark_unoccupied(self, index: int) -> None: method is_occupied (line 127) | def is_occupied(self, index: int) -> bool: method count_remaining (line 130) | def count_remaining(self) -> int: method total_tips (line 133) | def total_tips(self) -> int: method fetch_next (line 136) | def fetch_next(self, n: int) -> List[Tuple[DeckResource, int]]: method fetch_rack (line 166) | def fetch_rack(self) -> Optional[DeckResource]: method fetch_rack_with_min_columns (line 182) | def fetch_rack_with_min_columns(self, min_columns: int) -> Optional[Tu... method reset_all (line 228) | def reset_all(self) -> None: method replace_tips (line 248) | def replace_tips(self, positions: List[Tuple[DeckResource, int]]) -> N... method fill_rack_from_occupancy_map (line 286) | def fill_rack_from_occupancy_map(self, rack: DeckResource, occupancy_m... method _hydrate_from_db (line 352) | def _hydrate_from_db(self) -> bool: method _update_row (line 375) | def _update_row(self, position_idx: int, occupied: bool) -> None: method _flush_entire_state (line 386) | def _flush_entire_state(self) -> None: function _get_stacked_conn (line 401) | def _get_stacked_conn(): function _ensure_stacked_table (line 408) | def _ensure_stacked_table() -> None: class StackedResources (line 426) | class StackedResources: method __init__ (line 432) | def __init__(self, method from_prefix (line 462) | def from_prefix(cls, method get_stacked (line 477) | def get_stacked(self) -> List[str]: method count (line 481) | def count(self) -> int: method fetch_next (line 485) | def fetch_next(self) -> str: method put_back (line 499) | def put_back(self) -> str: method reset_all (line 521) | def reset_all(self) -> None: method _hydrate_from_db (line 548) | def _hydrate_from_db(self) -> None: method _update_row (line 565) | def _update_row(self, rname: str, *, available: bool) -> None: method _flush_entire_state (line 574) | def _flush_entire_state(self, conn) -> None: class TipSupportTracker (line 582) | class TipSupportTracker: method __init__ (line 587) | def __init__(self, resource): method _update_rack_in_tracker (line 594) | def _update_rack_in_tracker(self, rack, tip_occupancies, tip_tracker, ... method remove_rack (line 601) | def remove_rack(self, rack=None): method has_available_tips (line 607) | def has_available_tips(self, num_tips: int) -> bool: method _rightmost_indices_for_n_columns (line 610) | def _rightmost_indices_for_n_columns(self, n: int): method fetch_n_columns (line 620) | def fetch_n_columns(self, ham_int: HamiltonInterface, n: int, tip_trac... method tip_support_add_rack (line 650) | def tip_support_add_rack(self, ham_int: HamiltonInterface, tracked_tip... FILE: pyhamilton/templates/ai_template/preprompt.py function complete (line 80) | def complete(prompt): FILE: pyhamilton/templates/ai_template/robot_method.py function assist (line 18) | def assist(prompt, safe = False): FILE: pyhamilton/templates/ai_template/voice.py function voice_to_text (line 11) | def voice_to_text(): FILE: pyhamilton/transport/transport.py class GrippedResource (line 13) | class GrippedResource(str, Enum): method __str__ (line 21) | def __str__(self) -> str: # pragma: no‑cover – makes reprs nicer when... method parse (line 25) | def parse(cls, s: Union[str, "GrippedResource"]) -> "GrippedResource": class GripDirection (line 36) | class GripDirection(IntEnum): class GripperParams (line 47) | class GripperParams: method _complex_dict (line 66) | def _complex_dict(self, orientation: int) -> Dict[str, float]: method as_iswap_call (line 76) | def as_iswap_call(self) -> Tuple[int, Dict[str, float], Dict[str, floa... function get_core_gripper_params (line 149) | def get_core_gripper_params( function get_gripper_params (line 172) | def get_gripper_params( function transport_resource (line 205) | def transport_resource( FILE: tests/interface_tests.py class Test_HamiltonInterface (line 217) | class Test_HamiltonInterface: method test_parse_response_status_when_ (line 274) | def test_parse_response_status_when_( method test_parse_response_return_data_when_ (line 346) | def test_parse_response_return_data_when_( method test_parse_response_parsed_result_when_ (line 390) | def test_parse_response_parsed_result_when_( method test_parse_response_raise_exception_when_ (line 440) | def test_parse_response_raise_exception_when_(