-
Notifications
You must be signed in to change notification settings - Fork 136
Description
Hello,
I'm trying to use PyLabRobot to control a Biotek (now Agilent) Cytation 5 plate reader. Its firmware version is 2.09.
I'm able to open and close the carrier drawer, but if I try to start an assay I get error code 2D06 (I edited the code to print the response before asserting it's b"\x060000\x03", e.g. line 372 of. biotek_backend.py). The cytation 5 manual doesn't mention this error specifically, but the Biotek Synergy LX plate reader's manual says it's "Assay definition not set. Validated assay not defined.". The error codes that are explained in both manuals match, so I think that's what's failing. I didn't see any methods in the API to create a protocol or load one. Below is the code I'm using, mostly taken from your documentation.
`import asyncio
from pylabrobot.plate_reading import (
CytationBackend,
PlateReader,
)
from pylabrobot.resources import CellTreat_96_wellplate_350ul_Fb
async def main():
plate_reader = PlateReader(
name="cytation5",
backend=CytationBackend(),
size_x=0,
size_y=0,
size_z=0,
)
await plate_reader.setup()
await plate_reader.open()
print("Load a plate, press any key when ready")
input()
plate_reader.assign_child_resource(CellTreat_96_wellplate_350ul_Fb("plate"))
await plate_reader.close()
result = await plate_reader.read_fluorescence(
excitation_wavelength=405,
emission_wavelength=530,
focal_height=7.0,
use_new_return_type=True,
)
print(result)
asyncio.run(main())`
The reader I'm working with has never been used manually with the Gen5 software.
Is there a configuration step that I need to run manually before the code above will work?
Thanks in advance for your help,
Paolo