mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-18 13:31:20 +00:00
Merge branch '37-biomek-i5i7' of https://github.com/dptech-corp/Uni-Lab-OS into 37-biomek-i5i7
This commit is contained in:
@@ -290,20 +290,29 @@ class LiquidHandlerBiomek(LiquidHandlerAbstract):
|
|||||||
处理Biomek的液体转移操作。
|
处理Biomek的液体转移操作。
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
items = []
|
||||||
|
|
||||||
asp_params = self.aspirate_techniques.get(aspirate_techniques, {})
|
asp_params = self.aspirate_techniques.get(aspirate_techniques, {})
|
||||||
dis_params = self.dispense_techniques.get(dispense_techniques, {})
|
dis_params = self.dispense_techniques.get(dispense_techniques, {})
|
||||||
|
|
||||||
|
asp_params['Position'] = source
|
||||||
|
dis_params['Position'] = target
|
||||||
|
asp_params['Volume'] = str(volume)
|
||||||
|
dis_params['Volume'] = str(volume)
|
||||||
|
|
||||||
|
items.append(asp_params)
|
||||||
|
items.append(dis_params)
|
||||||
|
|
||||||
transfer_params = {
|
transfer_params = {
|
||||||
"Span8": False,
|
"Span8": False,
|
||||||
"Pod": "Pod1",
|
"Pod": "Pod1",
|
||||||
"items": {},
|
"items": [],
|
||||||
"Wash": False,
|
"Wash": False,
|
||||||
"Dynamic?": True,
|
"Dynamic?": True,
|
||||||
"AutoSelectActiveWashTechnique": False,
|
"AutoSelectActiveWashTechnique": False,
|
||||||
"ActiveWashTechnique": "",
|
"ActiveWashTechnique": "",
|
||||||
"ChangeTipsBetweenDests": False,
|
"ChangeTipsBetweenDests": True,
|
||||||
"ChangeTipsBetweenSources": True,
|
"ChangeTipsBetweenSources": False,
|
||||||
"DefaultCaption": "",
|
"DefaultCaption": "",
|
||||||
"UseExpression": False,
|
"UseExpression": False,
|
||||||
"LeaveTipsOn": False,
|
"LeaveTipsOn": False,
|
||||||
@@ -320,27 +329,20 @@ class LiquidHandlerBiomek(LiquidHandlerAbstract):
|
|||||||
"SplitVolume": False,
|
"SplitVolume": False,
|
||||||
"SplitVolumeCleaning": False,
|
"SplitVolumeCleaning": False,
|
||||||
"Stop": "Destinations",
|
"Stop": "Destinations",
|
||||||
"TipLocation": "BC1025F",
|
"TipLocation": "BC230",
|
||||||
"UseCurrentTips": False,
|
"UseCurrentTips": False,
|
||||||
"UseDisposableTips": True,
|
"UseDisposableTips": False,
|
||||||
"UseFixedTips": False,
|
"UseFixedTips": False,
|
||||||
"UseJIT": True,
|
"UseJIT": True,
|
||||||
"UseMandrelSelection": True,
|
"UseMandrelSelection": True,
|
||||||
"UseProbes": [True, True, True, True, True, True, True, True],
|
"UseProbes": [True, True, True, True, True, True, True, True],
|
||||||
"WashCycles": "1",
|
"WashCycles": "4",
|
||||||
"WashVolume": "110%",
|
"WashVolume": "110%",
|
||||||
"Wizard": False
|
"Wizard": False
|
||||||
}
|
}
|
||||||
|
|
||||||
items: dict = {}
|
|
||||||
items["Source"] = source
|
|
||||||
items["Destination"] = target
|
|
||||||
items["Volume"] = volume
|
|
||||||
transfer_params["items"] = items
|
transfer_params["items"] = items
|
||||||
transfer_params["Solvent"] = asp_params['Solvent']
|
transfer_params["Solvent"] = 'Water'
|
||||||
transfer_params["TipLocation"] = tip_rack
|
transfer_params["TipLocation"] = tip_rack
|
||||||
transfer_params.update(asp_params)
|
|
||||||
transfer_params.update(dis_params)
|
|
||||||
self.temp_protocol["steps"].append(transfer_params)
|
self.temp_protocol["steps"].append(transfer_params)
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -612,20 +614,31 @@ if __name__ == "__main__":
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
labware_with_liquid = '''
|
|
||||||
[ {
|
labware_with_liquid = '''
|
||||||
"id": "stock plate on P1",
|
[ {
|
||||||
"parent": "deck",
|
"id": "stock plate on P1",
|
||||||
"slot_on_deck": "P1",
|
"parent": "deck",
|
||||||
"class_name": "nest_12_reservoir_15ml",
|
"slot_on_deck": "P1",
|
||||||
"liquid_type": [
|
"class_name": "nest_12_reservoir_15ml",
|
||||||
"master_mix"
|
"liquid_type": [
|
||||||
],
|
"master_mix"
|
||||||
"liquid_volume": [10000],
|
],
|
||||||
"liquid_input_wells": [
|
"liquid_volume": [10000],
|
||||||
"A1"
|
"liquid_input_wells": [
|
||||||
]
|
"A1"
|
||||||
},
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Tip Rack BC230 TL2",
|
||||||
|
"parent": "deck",
|
||||||
|
"slot_on_deck": "TL2",
|
||||||
|
"class_name": "BC230",
|
||||||
|
"liquid_type": [],
|
||||||
|
"liquid_volume": [],
|
||||||
|
"liquid_input_wells": [
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "Tip Rack BC230 TL2",
|
"id": "Tip Rack BC230 TL2",
|
||||||
"parent": "deck",
|
"parent": "deck",
|
||||||
@@ -813,30 +826,30 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
handler = LiquidHandlerBiomek()
|
|
||||||
handler.temp_protocol = {
|
|
||||||
"meta": {},
|
|
||||||
"labwares": [],
|
|
||||||
"steps": []
|
|
||||||
}
|
|
||||||
|
|
||||||
input_steps = json.loads(steps_info)
|
|
||||||
labwares = json.loads(labware_with_liquid)
|
|
||||||
|
|
||||||
for step in input_steps['steps']:
|
handler = LiquidHandlerBiomek()
|
||||||
if step['operation'] != 'transfer':
|
|
||||||
continue
|
handler.temp_protocol = {
|
||||||
parameters = step['parameters']
|
"meta": {},
|
||||||
tip_rack=parameters['tip_rack']
|
"labwares": [],
|
||||||
# 找到labwares中与tip_rack匹配的项的id
|
"steps": []
|
||||||
tip_rack_id = [lw['id'] for lw in labwares if lw['class_name'] == tip_rack][0]
|
}
|
||||||
|
|
||||||
|
input_steps = json.loads(steps_info)
|
||||||
|
labwares = json.loads(labware_with_liquid)
|
||||||
|
|
||||||
|
for step in input_steps['steps']:
|
||||||
|
if step['operation'] != 'transfer':
|
||||||
|
continue
|
||||||
|
parameters = step['parameters']
|
||||||
|
|
||||||
|
handler.transfer_biomek(source=parameters['source'],
|
||||||
|
target=parameters['target'],
|
||||||
|
volume=parameters['volume'],
|
||||||
|
tip_rack=parameters['tip_rack'],
|
||||||
|
aspirate_techniques='MC P300 high',
|
||||||
|
dispense_techniques='MC P300 high'
|
||||||
|
)
|
||||||
|
|
||||||
handler.transfer_biomek(source=parameters['source'],
|
|
||||||
target=parameters['target'],
|
|
||||||
volume=parameters['volume'],
|
|
||||||
tip_rack=tip_rack_id,
|
|
||||||
aspirate_techniques='MC P300 high',
|
|
||||||
dispense_techniques='MC P300 high'
|
|
||||||
)
|
|
||||||
print(json.dumps(handler.temp_protocol['steps'],indent=4, ensure_ascii=False))
|
|
||||||
|
|
||||||
|
|||||||
642
unilabos/devices/liquid_handling/biomek.txt
Normal file
642
unilabos/devices/liquid_handling/biomek.txt
Normal file
File diff suppressed because one or more lines are too long
2697
unilabos/devices/liquid_handling/biomek_temporary_protocol.json
Normal file
2697
unilabos/devices/liquid_handling/biomek_temporary_protocol.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user