Deck (inherits from SlotSet)
Description
Represents the laboratory deck in the Jubilee system. A deck is composed of multiple slots where labware can be loaded, each with specified positions and properties. The deck configuration (slots, offsets, bed type) is loaded from a .json definition file.
Constructor
python
Deck(deck_filename: str, path: str = default_path)Loads a deck configuration from a JSON file and initializes slots and properties.
Properties
| Property | Type | Description |
|---|---|---|
bedType | str | Type of bed arrangement (e.g., 'fixed', 'removable'). |
totalslots | int | Total number of slots available on the deck. |
slotType | str | Type of slot arrangement (e.g., "SLAS"). |
offsetFrom | str | Corner of the slot used as reference for labware placement. |
deck_material | Dict[str, str] | Materials used for the deck and any applied mask. |
safe_z | float | Clearance height for safe movement over the deck. |
Methods
| Method | Returns | Description |
|---|---|---|
load_labware(labware_filename: str, slot: int, path: str = default_path, order: str = "rows") | Labware | Loads a labware definition, assigns it to a slot, and updates slot's offset and safe_z height. |
_get_slots() | Dict[str, Slot] | Internal method to create Slot objects based on the loaded deck configuration. |
Short Example
python
# Create a Deck object from a configuration file
deck = Deck("standard_deck")
# Load a 96-well plate into slot 0
labware = deck.load_labware("falcon_96_wellplate_360ul_flat", slot=0)
# Check safe_z clearance height
print(deck.safe_z)Important Notes
- Deck configuration files must be valid
.jsonfiles located under the specified path. - Loading labware into a slot will automatically adjust the
safe_zheight if the new labware's z-dimension is higher. - When loading labware, the system applies the slot’s (x, y) offset to the labware’s well coordinates.
- The slot key for accessing
slotscan be either a string or an integer, thanks toSlotSet.__getitem__.