Opentrons温度模块Skill opentrons-temperature-module

Opentrons温度模块技能用于在Opentrons自动化协议中实现精确温度控制,支持4-95°C范围的加热和冷却,适用于生物实验中的样本存储、酶反应和温度敏感协议。关键词:Opentrons、温度模块、实验室自动化、生物实验、温度控制、PCR、酶反应

生物制药 1 次安装 2 次浏览 更新于 3/12/2026

name: opentrons-temperature-module description: Opentrons温度模块 - 精确加热和冷却(4-95°C),适用于样本存储、酶反应和温度敏感协议,配备铝块适配器用于板、管和PCR条带 allowed-tools: [“*”]

Opentrons温度模块

概述

Opentrons温度模块 提供精确的温度控制(4-95°C),用于在自动化协议中维持样本在特定温度。适用于保持试剂冷藏、预热反应组件、温度敏感孵育,以及任何需要稳定温度条件而无混合的流程。

核心价值: 消除冰桶和水浴。在甲板上为试剂、样本和反应组件提供精确、可重现的温度控制,贯穿整个协议。

何时使用

在以下情况使用温度模块技能:

  • 在协议中保持试剂冷藏(例如,酶在4°C)
  • 预热反应组件(例如,缓冲液在37°C)
  • 维持样本在特定温度
  • 无混合的温度敏感酶反应
  • 热处理后冷却样本
  • 任何需要稳定温度控制(4-95°C)的协议

不要使用当:

  • 需要温度控制期间的混合/摇晃(使用加热-振荡模块)
  • 需要PCR热循环(使用热循环仪模块)
  • 温度超出4-95°C范围
  • 需要精确的温度斜坡或循环

快速参考

操作 方法 关键参数
加载模块 protocol.load_module() "temperature module gen2", 位置
设置温度 set_temperature() 摄氏度(4-95)
获取当前温度 .temperature 只读属性
检查状态 .status 返回 “holding at target” 或 “idle”
停用 deactivate() -

平台兼容性

Opentrons Flex和OT-2均支持

模块代际

  • 第一代 - 原始温度模块
  • 第二代 - 改进的冷却性能,更好的隔离(推荐)

第二代关键改进:

  • 板周围的塑料绝缘
  • 铝块的护罩
  • 与运行热循环仪共享甲板时更好的冷却性能
  • 与第一代相同的API

加载模块

from opentrons import protocol_api

metadata = {'apiLevel': '2.19'}

def run(protocol: protocol_api.ProtocolContext):
    # 加载温度模块第二代
    temp_mod = protocol.load_module("temperature module gen2", "D1")  # Flex
    # temp_mod = protocol.load_module("temperature module gen2", "4")  # OT-2

    # 在模块上加载实验室器皿
    cold_plate = temp_mod.load_labware("opentrons_96_aluminumblock_generic_pcr_strip_200ul")

模块版本:

  • "temperature module gen2" - 第二代(推荐)
  • "temperatureModuleV1" - 第一代(旧版)

甲板槽位: 任何兼容槽位(Flex: A1-D3, OT-2: 1-11)

加载实验室器皿

独立适配器(API 2.15+)

推荐方法 - 先加载适配器,再加载实验室器皿:

# 96孔铝块
temp_block = temp_mod.load_adapter("opentrons_96_well_aluminum_block")
sample_plate = temp_block.load_labware("opentrons_96_wellplate_200ul_pcr_full_skirt")

可用适配器:

适配器名称 兼容实验室器皿
opentrons_96_well_aluminum_block 96孔板,PCR板
opentrons_aluminum_flat_bottom_plate 平底板
opentrons_96_deep_well_temp_mod_adapter 深孔板

块和管组合

对于带铝块的管架:

# 24孔块,含多种管类型
tubes_nest = temp_mod.load_labware("opentrons_24_aluminumblock_nest_1.5ml_snapcap")
tubes_generic = temp_mod.load_labware("opentrons_24_aluminumblock_generic_2ml_screwcap")

旧版块和板组合

