Initial commit
This commit is contained in:
366
skills/opentrons-integration/references/api_reference.md
Normal file
366
skills/opentrons-integration/references/api_reference.md
Normal file
@@ -0,0 +1,366 @@
|
||||
# Opentrons Python Protocol API v2 Reference
|
||||
|
||||
## Protocol Context Methods
|
||||
|
||||
### Labware Management
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `load_labware(name, location, label=None, namespace=None, version=None)` | Load labware onto deck | Labware object |
|
||||
| `load_adapter(name, location, namespace=None, version=None)` | Load adapter onto deck | Labware object |
|
||||
| `load_labware_from_definition(definition, location, label=None)` | Load custom labware from JSON | Labware object |
|
||||
| `load_labware_on_adapter(name, adapter, label=None)` | Load labware on adapter | Labware object |
|
||||
| `load_labware_by_name(name, location, label=None, namespace=None, version=None)` | Alternative load method | Labware object |
|
||||
| `load_lid_stack(load_name, location, quantity=None)` | Load lid stack (Flex only) | Labware object |
|
||||
|
||||
### Instrument Management
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `load_instrument(instrument_name, mount, tip_racks=None, replace=False)` | Load pipette | InstrumentContext |
|
||||
|
||||
### Module Management
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `load_module(module_name, location=None, configuration=None)` | Load hardware module | ModuleContext |
|
||||
|
||||
### Liquid Management
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `define_liquid(name, description=None, display_color=None)` | Define liquid type | Liquid object |
|
||||
|
||||
### Execution Control
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `pause(msg=None)` | Pause protocol execution | None |
|
||||
| `resume()` | Resume after pause | None |
|
||||
| `delay(seconds=0, minutes=0, msg=None)` | Delay execution | None |
|
||||
| `comment(msg)` | Add comment to protocol log | None |
|
||||
| `home()` | Home all axes | None |
|
||||
| `set_rail_lights(on)` | Control rail lights (Flex only) | None |
|
||||
|
||||
### Protocol Properties
|
||||
|
||||
| Property | Description | Type |
|
||||
|----------|-------------|------|
|
||||
| `deck` | Deck layout | Deck object |
|
||||
| `fixed_trash` | Fixed trash location (OT-2) | TrashBin object |
|
||||
| `loaded_labwares` | Dictionary of loaded labware | Dict |
|
||||
| `loaded_instruments` | Dictionary of loaded instruments | Dict |
|
||||
| `loaded_modules` | Dictionary of loaded modules | Dict |
|
||||
| `is_simulating()` | Check if protocol is simulating | Bool |
|
||||
| `bundled_data` | Access to bundled data files | Dict |
|
||||
| `params` | Runtime parameters | ParametersContext |
|
||||
|
||||
## Instrument Context (Pipette) Methods
|
||||
|
||||
### Tip Management
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `pick_up_tip(location=None, presses=None, increment=None)` | Pick up tip | InstrumentContext |
|
||||
| `drop_tip(location=None, home_after=True)` | Drop tip in trash | InstrumentContext |
|
||||
| `return_tip(home_after=True)` | Return tip to rack | InstrumentContext |
|
||||
| `reset_tipracks()` | Reset tip tracking | None |
|
||||
|
||||
### Liquid Handling - Basic
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `aspirate(volume=None, location=None, rate=1.0)` | Aspirate liquid | InstrumentContext |
|
||||
| `dispense(volume=None, location=None, rate=1.0, push_out=None)` | Dispense liquid | InstrumentContext |
|
||||
| `blow_out(location=None)` | Expel remaining liquid | InstrumentContext |
|
||||
| `touch_tip(location=None, radius=1.0, v_offset=-1.0, speed=60.0)` | Remove droplets from tip | InstrumentContext |
|
||||
| `mix(repetitions=1, volume=None, location=None, rate=1.0)` | Mix liquid | InstrumentContext |
|
||||
| `air_gap(volume=None, height=None)` | Create air gap | InstrumentContext |
|
||||
|
||||
### Liquid Handling - Complex
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `transfer(volume, source, dest, **kwargs)` | Transfer liquid | InstrumentContext |
|
||||
| `distribute(volume, source, dest, **kwargs)` | Distribute from one to many | InstrumentContext |
|
||||
| `consolidate(volume, source, dest, **kwargs)` | Consolidate from many to one | InstrumentContext |
|
||||
|
||||
**transfer(), distribute(), consolidate() kwargs:**
|
||||
- `new_tip`: 'always', 'once', or 'never'
|
||||
- `trash`: True/False - trash tips after use
|
||||
- `touch_tip`: True/False - touch tip after aspirate/dispense
|
||||
- `blow_out`: True/False - blow out after dispense
|
||||
- `mix_before`: (repetitions, volume) tuple
|
||||
- `mix_after`: (repetitions, volume) tuple
|
||||
- `disposal_volume`: Extra volume for contamination prevention
|
||||
- `carryover`: True/False - enable multi-transfer for large volumes
|
||||
- `gradient`: (start_concentration, end_concentration) for gradients
|
||||
|
||||
### Movement and Positioning
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `move_to(location, force_direct=False, minimum_z_height=None, speed=None)` | Move to location | InstrumentContext |
|
||||
| `home()` | Home pipette axes | None |
|
||||
|
||||
### Pipette Properties
|
||||
|
||||
| Property | Description | Type |
|
||||
|----------|-------------|------|
|
||||
| `default_speed` | Default movement speed | Float |
|
||||
| `min_volume` | Minimum pipette volume | Float |
|
||||
| `max_volume` | Maximum pipette volume | Float |
|
||||
| `current_volume` | Current volume in tip | Float |
|
||||
| `has_tip` | Check if tip is attached | Bool |
|
||||
| `name` | Pipette name | String |
|
||||
| `model` | Pipette model | String |
|
||||
| `mount` | Mount location | String |
|
||||
| `channels` | Number of channels | Int |
|
||||
| `tip_racks` | Associated tip racks | List |
|
||||
| `trash_container` | Trash location | TrashBin object |
|
||||
| `starting_tip` | Starting tip for protocol | Well object |
|
||||
| `flow_rate` | Flow rate settings | FlowRates object |
|
||||
|
||||
### Flow Rate Properties
|
||||
|
||||
Access via `pipette.flow_rate`:
|
||||
|
||||
| Property | Description | Units |
|
||||
|----------|-------------|-------|
|
||||
| `aspirate` | Aspirate flow rate | µL/s |
|
||||
| `dispense` | Dispense flow rate | µL/s |
|
||||
| `blow_out` | Blow out flow rate | µL/s |
|
||||
|
||||
## Labware Methods
|
||||
|
||||
### Well Access
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `wells()` | Get all wells | List[Well] |
|
||||
| `wells_by_name()` | Get wells dictionary | Dict[str, Well] |
|
||||
| `rows()` | Get wells by row | List[List[Well]] |
|
||||
| `columns()` | Get wells by column | List[List[Well]] |
|
||||
| `rows_by_name()` | Get rows dictionary | Dict[str, List[Well]] |
|
||||
| `columns_by_name()` | Get columns dictionary | Dict[str, List[Well]] |
|
||||
|
||||
### Labware Properties
|
||||
|
||||
| Property | Description | Type |
|
||||
|----------|-------------|------|
|
||||
| `name` | Labware name | String |
|
||||
| `parent` | Parent location | Location object |
|
||||
| `quirks` | Labware quirks list | List |
|
||||
| `magdeck_engage_height` | Magnetic module height | Float |
|
||||
| `uri` | Labware URI | String |
|
||||
| `calibrated_offset` | Calibration offset | Point |
|
||||
|
||||
## Well Methods and Properties
|
||||
|
||||
### Liquid Operations
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `load_liquid(liquid, volume)` | Load liquid into well | None |
|
||||
| `load_empty()` | Mark well as empty | None |
|
||||
| `from_center_cartesian(x, y, z)` | Get location from center | Location |
|
||||
|
||||
### Location Methods
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `top(z=0)` | Get location at top of well | Location |
|
||||
| `bottom(z=0)` | Get location at bottom of well | Location |
|
||||
| `center()` | Get location at center of well | Location |
|
||||
|
||||
### Well Properties
|
||||
|
||||
| Property | Description | Type |
|
||||
|----------|-------------|------|
|
||||
| `diameter` | Well diameter (circular) | Float |
|
||||
| `length` | Well length (rectangular) | Float |
|
||||
| `width` | Well width (rectangular) | Float |
|
||||
| `depth` | Well depth | Float |
|
||||
| `max_volume` | Maximum volume | Float |
|
||||
| `display_name` | Display name | String |
|
||||
| `has_tip` | Check if tip present | Bool |
|
||||
|
||||
## Module Contexts
|
||||
|
||||
### Temperature Module
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `set_temperature(celsius)` | Set target temperature | None |
|
||||
| `await_temperature(celsius)` | Wait for temperature | None |
|
||||
| `deactivate()` | Turn off temperature control | None |
|
||||
| `load_labware(name, label=None, namespace=None, version=None)` | Load labware on module | Labware |
|
||||
|
||||
**Properties:**
|
||||
- `temperature`: Current temperature (°C)
|
||||
- `target`: Target temperature (°C)
|
||||
- `status`: 'idle', 'holding', 'cooling', or 'heating'
|
||||
- `labware`: Loaded labware
|
||||
|
||||
### Magnetic Module
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `engage(height_from_base=None, offset=None, height=None)` | Engage magnets | None |
|
||||
| `disengage()` | Disengage magnets | None |
|
||||
| `load_labware(name, label=None, namespace=None, version=None)` | Load labware on module | Labware |
|
||||
|
||||
**Properties:**
|
||||
- `status`: 'engaged' or 'disengaged'
|
||||
- `labware`: Loaded labware
|
||||
|
||||
### Heater-Shaker Module
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `set_target_temperature(celsius)` | Set heater target | None |
|
||||
| `wait_for_temperature()` | Wait for temperature | None |
|
||||
| `set_and_wait_for_temperature(celsius)` | Set and wait | None |
|
||||
| `deactivate_heater()` | Turn off heater | None |
|
||||
| `set_and_wait_for_shake_speed(rpm)` | Set shake speed | None |
|
||||
| `deactivate_shaker()` | Turn off shaker | None |
|
||||
| `open_labware_latch()` | Open latch | None |
|
||||
| `close_labware_latch()` | Close latch | None |
|
||||
| `load_labware(name, label=None, namespace=None, version=None)` | Load labware on module | Labware |
|
||||
|
||||
**Properties:**
|
||||
- `temperature`: Current temperature (°C)
|
||||
- `target_temperature`: Target temperature (°C)
|
||||
- `current_speed`: Current shake speed (rpm)
|
||||
- `target_speed`: Target shake speed (rpm)
|
||||
- `labware_latch_status`: 'idle_open', 'idle_closed', 'opening', 'closing'
|
||||
- `status`: Module status
|
||||
- `labware`: Loaded labware
|
||||
|
||||
### Thermocycler Module
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `open_lid()` | Open lid | None |
|
||||
| `close_lid()` | Close lid | None |
|
||||
| `set_lid_temperature(celsius)` | Set lid temperature | None |
|
||||
| `deactivate_lid()` | Turn off lid heater | None |
|
||||
| `set_block_temperature(temperature, hold_time_seconds=0, hold_time_minutes=0, ramp_rate=None, block_max_volume=None)` | Set block temperature | None |
|
||||
| `deactivate_block()` | Turn off block | None |
|
||||
| `execute_profile(steps, repetitions, block_max_volume=None)` | Run temperature profile | None |
|
||||
| `load_labware(name, label=None, namespace=None, version=None)` | Load labware on module | Labware |
|
||||
|
||||
**Profile step format:**
|
||||
```python
|
||||
{'temperature': 95, 'hold_time_seconds': 30, 'hold_time_minutes': 0}
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
- `block_temperature`: Current block temperature (°C)
|
||||
- `block_target_temperature`: Target block temperature (°C)
|
||||
- `lid_temperature`: Current lid temperature (°C)
|
||||
- `lid_target_temperature`: Target lid temperature (°C)
|
||||
- `lid_position`: 'open', 'closed', 'in_between'
|
||||
- `ramp_rate`: Block temperature ramp rate (°C/s)
|
||||
- `status`: Module status
|
||||
- `labware`: Loaded labware
|
||||
|
||||
### Absorbance Plate Reader Module
|
||||
|
||||
| Method | Description | Returns |
|
||||
|--------|-------------|---------|
|
||||
| `initialize(mode, wavelengths)` | Initialize reader | None |
|
||||
| `read(export_filename=None)` | Read plate | Dict |
|
||||
| `close_lid()` | Close lid | None |
|
||||
| `open_lid()` | Open lid | None |
|
||||
| `load_labware(name, label=None, namespace=None, version=None)` | Load labware on module | Labware |
|
||||
|
||||
**Read modes:**
|
||||
- `'single'`: Single wavelength
|
||||
- `'multi'`: Multiple wavelengths
|
||||
|
||||
**Properties:**
|
||||
- `is_lid_on`: Lid status
|
||||
- `labware`: Loaded labware
|
||||
|
||||
## Common Labware API Names
|
||||
|
||||
### Plates
|
||||
|
||||
- `corning_96_wellplate_360ul_flat`
|
||||
- `nest_96_wellplate_100ul_pcr_full_skirt`
|
||||
- `nest_96_wellplate_200ul_flat`
|
||||
- `biorad_96_wellplate_200ul_pcr`
|
||||
- `appliedbiosystems_384_wellplate_40ul`
|
||||
|
||||
### Reservoirs
|
||||
|
||||
- `nest_12_reservoir_15ml`
|
||||
- `nest_1_reservoir_195ml`
|
||||
- `usascientific_12_reservoir_22ml`
|
||||
|
||||
### Tip Racks
|
||||
|
||||
**Flex:**
|
||||
- `opentrons_flex_96_tiprack_50ul`
|
||||
- `opentrons_flex_96_tiprack_200ul`
|
||||
- `opentrons_flex_96_tiprack_1000ul`
|
||||
|
||||
**OT-2:**
|
||||
- `opentrons_96_tiprack_20ul`
|
||||
- `opentrons_96_tiprack_300ul`
|
||||
- `opentrons_96_tiprack_1000ul`
|
||||
|
||||
### Tube Racks
|
||||
|
||||
- `opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical`
|
||||
- `opentrons_24_tuberack_nest_1.5ml_snapcap`
|
||||
- `opentrons_24_tuberack_nest_1.5ml_screwcap`
|
||||
- `opentrons_15_tuberack_falcon_15ml_conical`
|
||||
|
||||
### Adapters
|
||||
|
||||
- `opentrons_flex_96_tiprack_adapter`
|
||||
- `opentrons_96_deep_well_adapter`
|
||||
- `opentrons_aluminum_flat_bottom_plate`
|
||||
|
||||
## Error Handling
|
||||
|
||||
Common exceptions:
|
||||
|
||||
- `OutOfTipsError`: No tips available
|
||||
- `LabwareNotLoadedError`: Labware not loaded on deck
|
||||
- `InvalidContainerError`: Invalid labware specification
|
||||
- `InstrumentNotLoadedError`: Pipette not loaded
|
||||
- `InvalidVolumeError`: Volume out of range
|
||||
|
||||
## Simulation and Debugging
|
||||
|
||||
Check simulation status:
|
||||
```python
|
||||
if protocol.is_simulating():
|
||||
protocol.comment('Running in simulation')
|
||||
```
|
||||
|
||||
Access bundled data files:
|
||||
```python
|
||||
data_file = protocol.bundled_data['data.csv']
|
||||
with open(data_file) as f:
|
||||
data = f.read()
|
||||
```
|
||||
|
||||
## Version Compatibility
|
||||
|
||||
API Level compatibility:
|
||||
|
||||
| API Level | Features |
|
||||
|-----------|----------|
|
||||
| 2.19 | Latest features, Flex support |
|
||||
| 2.18 | Absorbance plate reader |
|
||||
| 2.17 | Liquid tracking improvements |
|
||||
| 2.16 | Flex 8-channel partial tip pickup |
|
||||
| 2.15 | Heater-Shaker Gen1 |
|
||||
| 2.13 | Temperature Module Gen2 |
|
||||
| 2.0-2.12 | Core OT-2 functionality |
|
||||
|
||||
Always use the latest stable API version for new protocols.
|
||||
Reference in New Issue
Block a user