Synergy H1#

Synergy H1 is an Agilent BioTek microplate reader that can read absorbance, fluorescence, and luminescence. Please refer to the user guide for installation instructions.

%load_ext autoreload
%autoreload 2
import matplotlib.pyplot as plt
from pylabrobot.plate_reading import PlateReader
from pylabrobot.plate_reading import SynergyH1Backend
pr = PlateReader(name="PR", size_x=0,size_y=0,size_z=0, backend=SynergyH1Backend())
await pr.setup()
await pr.backend.get_firmware_version()
'1320200  Version 2.07'
await pr.open()

Before closing, assign a plate to the plate reader. This determines the spacing of the loading tray in the machine, as well as the positioning of wells where spectrophotometric measurements and pictures will be taken.

from pylabrobot.resources import CellVis_24_wellplate_3600uL_Fb
plate = CellVis_24_wellplate_3600uL_Fb(name="plate")
pr.assign_child_resource(plate)
await pr.close()

Plate reading#

Note: these measurements were taken with a 96 well plate.

data = await pr.read_absorbance(wavelength=434)
plt.imshow(data)
<matplotlib.image.AxesImage at 0x1353cc790>
../../../_images/5eee8870eb453c15f3efb3faee31af79a34649e97ca88d5a88516c0e21050766.png
data = await pr.read_fluorescence(
  excitation_wavelength=485, emission_wavelength=528, focal_height=7.5
)
plt.imshow(data)
<matplotlib.image.AxesImage at 0x16e144850>
../../../_images/c6bed6539984cc3e8c8ef03fb086557665c1b50f355ad89dfc39239bc993d2a1.png
data = await pr.read_luminescence(focal_height=4.5)
plt.imshow(data)
<matplotlib.image.AxesImage at 0x16e1a83d0>
../../../_images/e435cc3192c6734bc98ad01fc5e6fa6361820552e6d55feb97a96edcf5f3d4f7.png

Shaking#

await pr.backend.shake(
  shake_type=SynergyH1Backend.ShakeType.LINEAR,
  frequency=4  # linear frequency in mm, 1 <= frequency <= 6
)
await pr.backend.stop_shaking()

Heating#

Synergy H1 supports heating but does not support active cooling.

await pr.backend.set_temperature(temperature=37) # Temperature in degrees C
await pr.backend.get_current_temperature() # Returns temperature in degrees C
await pr.backend.stop_heating_or_cooling() # Stop temperature control