autoprotocol.container_type

container_type.ContainerType

class autoprotocol.container_type.ContainerType[source]

The ContainerType class holds the capabilities and properties of a particular container type.

Parameters:
  • name (str) – Full name describing a ContainerType.
  • is_tube (bool) – Indicates whether a ContainerType is a tube (container with one well).
  • well_count (int) – Number of wells a ContainerType contains.
  • well_depth_mm (float) – Depth of well(s) contained in a ContainerType in millimeters.
  • well_volume_ul (Unit) – Maximum volume of well(s) contained in a ContainerType in microliters.
  • well_coating (str) – Coating of well(s) in container (ex. collagen).
  • sterile (bool) – Indicates whether a ContainerType is sterile.
  • cover_types (list) – List of valid covers associated with a ContainerType.
  • seal_types (list) – List of valid seals associated with a ContainerType.
  • capabilities (list) –
    List of capabilities associated with a ContainerType (ex. [“spin”,
    ”incubate”]).
  • shortname (str) – Short name used to refer to a ContainerType.
  • col_count (int) – Number of columns a ContainerType contains.
  • dead_volume_ul (Unit) – Volume of liquid that cannot be aspirated from any given well of a ContainerType via liquid-handling.
  • safe_min_volume_ul (Unit) – Minimum volume of liquid to ensure adequate volume for liquid-handling aspiration from any given well of a ContainerType.
  • true_max_vol_ul (Unit, optional) – Maximum volume of well(s) in microliters, often same value as well_volume_ul (maximum working volume), however, some ContainerType(s) can have a different value corresponding to a true maximum volume of a well (ex. echo compatible containers)
  • vendor (str, optional) – ContainerType commercial vendor, if available.
  • cat_no (str, optional) – ContainerType vendor catalog number, if available.
  • prioritize_seal_or_cover (str, optional) – “seal” or “cover”, determines whether to prioritize sealing or covering defaults to “seal”
well_from_coordinates(row, column)[source]

Gets the well at 0-indexed position (row, column) within the container. The origin is in the top left corner.

Parameters:
  • row (int) – The 0-indexed row index of the well to be fetched
  • column (int) – The 0-indexed column index of the well to be fetched
Returns:

The robotized index of the well at at position (row, column)

Return type:

Int

Raises:
  • ValueError – if the specified row is outside the bounds of the container_type
  • ValueError – if the specified column is outside the bounds of the container_type
robotize(well_ref)[source]

Return a robot-friendly well reference from a number of well reference formats.

Example Usage:

>>> p = Protocol()
>>> my_plate = p.ref("my_plate", cont_type="6-flat", discard=True)
>>> my_plate.robotize("A1")
0
>>> my_plate.robotize("5")
5
>>> my_plate.robotize(my_plate.well(3))
3
>>> my_plate.robotize(["A1", "A2"])
[0, 1]
Parameters:

well_ref (str, int, Well, list[str or int or Well]) – Well reference to be robotized in string, integer or Well object form. Also accepts lists of str, int or Well.

Returns:

Single or list of Well references passed as row-wise integer (left-to-right, top-to-bottom, starting at 0 = A1).

Return type:

int or list

Raises:
  • TypeError – If well reference given is not an accepted type.
  • ValueError – If well reference given exceeds container dimensions.
  • ValueError – If well reference given is in an invalid format.
humanize(well_ref)[source]

Return the human readable form of a well index based on the well format of this ContainerType.

Example Usage:

>>> p = Protocol()
>>> my_plate = p.ref("my_plate", cont_type="6-flat", discard=True)
>>> my_plate.humanize(0)
'A1'
>>> my_plate.humanize(5)
'B3'
>>> my_plate.humanize('0')
'A1'
Parameters:

well_ref (int, str, list[int or str]) – Well reference to be humanized in integer or string form. If string is provided, it has to be parseable into an int. Also accepts lists of int or str

Returns:

well_ref – Well index passed as human-readable form.

Return type:

str

Raises:
  • TypeError – If well reference given is not an accepted type.
  • ValueError – If well reference given exceeds container dimensions.
decompose(idx)[source]

Return the (col, row) corresponding to the given well index.

Parameters:idx (str or int) – Well index in either human-readable or integer form.
Returns:tuple containing the column number and row number of the given well_ref.
Return type:tuple
Raises:TypeError – Index given is not of the right parameter type
row_count()[source]

Return the number of rows of this ContainerType.

Container Types