# 预配置组合(旧API版本)
plate_combo = temp_mod.load_labware("opentrons_96_aluminumblock_biorad_wellplate_200ul")

推荐: 使用独立适配器(API 2.15+)以获得更好的灵活性。

温度控制

设置温度

# 设置温度并等待直到达到
temp_mod.set_temperature(celsius=4)

# 协议在此等待,直到达到4°C

# 在目标温度下执行操作
pipette.transfer(100, cold_reagent, dest_plate.wells())

温度范围: 4-95°C(1°C分辨率)

行为: 协议执行阻塞(等待)直到目标温度达到。

温度状态

# 获取当前温度
current_temp = temp_mod.temperature
protocol.comment(f"模块在 {current_temp}°C")

# 检查状态
status = temp_mod.status
# 返回:"holding at target" 或 "idle"

if status == "holding at target":
    protocol.comment("温度稳定,继续")

停用

# 关闭温度控制
temp_mod.deactivate()

重要: 模块在协议结束时不会自动停用。如果协议完成或取消,必须通过Opentrons App手动关闭。

常见模式

保持试剂冷藏

# 在整个协议中保持酶和主混合液冷藏
temp_mod = protocol.load_module("temperature module gen2", "D1")
reagent_block = temp_mod.load_adapter("opentrons_24_aluminumblock_nest_1.5ml_snapcap")

# 开始前设置到4°C
temp_mod.set_temperature(4)

# 在整个协议期间试剂保持冷藏
pipette.transfer(10, reagent_block["A1"], dest_plate.wells())
# ... 协议其余部分 ...

# 结束时关闭
temp_mod.deactivate()

预热反应组件

# 预热缓冲液到37°C
temp_mod = protocol.load_module("temperature module gen2", "C2")
warm_block = temp_mod.load_adapter("opentrons_96_well_aluminum_block")
warm_plate = warm_block.load_labware("corning_96_wellplate_360ul_flat")

# 设置到反应温度
temp_mod.set_temperature(37)

# 使用预热组件
pipette.transfer(50, warm_plate["A1"], reaction_plate.wells())

temp_mod.deactivate()

热处理后冷却

# PCR或热失活后冷却样本
temp_mod = protocol.load_module("temperature module gen2", "D3")
cooling_block = temp_mod.load_adapter("opentrons_96_well_aluminum_block")

# 设置到4°C进行冷却
temp_mod.set_temperature(4)

# 用夹爪移动热样本到冷却块(Flex)
protocol.move_labware(hot_plate, temp_mod, use_gripper=True)

# 在4°C保持
protocol.delay(minutes=5)

# 继续处理冷却样本
temp_mod.deactivate()

温度敏感酶反应

# 在最佳温度下进行限制性酶切
temp_mod = protocol.load_module("temperature module gen2", "D1")
rxn_block = temp_mod.load_adapter("opentrons_96_well_aluminum_block")
rxn_plate = rxn_block.load_labware("opentrons_96_wellplate_200ul_pcr_full_skirt")

# 设置反应
pipette.transfer(20, dna_samples, rxn_plate.wells()[:8])
pipette.transfer(5, enzyme_mix, rxn_plate.wells()[:8], mix_after=(3, 15))

# 在最佳温度孵育
temp_mod.set_temperature(37)
protocol.delay(hours=2)

# 热失活
temp_mod.set_temperature(65)
protocol.delay(minutes=20)

# 冷却用于下游处理
temp_mod.set_temperature(4)

temp_mod.deactivate()

多步骤协议期间保持温度

# 除了特定步骤外,保持样本在4°C
cold_storage = protocol.load_module("temperature module gen2", "D1")
cold_block = cold_storage.load_adapter("opentrons_96_well_aluminum_block")
sample_plate = cold_block.load_labware("biorad_96_wellplate_200ul_pcr")

# 开始时设置到4°C
cold_storage.set_temperature(4)

# 样本在模块上保持冷藏
# 移动到室温进行特定操作
protocol.move_labware(sample_plate, "C2", use_gripper=True)

# ... 执行室温操作 ...

