SuperAPI AI 工具集

pylabrobot

智能体与模型

查看项目

更新于 10-16 04:03

技能介绍

PyLabRobot 是一个硬件无关的纯 Python 软件开发工具包(SDK),面向自动化与自主实验室场景。通过统一的 Python 接口,可以控制移液机器人、酶标仪、泵、加热摇床、培养箱、离心机及其他实验室自动化设备,并支持跨平台运行(Windows、macOS、Linux)。

一、适用场景

在以下情况可使用本技能:

  • 编程控制移液机器人(Hamilton STAR/STARlet、Opentrons OT-2、Tecan EVO);
  • 自动化涉及移液、样品制备或分析测量的实验室工作流程;
  • 管理台面布局与实验室资源(孔板、吸头、容器、储液槽);
  • 集成多种实验设备(移液器、酶标仪、加热摇床、泵);
  • 创建带状态管理的可复现实验方案;
  • 在真实硬件上运行前对方案进行仿真;
  • 使用 BMG CLARIOstar 或其他受支持的酶标仪读取孔板;
  • 控制温度、振荡、离心或其他物料处理操作;
  • 在 Python 中进行实验室自动化相关工作。

二、主要能力

PyLabRobot 通过六大能力领域提供实验室自动化支持,各领域在 references/ 目录中有详细说明:

  1. 移液控制(references/liquid-handling.md) 控制移液机器人进行吸液、分液和液体转移。关键操作包括:基础操作(在孔之间吸液、分液、转移液体);吸头管理(自动拾取、丢弃并跟踪移液吸头);高级技术(多通道移液、梯度稀释、孔板复制);体积跟踪(自动跟踪孔内液体体积);硬件支持(Hamilton STAR/STARlet、Opentrons OT-2、Tecan EVO 等)。

  2. 资源管理(references/resources.md) 以层级化系统管理实验室资源:资源类型(孔板、吸头架、储液槽、试管、载架及自定义实验器具);台面布局(使用坐标系将资源分配到台面位置);状态管理(跟踪吸头有无、液体体积及资源状态);序列化(从 JSON 文件保存与加载台面布局和状态);资源发现(通过直观 API 访问孔、吸头与容器)。

  3. 硬件后端(references/hardware-backends.md) 通过后端抽象连接多种实验室设备:移液器(Hamilton STAR 完整支持、Opentrons OT-2、Tecan EVO);仿真(ChatterboxBackend,无需硬件即可测试方案);平台支持(Windows、macOS、Linux 及 Raspberry Pi);后端切换(更换后端即可更换机器人,无需重写方案)。

  4. 分析设备(references/analytical-equipment.md) 集成酶标仪与分析仪器:酶标仪(BMG CLARIOstar,用于吸光度、发光、荧光检测);天平(Mettler Toledo 集成,用于质量测量);集成模式(将移液器与分析设备结合);自动化流程(自动在设备之间移动孔板)。

  5. 物料处理(references/material-handling.md) 控制环境与物料处理设备:加热摇床(Hamilton HeaterShaker、Inheco ThermoShake);培养箱(Inheco 与 Thermo Fisher 培养箱,支持温度控制);离心机(Agilent VSpin,支持吊篮定位与离心控制);泵(Cole Parmer Masterflex,用于流体泵送操作);温度控制(在方案执行期间设定并监控温度)。

  6. 可视化与仿真(references/visualization.md) 可视化与仿真实验室方案:浏览器可视化器(实时 3D 展示台面状态);仿真模式(无需物理硬件即可测试方案);状态跟踪(可视化监控吸头有无与液体体积);台面编辑器(用于设计台面布局的图形化工具);方案验证(在硬件上运行前验证方案)。

三、使用方式

安装 PyLabRobot:

uv pip install pylabrobot

基础移液设置示例: from pylabrobot.liquid_handling import LiquidHandler from pylabrobot.liquid_handling.backends import STAR from pylabrobot.resources import STARLetDeck

lh = LiquidHandler(backend=STAR(), deck=STARLetDeck()) await lh.setup()

await lh.pick_up_tips(tip_rack["A1:H1"]) await lh.aspirate(plate["A1"], vols=100) await lh.dispense(plate["A2"], vols=100) await lh.drop_tips()

参考文件的使用:本技能将详细信息组织在多个参考文件中,在需要编写移液方案、管理吸头与转移(liquid-handling);定义台面布局、管理孔板/吸头与自定义器具(resources);连接特定机器人、切换平台(hardware-backends);集成酶标仪、天平或分析设备(analytical-equipment);使用加热摇床、培养箱、离心机、泵(material-handling);仿真方案、可视化台面状态(visualization)时,加载对应参考。所有参考文件位于 references/ 目录,包含完整示例、API 使用模式与最佳实践。

四、最佳实践

创建 PyLabRobot 实验室自动化方案时:先在仿真中测试(使用 ChatterboxBackend 与可视化器,在真实硬件上运行前先测试方案);启用跟踪(开启吸头跟踪与体积跟踪,以获得准确的状态管理);资源命名(为所有资源使用清晰、描述性的名称);状态序列化(将台面布局与状态保存为 JSON,以保证可复现性);错误处理(为硬件操作实现正确的异步错误处理);温度控制(尽早设定温度,因为加热/冷却需要时间);模块化方案(将复杂工作流拆分为可复用函数);文档(参考官方文档 https://docs.pylabrobot.org 获取最新功能)。

五、常见工作流

液体转移方案: lh = LiquidHandler(backend=STAR(), deck=STARLetDeck()) await lh.setup()

tip_rack = TIP_CAR_480_A00(name="tip_rack") source_plate = Cos_96_DW_1mL(name="source") dest_plate = Cos_96_DW_1mL(name="dest")

lh.deck.assign_child_resource(tip_rack, rails=1) lh.deck.assign_child_resource(source_plate, rails=10) lh.deck.assign_child_resource(dest_plate, rails=15)

await lh.pick_up_tips(tip_rack["A1:H1"]) await lh.transfer(source_plate["A1:H12"], dest_plate["A1:H12"], vols=100) await lh.drop_tips()

酶标仪读取工作流: from pylabrobot.plate_reading import PlateReader from pylabrobot.plate_reading.clario_star_backend import CLARIOstarBackend

pr = PlateReader(name="CLARIOstar", backend=CLARIOstarBackend()) await pr.setup()

await pr.set_temperature(37) await pr.open() await pr.close() data = await pr.read_absorbance(wavelength=450)

六、更多资源

官方文档:https://docs.pylabrobot.org GitHub 仓库:https://github.com/PyLabRobot/pylabrobot 社区论坛:https://discuss.pylabrobot.org PyPI 包:https://pypi.org/project/PyLabRobot/

七、限制与说明

资料中未提供该工具的收费、价格与授权方式信息;未提供除上述硬件型号外的其他设备支持情况;未提供性能指标或实验效果数据。部分操作(如孔板加载)在示例中标注为需手动或以机器人方式完成,具体实现方式暂未提供。