from pathlib import Path
from pyalab import Deck, DeckLayout, DeckPositions, Pipette, Plate, Program, SetInitialVolume, SetVolume, StandardDeckNames, Tip, Transfer
pcr_plate = Plate(name="BIO-RAD Hard-Shell 96-Well Skirted PCR Plates", display_name="PCR Plate")
program = Program(
deck_layouts=[
DeckLayout(
deck=Deck(name=StandardDeckNames.THREE_POSITION.value),
labware={DeckPositions.B_PLATE_LANDSCAPE.value: pcr_plate},
)
],
display_name="simple-transfer",
description="Transfer in 96-well plate",
pipette=Pipette(name="VOYAGER EIGHT 300 µl"),
tip=Tip(name="300 µl GripTip Sterile Filter Low retention"),
)
pcr_plate_section_index = program.get_section_index_for_plate(pcr_plate)
program.add_step(
SetInitialVolume(
plate=pcr_plate,
section_index=pcr_plate_section_index,
column_index=0,
volume=200,
)
)
for column_index in range(1, 12):
program.add_step(
SetVolume(
plate=pcr_plate,
section_index=pcr_plate_section_index,
column_index=column_index,
volume=0,
)
)
transfer_volume = 18
for column_index in range(1, 12):
program.add_step(
Transfer(
source=pcr_plate,
source_section_index=pcr_plate_section_index,
source_column_index=0,
destination=pcr_plate,
destination_section_index=pcr_plate_section_index,
destination_column_index=column_index,
volume=transfer_volume,
)
)
transfer_volume -= 1
program.dump_xml(Path(__file__).parent / "simple-transfer.iaa")