pylabrobot.thermo_fisher.kingfisher.bdz.SamplePlate#

class pylabrobot.thermo_fisher.kingfisher.bdz.SamplePlate(name: str = 'Sample Plate', plate_type_id: str = '8b7d7c98-275f-4285-8129-5f8ed46fb01e', id: str | None = None, groups: Dict[str, WellGroup] | None = None, reagent: Reagent | None = None)#

Bases: object

One sample plate position referenced by a protocol tip.

A ProtocolTip can reference multiple sample plates — each MixStep selects which plate it acts on via sample_plate_index. For single-step protocols the default of one plate is sufficient.

Reagents are stored per well-group inside groups:

  • Presto default: {"Plate": WellGroup()} — one whole-plate group.

  • Duo round-trip: {"A": WellGroup(...), ..., "H": WellGroup(...)} — eight row groups.

  • Duo from scratch: pass groups={"A": WellGroup(reagent=...), ...} for per-row reagents, or pass reagent= for a single reagent placed on row A.

The convenience reagent= init argument populates groups["Plate"].reagent (Presto) or appears on row A when the writer expands to Duo rows. Read back via the reagent property (returns the first non-None reagent found).

Attributes

reagent

row A for Duo, "Plate" group for Presto.

name

plate_type_id

id

groups

Methods

__init__([name, plate_type_id, id, groups, ...])

Create a sample plate with explicit well-group reagent assignments.

Parameters: