diff --git a/unilabos/devices/liquid_handling/prcxi/prcxi.py b/unilabos/devices/liquid_handling/prcxi/prcxi.py index 7c5442a..31d18c1 100644 --- a/unilabos/devices/liquid_handling/prcxi/prcxi.py +++ b/unilabos/devices/liquid_handling/prcxi/prcxi.py @@ -405,19 +405,16 @@ class PRCXI9300TubeRack(TubeRack): if items_to_pass is not None: super().__init__(name, size_x, size_y, size_z, ordered_items=items_to_pass, - category=category, model=model, **kwargs) elif ordering_param is not None: # 传递 ordering 参数,让 TubeRack 自己创建 Tube 对象 super().__init__(name, size_x, size_y, size_z, ordering=ordering_param, - category=category, model=model, **kwargs) else: super().__init__(name, size_x, size_y, size_z, - category=category, model=model, **kwargs) @@ -1276,7 +1273,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1 or self.num_channels == 2: + if self.num_channels == 1: hole_row = tipspot_index % 8 + 1 assert mix_time > 0 @@ -1333,7 +1330,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1 or self.num_channels == 2: + if self.num_channels == 1: hole_row = tipspot_index % 8 + 1 step = self.api_client.Imbibing( @@ -1391,7 +1388,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1 or self.num_channels == 2: + if self.num_channels == 1: hole_row = tipspot_index % 8 + 1 step = self.api_client.Tapping( diff --git a/unilabos/resources/graphio.py b/unilabos/resources/graphio.py index a00227f..faf0482 100644 --- a/unilabos/resources/graphio.py +++ b/unilabos/resources/graphio.py @@ -592,7 +592,6 @@ def resource_plr_to_ulab(resource_plr: "ResourcePLR", parent_name: str = None, w "trash": "trash", "deck": "deck", "tip_rack": "tip_rack", - "tube_rack": "tube_rack", "warehouse": "warehouse", "container": "container", "tube": "tube", diff --git a/unilabos/resources/resource_tracker.py b/unilabos/resources/resource_tracker.py index 5d69ef6..610ba3d 100644 --- a/unilabos/resources/resource_tracker.py +++ b/unilabos/resources/resource_tracker.py @@ -333,7 +333,6 @@ class ResourceTreeSet(object): "well": "well", "deck": "deck", "tip_rack": "tip_rack", - "tube_rack": "tube_rack", "tip_spot": "tip_spot", "tube": "tube", "bottle_carrier": "bottle_carrier", @@ -380,36 +379,33 @@ class ResourceTreeSet(object): } # 先构建当前节点的字典(不包含children) - # 获取category:优先从顶层获取,如果不存在则从config中获取 - category = d.get("category") or d.get("config", {}).get("category", "") - config_dict = { - k: v - for k, v in d.items() - if k - not in [ - "name", - "children", - "parent_name", - "location", - "rotation", - "size_x", - "size_y", - "size_z", - "cross_section_type", - "bottom_type", - ] - } r_dict = { "id": d["name"], "uuid": current_uuid, "name": d["name"], "parent": parent_resource, # 直接传入 ResourceDict 对象 "parent_uuid": parent_uuid, # 使用 parent_uuid 而不是 parent 对象 - "type": replace_plr_type(category), + "type": replace_plr_type(d.get("category", "")), "class": d.get("class", ""), "position": pos, "pose": pos, - "config": config_dict, + "config": { + k: v + for k, v in d.items() + if k + not in [ + "name", + "children", + "parent_name", + "location", + "rotation", + "size_x", + "size_y", + "size_z", + "cross_section_type", + "bottom_type", + ] + }, "data": states[d["name"]], "extra": extra, } diff --git a/unilabos/test/experiments/prcxi_9320_with_res_test.json b/unilabos/test/experiments/prcxi_9320_with_res_test.json index 8e888ce..43e7e1b 100644 --- a/unilabos/test/experiments/prcxi_9320_with_res_test.json +++ b/unilabos/test/experiments/prcxi_9320_with_res_test.json @@ -6719,9 +6719,9 @@ }, "data": { "Material": { - "uuid": "73bb9b10bc394978b70e027bf45ce2d3", - "Code": "ZX-023-0.2", - "Name": "0.2ml PCR板" + "uuid": "b05b3b2aafd94ec38ea0cd3215ecea8f", + "Code": "ZX-78-096", + "Name": "细菌培养皿" } } }, @@ -16495,9 +16495,11 @@ }, "data": { "Material": { - "uuid": "73bb9b10bc394978b70e027bf45ce2d3", - "Code": "ZX-023-0.2", - "Name": "0.2ml PCR板" + "uuid": "e146697c395e4eabb3d6b74f0dd6aaf7", + "Code": "1", + "SupplyType": 1, + "Name": "ep适配器", + "SummaryName": "ep适配器" } } },