3. 自动化实验流程建模
自动化细胞成像实验并不是把几个仪器串起来就能稳定运行。培养、染色、成像、分析四个阶段之间存在大量时间约束、资源竞争和条件分支:细胞必须在合适汇合度时才能染色,染色完成后必须在限定时间内成像,成像结果又决定是否需要补拍或重扫。把这些约束表达清楚,是自动化流程建模的核心任务。
一、流程拆解:从生物步骤到可执行任务
流程拆解的第一步,是把实验意图翻译成自动化系统能识别的任务单元。以96孔板为例,一次典型流程可拆为:培养阶段(接种、换液、汇合度监测)、染色阶段(弃液、固定、透化、封闭、抗体孵育、核染)、成像阶段(对焦、通道采集、Z 栈、拼图)、分析阶段(分割、计数、强度统计、质控)。
拆解时不能只写“染色”,而要明确每个任务的输入、输出、时长和前置条件。例如“固定”任务的输入是含细胞的孔板与 4% 多聚甲醛,输出是已固定孔板,时长约 15 min,前置条件是培养基已弃净。只有把这类信息写全,后续状态机才有可判断的转移条件。
一个常见的教学示例参数如下:接种密度 5×10³ 细胞/孔,培养 24 h 后预期汇合度 60%–70%;固定 15 min;透化 10 min;一抗孵育 60 min;二抗孵育 45 min;核染 10 min;成像前 PBS 洗涤 3 次。这些数值属于示例,实际需按细胞类型和抗体说明书调整。
二、状态机建模:把“能不能做”变成可判断条件
状态机适合描述单个对象(如一块孔板、一台成像仪)在生命周期中的状态与转移。以孔板为例,可定义状态:IDLE、SEEDED、CULTURING、READY_TO_STAIN、STAINING、READY_TO_IMAGE、IMAGING、ANALYZING、DONE、FAILED。
转移条件必须可观测。例如 CULTURING → READY_TO_STAIN 的触发条件不是“培养好了”,而是“汇合度 ≥ 60% 且培养时长 ≥ 20 h”。READY_TO_IMAGE → IMAGING 的条件是“染色完成且距染色结束 ≤ 4 h”。若超时,则转入 FAILED 或 RE_STAIN。这种写法把模糊判断变成可编程条件,是自动化稳定运行的关键。
状态机还应处理异常分支:成像对焦失败时,不应直接失败,而应进入 REFOCUS 重试,最多 3 次;若仍失败,标记该孔为 QC_FAIL 并继续其他孔。这样单孔异常不会阻塞整板流程。
三、工作流建模:多对象、多资源的协同
状态机描述单对象,工作流则描述多对象与多资源的协同。工作流建模通常包含三层:任务层(做什么)、资源层(谁来做)、调度层(何时做)。
资源层要明确仪器能力与占用时间。例如液体处理站一次处理 1 块板、耗时 8 min;成像仪一次处理 1 块板、耗时 25 min;分析服务器可并行处理 4 块板。调度层则根据这些约束决定任务顺序。若同时有 3 块板等待成像,而成像仪只有 1 台,就必须排队,且要保证每块板在染色后 4 h 内完成成像。
工作流中还要区分串行任务与并行任务。同一块板的固定、透化、封闭必须串行;不同板之间的培养可以并行;分析可与下一块板的成像并行。把并行关系画清楚,才能估算整批实验的总时长。
四、从模型到执行:一个可参考的流程片段
下面给出一个简化的状态转移配置示例,用于说明如何把上述条件写成可执行形式。示例采用伪代码,实际可映射到 Python 状态机或工作流引擎。
states = {
"CULTURING": {
"next": "READY_TO_STAIN",
"condition": "confluence >= 0.60 and culture_hours >= 20",
"timeout_h": 48,
"on_timeout": "FAILED"
},
"READY_TO_IMAGE": {
"next": "IMAGING",
"condition": "stain_done and hours_since_stain <= 4",
"on_violation": "RE_STAIN"
},
"IMAGING": {
"next": "ANALYZING",
"retry": {"REFOCUS": 3},
"on_fail": "QC_FAIL"
}
}
这段配置表达了三个关键约束:汇合度与培养时长共同决定能否染色;染色后 4 h 内必须成像;对焦失败可重试 3 次。实际运行时,调度器会周期性读取每个孔板的状态,检查条件是否满足,再决定是否推进。
五、结果判读与模型校验
模型建好后,需要用实际运行数据校验。重点观察三类指标:状态停留时间(如 CULTURING 实际时长分布)、转移失败率(如 READY_TO_IMAGE 超时比例)、资源利用率(成像仪空闲与排队时长)。若发现大量孔板在 READY_TO_IMAGE 超时,说明染色与成像的节拍不匹配,应调整染色批次大小或增加成像并行度。
此外,分析阶段的结果也应反馈到流程模型。例如若某批板 QC_FAIL 比例超过 20%,可触发对染色步骤的复查,甚至自动暂停后续批次。这种“分析反馈控制”是自动化流程从“能跑”走向“稳定跑”的重要一步。
把上述状态机与工作流合并后,整批实验的节拍就变得可计算:若每块板培养 24 h、染色 2.5 h、成像 25 min、分析 15 min,且成像仪只有 1 台,则 3 块板的总时长约为 24 h + 2.5 h + 3×25 min + 15 min ≈ 28 h。若把成像仪增加到 2 台,总时长可压缩到约 27 h。这类估算能帮助在实验设计阶段就判断资源是否匹配。
最后需要强调:模型不是一次建成的。建议先用 1–2 块板跑通全流程,记录每个状态的实际停留时间和失败原因,再回头修正转移条件与超时阈值。只有经过数据校验的模型,才能真正支撑自动化实验的稳定运行。