什么是 Lunatic 自动化整合?从单机到机械臂工作站
系列指南 · 第 1 篇
什么是 Lunatic 自动化整合
Lunatic 有两种用法。一种是当一台普通的台式仪器用,USB 线连一台电脑,在 Lunatic & Stunner Client 软件里手动操作。这种叫单机模式(stand-alone)。另一种是接到液体工作站、机械臂或 LIMS 上,让它们的脚本远程调用。这种叫集成模式(integrated)。
先认识几个名词
- Lunatic & Stunner Client — Lunatic 和 Stunner 共用的 PC 端控制软件。手动操作、首次配置、校准都在这里完成。
- API — 一组让外部脚本调用 Lunatic 的函数接口。必须先激活 License 才能用。
- DropQuant_Remote.dll — API 的 Windows 动态链接库。脚本加载这个 DLL,创建 DropQuant 对象,然后调用各条命令。
- .bin 文件 — Lunatic 每跑完一板输出的原始数据文件。用 Lunatic & Stunner Analysis 软件打开。
- Lunatic Plate — Lunatic 的微流控耗材。一块板 6 条 strip,每条 16 个加样孔,共 96 孔。另有 High Lunatic Plate 版本,光程更短,适合高浓度样品。
- LIMS — 实验室信息管理系统。实验室用它统一管样品、流程和结果。
两种使用模式
两种模式的差别主要在硬件接法、谁下指令、数据存到哪这三件事上。单机模式开箱即用;集成模式要先向 Unchained Labs 申请 API License,激活后才能启用。
单机模式(stand-alone) / 集成模式(integrated)
硬件连接:单机模式(stand-alone) USB 线连一台 PC;集成模式(integrated) 网线接到局域网
谁控制仪器:单机模式(stand-alone) 用户在 Lunatic & Stunner Client 界面里手动操作;集成模式(integrated) 用户脚本通过 DropQuant_Remote.dll 远程调用
License:单机模式(stand-alone) 出厂默认包含;集成模式(integrated) 向 Unchained Labs 申请,按仪器序列号绑定激活码
数据存到哪:单机模式(stand-alone) 本地 PC 上的 Lunatic & Stunner Analysis 软件;集成模式(integrated) 脚本指定的网络共享目录里写 .bin 原始数据;同时把文本结果作为字符串返回给脚本
适合场景:单机模式(stand-alone) 日常单机使用、首次配置、校准、软件升级;集成模式(integrated) 液体工作站、协作机械臂、LIMS、NGS 流水线、生物样本库
注意:两种模式不能同时用。USB 和网线同时接在 Lunatic 上,Manual §3.1 明确写会出现连接冲突、某些参数无法正确设置。切换模式时,先拔掉 USB 线,再把仪器断电重启一次。
Manual Figure 8 — 单机模式。一台 PC 装 Lunatic & Stunner Client,USB 线直连 Lunatic。
Manual Figure 9 — 集成模式。跑脚本的 PC 和 Lunatic 都接到局域网(经路由器),脚本通过以太网调用 API。配置/升级时另接 USB 用 Client 软件,日常运行只用网线。
什么时候需要整合
Lunatic 单机测一板 96 个孔,每孔 2 µL,约 5–10 分钟就能跑完(Lunatic Plate 约 5 分钟,High Lunatic Plate 约 10 分钟)。决定接自动化,通常是因为样品量、流程复杂度或数据可追溯性的要求超出了人工能跟上的速度,常见的有下面四种场景。
- NGS 流水线读浓度 — NGS 文库构建每一步(提取、纯化、片段化、连接、扩增)都要先量浓度再投下一步。Lunatic 接进 LIMS 之后,样品 ID、孔位、浓度结果一起进数据库,不再手抄。
- 生物样本库自动化 — 设想一个百万级队列的样本库(规模类似 UK Biobank、All of Us),样品要按统一标准长期保存、随时复核浓度。Lunatic 配上自动化存储和机械臂,就能由调度系统按计划抽样读浓度。
- 液体工作站联动 — Tecan、Hamilton、Beckman 等液体工作站做样品准备和稀释,再直接把板送进 Lunatic 读数。结果回到工作站,决定下一步。
- 协作机械臂 / 自有平台 — Beam Therapeutics 在 NGS 工作流里用机械臂装卸 Lunatic 板;GSK Biopharm Discovery 把 Lunatic 接进液体工作站流程。脚本调度多台仪器,Lunatic 在里面承担读浓度这一步。
前两种更看重数据可追溯性(谁、什么时候、哪一管样品的浓度);后两种更看重通量和无人值守。实际项目大多两类需求都有。
Manual Figure 1 — 机械臂把 Lunatic Plate 送进 Lunatic。
Manual Figure 2 — 液体工作站给 96 个孔加样,每孔 2 µL。
整合需要哪些条件
做集成之前,先确认 5 件事。
整合后的工作流
集成之后,Lunatic 完全由脚本调用。Manual Figure 18 给出一次完整测量的命令流程。绿色块是脚本通过 API 发出的命令(以 DQ_ 开头)。其它颜色的块是 API 之外的动作(放板、取板、把数据存到客户自己的系统、开关机)。
Manual Figure 18 — 一次完整测量的命令流程。右侧的箭头表示多板实验:测完一板,从 Open_Tray 回到 Place Lunatic Plate 装下一板,中间不重复调 Define_Experiment。
日常写脚本时,把流程图按命令再压缩一下,大致 9 步。下表左列是脚本发出的命令,右列是同一时刻仪器或机械臂在做的事。
步 / 脚本(API 命令) / 仪器 / 工作台
- 访问权是独占的。同一时刻只有一个脚本能控制 Lunatic。多台机器人或多个脚本共用一台仪器时,排队由上层调度负责,API 这一层不会自动处理。
- DQ_Measure 不等结果。其他 18 个命令发出去之后会一直等到执行完才返回;DQ_Measure 调用后立即返回"启动成功",是否测完要由脚本循环调用 DQ_Get_Status 确认。轮询频率一般 1–2 秒一次。
- when-integrate · 什么时候需要整合
- requirements · 整合需要哪些条件
- Lunatic & Stunner Client · Lunatic 和 Stunner 共用的 PC 端控制软件。手动操作、首次配置、校准都在这里完成。
- API · 一组让外部脚本调用 Lunatic 的函数接口。必须先激活 License 才能用。
- DropQuant_Remote.dll · API 的 Windows 动态链接库。脚本加载这个 DLL,创建 DropQuant 对象,然后调用各条命令。
- .bin 文件 · Lunatic 每跑完一板输出的原始数据文件。用 Lunatic & Stunner Analysis 软件打开。
- Lunatic Plate · Lunatic 的微流控耗材。一块板 6 条 strip,每条 16 个加样孔,共 96 孔。另有 High Lunatic Plate 版本,光程更短,适合高浓度样品。
- LIMS · 实验室信息管理系统。实验室用它统一管样品、流程和结果。
- NGS 流水线读浓度 · NGS 文库构建每一步(提取、纯化、片段化、连接、扩增)都要先量浓度再投下一步。Lunatic 接进 LIMS 之后,样品 ID、孔位、浓度结果一起进数据库,不再手抄。
- 生物样本库自动化 · 设想一个百万级队列的样本库(规模类似 UK Biobank、All of Us),样品要按统一标准长期保存、随时复核浓度。Lunatic 配上自动化存储和机械臂,就能由调度系统按计划抽样读浓度。
- 液体工作站联动 · Tecan、Hamilton、Beckman 等液体工作站做样品准备和稀释,再直接把板送进 Lunatic 读数。结果回到工作站,决定下一步。
- 协作机械臂 / 自有平台 · Beam Therapeutics 在 NGS 工作流里用机械臂装卸 Lunatic 板;GSK Biopharm Discovery 把 Lunatic 接进液体工作站流程。脚本调度多台仪器,Lunatic 在里面承担读浓度这一步。
- 仪器 · License 与激活码 · 让外部脚本远程调用 Lunatic 的授权,出厂不带,需要单独向 Unchained Labs 申请。激活码按仪器序列号绑定,申请时把 S/N 一起发过去。部分较老的系统还要在仪器背面插一个 USB dongle 才能用 License。
- 软件 · Lunatic & Stunner Client · 首次激活、Transfer Apps、配 Network Settings 都在 Client 软件里做。配齐一次后,日常运行不再用这台 PC,只在升级或排障时连接。
- 网络 · 局域网与共享目录 · Lunatic 通过网线接入局域网,IP 可以走 DHCP 自动分配,也可以设固定 IP。另外需要准备一个网络共享目录,用来存原始数据(.bin 文件)。路径必须以 \\ 开头(UNC 网络路径),不能写本地盘符。API TCP 端口在仪器上可配置(重启后生效);Manual Figure 10 截图显示 6700、Appendix 1 示例代码用 6300,具体值以 Client 软件 Settings/Info 页面显示的为准。
- 脚本 · 调度 PC 与脚本 · 另外加一台 PC 跑客户脚本,通过 DropQuant_Remote.dll 调用 API。语言不限,C#、Python、LabVIEW 都可以,只要能加载 DLL 函数。现成的工作站调度软件(如 Tecan EVOware、Hamilton VENUS、Beckman Biomek BWS)一般已经带了 Lunatic 驱动包。用这类软件,需要自己写的脚本会少很多。
- 工作台 · 定位销孔(若用机械臂) · Lunatic 底部有 2 个直径 12 mm 的销孔。工作台对应位置需要装两根同径的销,规格 12m6/DIN7(12 mm 标称直径、ISO 公差等级 m6)。销高度 22–30 mm(目标 25 mm),间距公差 0.1 mm。详细坐标在第 2 篇里有图。
- 2 · 把实验定义、样品定义两段字符串发给仪器,返回所有板的 Plate_ID
- 4 · — · 机械臂或液体工作站把 Lunatic Plate 放进托盘
- 6 · 每 1–2 秒查一次状态,直到测量完成
- 7 · 取出测完的板;多板实验在托盘打开时换上新板,关托盘后回到第 5 步的 DQ_Measure
- 8 · 所有板测完后拿回文本结果,.bin 原始数据写到共享目录;脚本解析后写进 LIMS 或数据库
- 9 · 释放访问权,把仪器让给下一个脚本
- 把实验定义、样品定义两段字符串发给仪器,返回所有板的 Plate_ID
- 机械臂或液体工作站把 Lunatic Plate 放进托盘
- 取出测完的板;多板实验在托盘打开时换上新板,关托盘后回到第 5 步的 DQ_Measure
- 所有板测完后拿回文本结果,.bin 原始数据写到共享目录;脚本解析后写进 LIMS 或数据库