# * DISPENSE WATER ------------------------------------------ # Program Variables transfer_volume = 180 blowoff_volume = 0 soloSoft.getTip() for i in range(1, 3): # columns in 12 channel reservoir for j in range(1, 7): # <- columns in corning 3635 clearUV soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup().setColumn( i, transfer_volume ), aspirate_shift=[ 0, 0, 4, ], # larger shift needed for 12 channel resevoir <- check this with new plate entries pre_aspirate=blowoff_volume, ) soloSoft.dispense( position="Position6", dispense_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn( (((i - 1) * 6) + j), transfer_volume ), dispense_shift=[0, 0, 2], blowoff=blowoff_volume, ) # DISPENSE BUFFER ------------------------------------------
soloSoft = SoloSoft( filename="cherry_picking_test.hso", plateList=[ "TipBox.50uL.Axygen-EV-50-R-S.tealbox", "Empty", "Empty", "Empty", "Empty", "Empty", "Empty", "Plate.96.Corning-3635.ClearUVAssay", ], ) soloSoft.getTip() soloSoft.aspirate( position="Position8", aspirate_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn(1, 50), aspirate_shift=[0, 0, 2], ) for i in range(3): soloSoft.dispense( position="Position8", dispense_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn(2, 10), dispense_shift=[0, 0, 2], ) soloSoft.shuckTip() soloSoft.savePipeline()
"TipBox.50uL.Axygen-EV-50-R-S.tealbox", "Empty", ], ) # * STEP 1: Transfer Cells ------------------------------------------------------------ soloSoft.getTip( ) # 200uL tips -> all transfers are same cells, OK to keep same tips for all of step 1 for i in range(1, 3): for j in range(1, 7): soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup( ).setColumn(i, cell_transfer_volume), aspirate_shift=[0, 0, cell_aspirate_z_shift], pre_aspirate=cell_blowoff, mix_at_start= True, # mix cells before aspirating them -> probably a good idea mix_volume=cell_mix_volume, mix_cycles=cell_num_mixes, dispense_height=cell_aspirate_z_shift, ) soloSoft.dispense( position="Position4", dispense_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn( (6 * (i - 1)) + j, cell_transfer_volume), dispense_shift=[0, 0, default_z_shift], blowoff=cell_blowoff, # no need to mix because it will shake in the Hidex ) # for testing
"Plate.96.PlateOne-1833-9600.ConicalBottomStorage", "Plate.96.PlateOne-1833-9600.ConicalBottomStorage", "TipBox.50uL.Axygen-EV-50-R-S.tealbox", "Empty", ], ) soloSoft.getTip() for i in range(12): soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup(). setColumn(aspirate_column, aspirate_volume), aspirate_shift=[0, 0, default_z_shift], pre_aspirate=default_blowoff, # mix_at_start=True, # mix_cycles=aspirate_num_mixes, # mix_volume=aspirate_mix_volume, # dispense_height=default_z_shift, syringe_speed=aspirate_syringe_speed, ) soloSoft.dispense( position="Position3", dispense_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup(). setColumn(dispense_column, aspirate_volume), dispense_shift=[0, 0, default_z_shift], blowoff=default_blowoff, syringe_speed=aspirate_syringe_speed, ) soloSoft.shuckTip()
"Reservoir.12col.Agilent-201256-100.BATSgroup", "Empty", "Plate.96.Corning-3635.ClearUVAssay", "Plate.96.Corning-3635.ClearUVAssay", "TipBox.50uL.Axygen-EV-50-R-S.tealbox", "AgarPlate.40mL.OmniTray-242811.ColonyPicker", ], ) # * STEP 1: Dispense diluent into whole plate -> MUST CHECK/REFILL BETWEEN CREATING EACH PLATE ------------- soloSoft.getTip() # Don't dispense diluent into first column of each half plate -> will be pure stock for i in range(2, 7): # first half of the plate, columns 2-6 soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup(). setColumn(media_aspirate_column, dilution_media_volume), aspirate_shift=[0, 0, 4], ) soloSoft.dispense( position="Position6", dispense_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn( i, dilution_media_volume), dispense_shift=[0, 0, default_z_shift], ) media_aspirate_column += 1 for i in range(8, 13): # second half of the plate, columns 8-12 soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup(). setColumn(media_aspirate_column, dilution_media_volume), aspirate_shift=[0, 0, 4],
"Plate.96.Corning-3635.ClearUVAssay", "Plate.96.Corning-3635.ClearUVAssay", "Empty", ], ) # * Fill 6 columns of empty 96 well plate (corning 3383 or Falcon - ref 353916) with fresh lb media (12 channel in Position 3, column 1) soloSoft.getTip() j = 1 for i in range(1, 7): soloSoft.aspirate( position="Position3", aspirate_volumes=Reservoir_12col_Agilent_201256_100_BATSgroup().setColumn( 1, media_transfer_volume_s1 ), aspirate_shift=[ 0, 0, 4, ], # larger shift needed for 12 channel reservoir #TODO remeasure 12 channel reservoir depth ) soloSoft.dispense( position="Position4", dispense_volumes=Plate_96_Corning_3635_ClearUVAssay().setColumn( i, media_transfer_volume_s1 ), dispense_shift=[0, 0, 2], ) # * Fill first column of culture 10 fold dilution plate with fresh lb media soloSoft.aspirate(