PlateAdapter#

PlateAdapter represents accessories that hold plates while providing a standardized grid of holes or wells. It is useful when a plate cannot be placed directly on a carrier site because the skirt or dimensions do not match the standard ANSI/SLAS format. Examples include magnetic racks, heater shakers or adapters for semi-skirted PCR plates.

By treating adapters as resources, PyLabRobot can automatically compute the position of the plate relative to the adapter. This ensures wells line up with the adapter holes while keeping a simple API for moving plates around.

In most workflows you create an adapter and then assign a plate to it.

Creating a PlateAdapter#

You can instantiate a PlateAdapter directly by specifying its size and the layout of its holes. The example below creates a simplified magnetic rack for a 96 well plate.

from pylabrobot.resources.plate_adapter import PlateAdapter

magnet = PlateAdapter(
    name="magnet",
    size_x=127.76,
    size_y=85.48,
    size_z=35.0,
    dx=9.8,
    dy=6.8,
    dz=27.5,  # height of the plate above the deck
    adapter_hole_size_x=8.0,
    adapter_hole_size_y=8.0,
    adapter_hole_size_z=8.0,
)
magnet

Placing a plate on an adapter#

PlateAdapter.assign_child_resource() automatically aligns the plate’s wells with the adapter holes. This uses compute_plate_location() internally. Below we place a Corning 96 well plate on our magnetic rack.

from pylabrobot.resources.corning import Cor_96_wellplate_2mL_Vb

plate = Cor_96_wellplate_2mL_Vb(name="plate")
magnet.assign_child_resource(plate)
magnet.children

compute_plate_location() can also be called directly to see where the plate will be positioned relative to the adapter.

magnet.compute_plate_location(plate)