Plate reading#

PyLabRobot supports the following plate readers:

This example uses the PlateReaderChatterboxBackend. When using a real machine, use the corresponding backend.

from pylabrobot.plate_reading import PlateReader, PlateReaderChatterboxBackend
pr = PlateReader(name="plate reader", backend=PlateReaderChatterboxBackend(), size_x=0, size_y=0, size_z=0)
await pr.setup()
Setting up the plate reader.

Basic plate reading#

First you need to assign a plate to the plate reader.

from pylabrobot.resources import Cor_96_wellplate_360ul_Fb
plate = Cor_96_wellplate_360ul_Fb(name="plate")
pr.assign_child_resource(plate)

Luminescence#

Cytation{1,5} supported ClarioSTAR supported

data = await pr.read_luminescence(focal_height=4.5)
Reading luminescence at focal height 4.5.
Read the following wells:
  |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|     11|     12|
---------------------------------------------------------------------------------------------------
A |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
B |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
C |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
D |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
E |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
F |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
G |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
H |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|

Data is a 2d array of optional floats.

data
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

Absorbance#

Cytation{1,5} supported ClarioSTAR supported

await pr.read_absorbance(wavelength=450)
Reading absorbance at wavelength 450.
Read the following wells:
  |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|     11|     12|
---------------------------------------------------------------------------------------------------
A |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
B |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
C |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
D |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
E |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
F |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
G |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
H |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

Data is a 2d array of optional floats.

data
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

Fluorescence#

Cytation{1,5} supported ClarioSTAR not support

await pr.read_fluorescence(excitation_wavelength=485, emission_wavelength=520, focal_height=4.5)
Reading fluorescence at excitation wavelength 485, emission wavelength 520, and focal height 4.5.
Read the following wells:
  |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|     11|     12|
---------------------------------------------------------------------------------------------------
A |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
B |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
C |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
D |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
E |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
F |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
G |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
H |  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|  0.000|
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

Data is a 2d array of optional floats.

data
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]

Reading parts of plates#

Cytation{1,5} supported ClarioSTAR not support

The example below shows luminescence, but the API is the same for luminescence, absorbance and fluorescence.

data = await pr.read_luminescence(focal_height=4.5, wells=plate["A1:C5"])
Reading luminescence at focal height 4.5.
Read the following wells:
  |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|     11|     12|
---------------------------------------------------------------------------------------------------
A |  0.000|  0.000|  0.000|  0.000|  0.000|       |       |       |       |       |       |       |
B |  0.000|  0.000|  0.000|  0.000|  0.000|       |       |       |       |       |       |       |
C |  0.000|  0.000|  0.000|  0.000|  0.000|       |       |       |       |       |       |       |
D |       |       |       |       |       |       |       |       |       |       |       |       |
E |       |       |       |       |       |       |       |       |       |       |       |       |
F |       |       |       |       |       |       |       |       |       |       |       |       |
G |       |       |       |       |       |       |       |       |       |       |       |       |
H |       |       |       |       |       |       |       |       |       |       |       |       |
data
[[0.0, 0.0, 0.0, 0.0, 0.0, None, None, None, None, None, None, None],
 [0.0, 0.0, 0.0, 0.0, 0.0, None, None, None, None, None, None, None],
 [0.0, 0.0, 0.0, 0.0, 0.0, None, None, None, None, None, None, None],
 [None, None, None, None, None, None, None, None, None, None, None, None],
 [None, None, None, None, None, None, None, None, None, None, None, None],
 [None, None, None, None, None, None, None, None, None, None, None, None],
 [None, None, None, None, None, None, None, None, None, None, None, None],
 [None, None, None, None, None, None, None, None, None, None, None, None]]