science_jubilee.tools.Sonicator#

Module Contents#

Classes#

Sonicator

A class representation for a Qsonica Sonicator tool.

Attributes#

logger

science_jubilee.tools.Sonicator.logger#
class science_jubilee.tools.Sonicator.Sonicator(index, name, mode: str, port: str = None)#

Bases: science_jubilee.tools.Tool.Tool

A class representation for a Qsonica Sonicator tool.

_raspberrypi_hat()#

Initialize the pins used on the Raspberry Pi Hat.

_raspberrypi_pico(port: str)#

Initialize serial interface with Raspberry Pi Pico microcontroller.

Parameters:

port (str) – port to connect to the Pico microcontroller, this is computer dependent.

_set_sonication_power(power: float)#

Set the power of the sonicator to a value between 0.4 and 1.0.

Parameters:

power (float) – power level to set the sonicator to. Must be between 0.4 and 1.0.

_sonication_on()#

Turn on the sonicator.

_sonication_off()#

Turn off the sonicator.

_sonicate(exposure_time: float = 1.0, power: float = 0.4, pulse_duty_cycle: float = 0.5, pulse_interval: float = 1.0, verbose: bool = False)#

Enable the sonicator at the power level for the exposure time.

Parameters:
  • exposure_time (float, optional) – total time to sonicate for, defaults to 1.0

  • power (float, optional) – power level to sonicate at, defaults to 0.4

  • pulse_duty_cycle (float, optional) – duty cycle of the sonicator pulse, defaults to 0.5

  • pulse_interval (float, optional) – interval between pulses, defaults to 1.0

  • verbose (bool, optional) – whether or not to print out the time elapsed, defaults to False

sonicate_well(location: science_jubilee.labware.Labware.Well | Tuple | science_jubilee.labware.Labware.Location, plunge_depth: float, sonication_time: float, power: float = 0.4, pulse_duty_cycle: float = 0.5, pulse_interval: float = 1.0, verbose: bool = False, autoclean: bool = False, *args)#

Sonicate one well at a specified depth for a given time.

Parameters:
  • location (Union[Well, Tuple, Location]) – location of the well to sonicate

  • plunge_depth (float) – depth (in mm) to plunge from the top of the plate.

  • sonication_time (float) – time (in sec) to sonicate for

  • power (float) – sonicator power level ranging from 0.4 (default, min) through 1.0 (max).

  • pulse_duty_cycle (float, optional) – duty cycle of the sonicator pulse, defaults to 0.5

  • pulse_interval (float, optional) – interval between pulses, defaults to 1.0

  • verbose (bool, optional) – whether or not to print out the time elapsed, defaults to False

  • autoclean (bool, optional) – whether or not to perform the cleaning protocol after sonication, defaults to False

  • args (tuple) – if location is of type Tuple, the depth of the well needs to be specified

Raises:

ValueError

if the plunge depth is too deep

Note: sonicator does not turn on below power level of 0.4.

set_cleaning_protocol(wells: List[science_jubilee.labware.Labware.Well], power: List[float], time: List[float], plunge_depth: float = None)#

Set the cleaning protocol for the sonicator.

Parameters:
  • wells (List[Well]) – list of wells to clean

  • power (List[float]) – power level to clean at

  • time (List[float]) – time to clean for

  • plunge_depth (float, optional) – depth of the sonicator into the well, defaults to None

perform_cleanining_protocol(plunge_depth: float = None)#

Perform the cleaning protocol on the sonicator.

Parameters:

plunge_depth (float, optional) – depth to plunge the sonicator into the well, defaults to None