# 返回冷藏存储
protocol.move_labware(sample_plate, cold_storage, use_gripper=True)

cold_storage.deactivate()

与其他模块集成

与热循环仪

# PCR前预冷样本
temp_mod = protocol.load_module("temperature module gen2", "D1")
tc_mod = protocol.load_module("thermocyclerModuleV2")

cold_block = temp_mod.load_adapter("opentrons_96_well_aluminum_block")
sample_plate = cold_block.load_labware("opentrons_96_wellplate_200ul_pcr_full_skirt")

# 保持样本冷藏
temp_mod.set_temperature(4)

# 设置PCR混合液(样本保持冷藏)
# ... 移液 ...

# 转移到热循环仪
tc_mod.open_lid()
protocol.move_labware(sample_plate, tc_mod, use_gripper=True)

# 运行PCR
tc_mod.close_lid()
# ... 热循环 ...

# PCR后返回冷藏存储
tc_mod.open_lid()
protocol.move_labware(sample_plate, temp_mod, use_gripper=True)

temp_mod.deactivate()

与加热-振荡器

# 振荡/加热后冷却
hs_mod = protocol.load_module("heaterShakerModuleV1", "D1")
temp_mod = protocol.load_module("temperature module gen2", "D2")

# 预冷温度模块
temp_mod.set_temperature(4)

# 在加热-振荡器上加热/振荡
hs_mod.set_and_wait_for_temperature(65)
hs_mod.close_labware_latch()
hs_mod.set_and_wait_for_shake_speed(1000)
protocol.delay(minutes=10)
hs_mod.deactivate_shaker()
hs_mod.deactivate_heater()
hs_mod.open_labware_latch()

# 转移到温度模块进行冷却
protocol.move_labware(reaction_plate, temp_mod, use_gripper=True)
protocol.delay(minutes=3)

temp_mod.deactivate()

与磁力块

# 温度控制磁分离
mag_block = protocol.load_module("magneticBlockV1", "D1")
temp_mod = protocol.load_module("temperature module gen2", "D2")

# 冷却洗脱缓冲液
temp_mod.set_temperature(4)

# 磁分离
protocol.move_labware(sample_plate, mag_block, use_gripper=True)
protocol.delay(minutes=3)
pipette.transfer(150, sample_plate.wells(), waste.wells())

# 用冷缓冲液洗脱
protocol.move_labware(sample_plate, temp_mod, use_gripper=True)
pipette.transfer(50, cold_buffer, sample_plate.wells())

temp_mod.deactivate()

最佳实践

  1. 加载样本前设置温度 - 允许模块稳定
  2. 协议结束时停用 - 防止设备无限运行
  3. 使用第二代获得更好性能 - 改进的冷却和隔离
  4. 计划热平衡时间 - 大温度变化需要时间
  5. 监控环境温度 - 影响最小可达到温度(4°C目标需要凉爽房间)
  6. 使用铝块 - 比直接放置板更好的热接触
  7. 避免在温度变化期间移液 - 等待“holding at target”状态
  8. 考虑热质量 - 更多液体 = 更慢温度平衡
  9. 不要依赖自动停用 - 模块在协议结束后保持开启
  10. 检查兼容性 - 验证实验室器皿适合适配器/块

常见错误

❌ 在温度变化期间移液:

temp_mod.set_temperature(4)
# set_temperature() 阻塞直到达到,但更安全检查状态
pipette.transfer(...)  # 如果没有完全稳定,有风险

✅ 正确:

temp_mod.set_temperature(4)
# 等待状态确认
if temp_mod.status == "holding at target":
    pipette.transfer(...)

❌ 不停用模块:

temp_mod.set_temperature(4)
# ... 协议结束 ...
# 模块保持在4°C无限期!

✅ 正确:

temp_mod.set_temperature(4)
# ... 操作 ...
temp_mod.deactivate()

❌ 温度超出范围:

temp_mod.set_temperature(100)  # 错误:最大95°C
temp_mod.set_temperature(0)    # 错误:最小4°C

