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=['ultra-clear', 'foil'], capabilities=['liquid_handle', 'spin', 'absorbance', 'fluorescence', 'luminescence', 'incubate', 'gel_separate', 'gel_purify', 'cover', 'dispense', 'seal'], 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='cover')
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')