autoprotocol.container_type.FLAT384 = ContainerType(name='384-well UV flat-bottom plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(90.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard', 'universal'], seal_types=None, capabilities=['liquid_handle', 'spin', 'absorbance', 'fluorescence', 'luminescence', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense'], shortname='384-flat', col_count=24, dead_volume_ul=Unit(7, 'microliter'), safe_min_volume_ul=Unit(15, 'microliter'), true_max_vol_ul=Unit(90.0, 'microliter'), vendor='Corning', cat_no='3706', prioritize_seal_or_cover='seal')
autoprotocol.container_type.PCR384 = ContainerType(name='384-well PCR plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(40.0, 'microliter'), well_coating=None, sterile=None, cover_types=None, seal_types=['ultra-clear', 'foil'], capabilities=['liquid_handle', 'spin', 'thermocycle', 'incubate', 'gel_separate', 'gel_purify', 'seal', 'dispense'], shortname='384-pcr', col_count=24, dead_volume_ul=Unit(2, 'microliter'), safe_min_volume_ul=Unit(3, 'microliter'), true_max_vol_ul=Unit(40.0, 'microliter'), vendor='Eppendorf', cat_no='951020539', prioritize_seal_or_cover='seal')
autoprotocol.container_type.ECHO384 = ContainerType(name='384-well Echo plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(65.0, 'microliter'), well_coating=None, sterile=None, cover_types=['universal'], seal_types=['foil', 'ultra-clear'], capabilities=['liquid_handle', 'seal', 'spin', 'incubate', 'dispense', 'cover'], shortname='384-echo', col_count=24, dead_volume_ul=Unit(15, 'microliter'), safe_min_volume_ul=Unit(15, 'microliter'), true_max_vol_ul=Unit(135, 'microliter'), vendor='Labcyte', cat_no='PP-0200', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT384WHITELV = ContainerType(name='384-well flat-bottom low volume plate', is_tube=False, well_count=384, well_depth_mm=9.39, well_volume_ul=Unit(40.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard', 'universal'], seal_types=None, capabilities=['absorbance', 'cover', 'dispense', 'fluorescence', 'image_plate', 'incubate', 'luminescence', 'liquid_handle', 'spin', 'uncover'], shortname='384-flat-white-white-lv', col_count=24, dead_volume_ul=Unit(5, 'microliter'), safe_min_volume_ul=Unit(15, 'microliter'), true_max_vol_ul=Unit(40.0, 'microliter'), vendor='Corning', cat_no='3824', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT384WHITETC = ContainerType(name='384-well flat-bottom low flange plate', is_tube=False, well_count=384, well_depth_mm=11.43, well_volume_ul=Unit(80.0, 'microliter'), well_coating=None, sterile=True, cover_types=['standard', 'universal'], seal_types=None, capabilities=['absorbance', 'cover', 'dispense', 'fluorescence', 'image_plate', 'incubate', 'luminescence', 'liquid_handle', 'spin', 'uncover'], shortname='384-flat-white-white-tc', col_count=24, dead_volume_ul=Unit(20, 'microliter'), safe_min_volume_ul=Unit(30, 'microliter'), true_max_vol_ul=Unit(80.0, 'microliter'), vendor='Corning', cat_no='3570', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT384CLEAR = ContainerType(name='384-well fully clear high binding plate', is_tube=False, well_count=384, well_depth_mm=11.43, well_volume_ul=Unit(80.0, 'microliter'), well_coating='high bind', sterile=False, cover_types=['standard', 'universal', 'low_evaporation'], seal_types=['ultra-clear', 'foil'], capabilities=['incubate', 'seal', 'image_plate', 'dispense', 'spin', 'absorbance', 'cover', 'fluorescence', 'luminescence', 'liquid_handle', 'uncover'], shortname='384-flat-clear-clear', col_count=24, dead_volume_ul=Unit(5, 'microliter'), safe_min_volume_ul=Unit(20, 'microliter'), true_max_vol_ul=Unit(80.0, 'microliter'), vendor='Corning', cat_no='3700', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT96 = ContainerType(name='96-well flat-bottom plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(340.0, 'microliter'), well_coating=None, sterile=False, cover_types=['low_evaporation', 'standard', 'universal'], seal_types=None, capabilities=['liquid_handle', 'spin', 'absorbance', 'fluorescence', 'luminescence', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense'], shortname='96-flat', col_count=12, dead_volume_ul=Unit(25, 'microliter'), safe_min_volume_ul=Unit(65, 'microliter'), true_max_vol_ul=Unit(340.0, 'microliter'), vendor='Corning', cat_no='3632', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT96UV = ContainerType(name='96-well flat-bottom UV transparent plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(340.0, 'microliter'), well_coating=None, sterile=False, cover_types=['low_evaporation', 'standard', 'universal'], seal_types=None, capabilities=['liquid_handle', 'spin', 'absorbance', 'fluorescence', 'luminescence', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense'], shortname='96-flat-uv', col_count=12, dead_volume_ul=Unit(25, 'microliter'), safe_min_volume_ul=Unit(65, 'microliter'), true_max_vol_ul=Unit(340.0, 'microliter'), vendor='Corning', cat_no='3635', prioritize_seal_or_cover='seal')
autoprotocol.container_type.PCR96 = ContainerType(name='96-well PCR plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(160.0, 'microliter'), well_coating=None, sterile=None, cover_types=None, seal_types=['ultra-clear', 'foil'], capabilities=['liquid_handle', 'sangerseq', 'spin', 'thermocycle', 'incubate', 'gel_separate', 'gel_purify', 'seal', 'dispense'], shortname='96-pcr', col_count=12, dead_volume_ul=Unit(3, 'microliter'), safe_min_volume_ul=Unit(5, 'microliter'), true_max_vol_ul=Unit(160.0, 'microliter'), vendor='Eppendorf', cat_no='951020619', prioritize_seal_or_cover='seal')
autoprotocol.container_type.DEEP96 = ContainerType(name='96-well extended capacity plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(2000.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard', 'universal'], seal_types=['breathable'], capabilities=['liquid_handle', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense', 'seal'], shortname='96-deep', col_count=12, dead_volume_ul=Unit(5, 'microliter'), safe_min_volume_ul=Unit(30, 'microliter'), true_max_vol_ul=Unit(2000.0, 'microliter'), vendor='Corning', cat_no='3961', prioritize_seal_or_cover='cover')
autoprotocol.container_type.V96KF = ContainerType(name='96-well v-bottom King Fisher plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(200.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'gel_separate', 'mag_dry', 'mag_incubate', 'mag_collect', 'mag_release', 'mag_mix', 'cover', 'dispense'], shortname='96-v-kf', col_count=12, dead_volume_ul=Unit(20, 'microliter'), safe_min_volume_ul=Unit(20, 'microliter'), true_max_vol_ul=Unit(200.0, 'microliter'), vendor='Fisher', cat_no='22-387-030', prioritize_seal_or_cover='seal')
autoprotocol.container_type.DEEP96KF = ContainerType(name='96-well extended capacity King Fisher plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(1000.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'gel_separate', 'mag_dry', 'mag_incubate', 'mag_collect', 'mag_release', 'mag_mix', 'cover', 'dispense'], shortname='96-deep-kf', col_count=12, dead_volume_ul=Unit(50, 'microliter'), safe_min_volume_ul=Unit(50, 'microliter'), true_max_vol_ul=Unit(1000.0, 'microliter'), vendor='Fisher', cat_no='22-387-031', prioritize_seal_or_cover='seal')
autoprotocol.container_type.DEEP24 = ContainerType(name='24-well extended capacity plate', is_tube=False, well_count=24, well_depth_mm=None, well_volume_ul=Unit(10000.0, 'microliter'), well_coating=None, sterile=False, cover_types=None, seal_types=['foil', 'breathable'], capabilities=['liquid_handle', 'incubate', 'gel_separate', 'gel_purify', 'dispense', 'seal'], shortname='24-deep', col_count=6, dead_volume_ul=Unit(15, 'microliter'), safe_min_volume_ul=Unit(60, 'microliter'), true_max_vol_ul=Unit(10000.0, 'microliter'), vendor='E&K Scientific', cat_no='EK-2053-S', prioritize_seal_or_cover='seal')
autoprotocol.container_type.MICRO2 = ContainerType(name='2mL Microcentrifuge tube', is_tube=True, well_count=1, well_depth_mm=None, well_volume_ul=Unit(2000.0, 'microliter'), well_coating=None, sterile=False, cover_types=None, seal_types=None, capabilities=['liquid_handle', 'gel_separate', 'gel_purify', 'incubate', 'spin'], shortname='micro-2.0', col_count=1, dead_volume_ul=Unit(5, 'microliter'), safe_min_volume_ul=Unit(40, 'microliter'), true_max_vol_ul=Unit(2000.0, 'microliter'), vendor='E&K Scientific', cat_no='280200', prioritize_seal_or_cover='seal')
autoprotocol.container_type.MICRO15 = ContainerType(name='1.5mL Microcentrifuge tube', is_tube=True, well_count=1, well_depth_mm=None, well_volume_ul=Unit(1500.0, 'microliter'), well_coating=None, sterile=False, cover_types=None, seal_types=None, capabilities=['liquid_handle', 'gel_separate', 'gel_purify', 'incubate', 'spin'], shortname='micro-1.5', col_count=1, dead_volume_ul=Unit(20, 'microliter'), safe_min_volume_ul=Unit(20, 'microliter'), true_max_vol_ul=Unit(1500.0, 'microliter'), vendor='USA Scientific', cat_no='1615-5500', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT6 = ContainerType(name='6-well cell culture plate', is_tube=False, well_count=6, well_depth_mm=None, well_volume_ul=Unit(5000.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard', 'universal'], seal_types=None, capabilities=['cover', 'incubate', 'image_plate'], shortname='6-flat', col_count=3, dead_volume_ul=Unit(400, 'microliter'), safe_min_volume_ul=Unit(600, 'microliter'), true_max_vol_ul=Unit(5000.0, 'microliter'), vendor='Eppendorf', cat_no='30720016', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT1 = ContainerType(name='1-well flat-bottom plate', is_tube=False, well_count=1, well_depth_mm=None, well_volume_ul=Unit(80000.0, 'microliter'), well_coating=None, sterile=False, cover_types=['universal'], seal_types=None, capabilities=['cover', 'incubate'], shortname='1-flat', col_count=1, dead_volume_ul=Unit(36000, 'microliter'), safe_min_volume_ul=Unit(40000, 'microliter'), true_max_vol_ul=Unit(80000.0, 'microliter'), vendor='Fisher', cat_no='267060', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT6TC = ContainerType(name='6-well TC treated plate', is_tube=False, well_count=6, well_depth_mm=None, well_volume_ul=Unit(5000.0, 'microliter'), well_coating=None, sterile=False, cover_types=['standard', 'universal'], seal_types=None, capabilities=['cover', 'incubate', 'image_plate'], shortname='6-flat-tc', col_count=3, dead_volume_ul=Unit(400, 'microliter'), safe_min_volume_ul=Unit(600, 'microliter'), true_max_vol_ul=Unit(5000.0, 'microliter'), vendor='Eppendorf', cat_no='30720113', prioritize_seal_or_cover='seal')
autoprotocol.container_type.RESSW96HP = ContainerType(name='96-well singlewell highprofile reservoir', is_tube=False, well_count=1, well_depth_mm=None, well_volume_ul=Unit(170.0, 'milliliter'), well_coating=None, sterile=False, cover_types=['universal'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'cover', 'dispense', 'liquid_handle'], shortname='res-sw96-hp', col_count=1, dead_volume_ul=Unit(25, 'milliliter'), safe_min_volume_ul=Unit(30, 'milliliter'), true_max_vol_ul=Unit(280.0, 'milliliter'), vendor='Axygen', cat_no='res-sw96-hp', prioritize_seal_or_cover='seal')
autoprotocol.container_type.RESMW8HP = ContainerType(name='8-row multiwell highprofile reservoir', is_tube=False, well_count=8, well_depth_mm=None, well_volume_ul=Unit(24.0, 'milliliter'), well_coating=None, sterile=False, cover_types=['universal'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'cover', 'dispense', 'liquid_handle'], shortname='res-mw8-hp', col_count=1, dead_volume_ul=Unit(2.5, 'milliliter'), safe_min_volume_ul=Unit(5, 'milliliter'), true_max_vol_ul=Unit(32.0, 'milliliter'), vendor='Axygen', cat_no='res-mw8-hp', prioritize_seal_or_cover='seal')
autoprotocol.container_type.RESMW12HP = ContainerType(name='12-column multiwell highprofile reservoir', is_tube=False, well_count=12, well_depth_mm=None, well_volume_ul=Unit(15.75, 'milliliter'), well_coating=None, sterile=False, cover_types=['universal'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'cover', 'dispense', 'liquid_handle'], shortname='res-mw12-hp', col_count=12, dead_volume_ul=Unit(1.8, 'milliliter'), safe_min_volume_ul=Unit(5, 'milliliter'), true_max_vol_ul=Unit(21.0, 'milliliter'), vendor='Axygen', cat_no='res-mw12-hp', prioritize_seal_or_cover='seal')
autoprotocol.container_type.FLAT96CLEARTC = ContainerType(name='96-well flat-bottom TC treated plate', is_tube=False, well_count=96, well_depth_mm=None, well_volume_ul=Unit(340.0, 'microliter'), well_coating=None, sterile=False, cover_types=['low_evaporation', 'standard', 'universal'], seal_types=None, capabilities=['liquid_handle', 'spin', 'absorbance', 'fluorescence', 'luminescence', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense'], shortname='96-flat-clear-clear-tc', col_count=12, dead_volume_ul=Unit(25, 'microliter'), safe_min_volume_ul=Unit(65, 'microliter'), true_max_vol_ul=Unit(340.0, 'microliter'), vendor='Eppendorf', cat_no='0030730119', prioritize_seal_or_cover='seal')
autoprotocol.container_type.V384CLEAR = ContainerType(name='384-well v-bottom polypropylene plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(120.0, 'microliter'), well_coating=None, sterile=False, cover_types=['universal', 'standard'], seal_types=['ultra-clear', 'foil'], capabilities=['incubate', 'seal', 'image_plate', 'liquid_handle', 'dispense', 'spin', 'mag_dry', 'mag_incubate', 'mag_collect', 'mag_release', 'mag_mix', 'absorbance', 'fluorescence', 'luminescence', 'cover', 'thermocycle'], shortname='384-v-clear-clear', col_count=24, dead_volume_ul=Unit(13, 'microliter'), safe_min_volume_ul=Unit(18, 'microliter'), true_max_vol_ul=Unit(120.0, 'microliter'), vendor='Greiner', cat_no='781280', prioritize_seal_or_cover='seal')
autoprotocol.container_type.ROUND384CLEAR = ContainerType(name='384-well round-bottom plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(70.0, 'microliter'), well_coating=None, sterile=False, cover_types=['universal', 'standard'], seal_types=['ultra-clear', 'foil'], capabilities=['incubate', 'seal', 'image_plate', 'liquid_handle', 'dispense', 'spin', 'mag_dry', 'mag_incubate', 'mag_collect', 'mag_release', 'mag_mix', 'absorbance', 'fluorescence', 'luminescence', 'cover', 'thermocycle'], shortname='384-round-clear-clear', col_count=24, dead_volume_ul=Unit(15, 'microliter'), safe_min_volume_ul=Unit(20, 'microliter'), true_max_vol_ul=Unit(70.0, 'microliter'), vendor='Corning', cat_no='3657', prioritize_seal_or_cover='seal')
autoprotocol.container_type.RESSW384LP = ContainerType(name='384-well singlewell lowprofile reservoir', is_tube=False, well_count=1, well_depth_mm=None, well_volume_ul=Unit(35, 'milliliter'), well_coating=None, sterile=False, cover_types=['universal'], seal_types=None, capabilities=['liquid_handle', 'incubate', 'cover', 'dispense', 'liquid_handle'], shortname='res-sw384-lp', col_count=1, dead_volume_ul=Unit(10, 'milliliter'), safe_min_volume_ul=Unit(30, 'milliliter'), true_max_vol_ul=Unit(92, 'milliliter'), vendor='Axygen', cat_no='res-sw384-lp', prioritize_seal_or_cover='seal')
autoprotocol.container_type.ECHO384LDV = ContainerType(name='384-well Echo low dead volume plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(14.0, 'microliter'), well_coating=None, sterile=None, cover_types=['universal'], seal_types=['foil', 'ultra-clear'], capabilities=['liquid_handle', 'seal', 'spin', 'incubate', 'dispense', 'cover'], shortname='384-echo-ldv', col_count=24, dead_volume_ul=Unit(2.5, 'microliter'), safe_min_volume_ul=Unit(2.5, 'microliter'), true_max_vol_ul=Unit(14.0, 'microliter'), vendor='Labcyte', cat_no='LP-0200', prioritize_seal_or_cover='seal')
autoprotocol.container_type.ECHO384LDVPLUS = ContainerType(name='384-well Echo low dead volume plus plate', is_tube=False, well_count=384, well_depth_mm=None, well_volume_ul=Unit(14.0, 'microliter'), well_coating='PureCoat Amine Surface', sterile=None, cover_types=['universal'], seal_types=['foil', 'ultra-clear'], capabilities=['liquid_handle', 'seal', 'spin', 'incubate', 'dispense', 'cover'], shortname='384-echo-ldv-plus', col_count=24, dead_volume_ul=Unit(4.5, 'microliter'), safe_min_volume_ul=Unit(4.5, 'microliter'), true_max_vol_ul=Unit(14.0, 'microliter'), vendor='Labcyte', cat_no='LPL-0200', prioritize_seal_or_cover='seal')