✅ 正确:

temp_mod.set_temperature(95)  # 在范围内
temp_mod.set_temperature(4)   # 在范围内

❌ 温度稳定前加载实验室器皿:

temp_mod.set_temperature(4)
# 温度尚未达到 - 样本在冷却过程中变暖
pipette.transfer(100, warm_samples, temp_block.wells())

✅ 正确:

# 加载样本前设置温度
temp_mod.set_temperature(4)
# 现在在4°C,样本保持冷藏
pipette.transfer(100, warm_samples, temp_block.wells())

故障排除

模块达不到4°C:

  • 检查环境室温(模块不能冷却到远低于环境)
  • 确保模块周围有足够空气流通
  • 验证模块放在平坦、水平表面上
  • 考虑使用冰袋作为补充,用于非常冷的要求

模块达不到高温:

  • 验证温度 ≤95°C
  • 检查模块不在寒冷环境中
  • 允许足够时间用于大热质量

温度不稳定:

  • 等待状态显示“holding at target”
  • 避免高气流环境
  • 确保实验室器皿与块之间良好热接触
  • 使用适合实验室器皿类型的适配器

温度变化慢:

  • 大温度差异时正常
  • 使用较小实验室器皿/管以获得更快平衡
  • 关键步骤前预冷/预热模块
  • 考虑样本热质量

协议后模块保持开启:

  • 这是预期行为
  • 通过Opentrons App手动停用
  • 或在协议结束时添加 deactivate()

温度限制

参数 最小 最大 分辨率
块温度 4°C 95°C 1°C
冷却能力 ~比环境低4°C - -
加热能力 - 95°C -

注意: 实际最小温度取决于环境条件。在温暖房间(>25°C),达到4°C可能困难。

高级技术

温度梯度协议

# 优化斜坡温度
temp_mod = protocol.load_module("temperature module gen2", "D1")

for temp in [4, 20, 37, 55, 70]:
    temp_mod.set_temperature(temp)
    protocol.comment(f"现在在 {temp}°C")

    # 在每个温度执行操作
    # ... 取样、测量等 ...

    protocol.delay(minutes=5)

temp_mod.deactivate()

双温度设置

# 同时维持两个不同温度
cold_mod = protocol.load_module("temperature module gen2", "D1")
warm_mod = protocol.load_module("temperature module gen2", "D2")

cold_mod.set_temperature(4)
warm_mod.set_temperature(37)

# 在协议中使用两个温度区域
pipette.transfer(10, cold_mod.labware["A1"], reaction_plate.wells())
pipette.transfer(50, warm_mod.labware["A1"], reaction_plate.wells())

cold_mod.deactivate()
warm_mod.deactivate()

温度冲击协议

# 细胞工作的快速温度变化
temp_mod = protocol.load_module("temperature module gen2", "D1")
cell_plate = temp_mod.load_labware("corning_96_wellplate_360ul_flat")

# 冰孵育
temp_mod.set_temperature(4)
protocol.delay(minutes=20)

# 热冲击
temp_mod.set_temperature(42)
protocol.delay(seconds=45)

# 恢复
temp_mod.set_temperature(37)
protocol.delay(minutes=5)

temp_mod.deactivate()

第二代 vs 第一代

特性 第一代 第二代
温度范围 4-95°C 4-95°C
冷却 基本 改进,带绝缘
热循环仪兼容性 冷却性能差 冷却性能好
板绝缘 塑料护罩
块护罩
API 相同 相同
推荐

推荐: 所有新协议使用第二代。

API版本要求

  • 最小API版本: 2.0(温度模块支持)
  • 独立适配器: API 2.15+
  • 推荐: 2.19+ 以获得完整功能支持

附加资源

相关技能

  • opentrons - 主Opentrons Python API技能
  • opentrons-heater-shaker - 带混合的温度控制(37-95°C)
  • opentrons-thermocycler - PCR热循环(4-99°C块)
  • opentrons-gripper - 自动化实验室器皿移动(Flex)
  • opentrons-magnetic-block - 磁珠分离