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)