autoprotocol.container_type

container_type.ContainerType

class autoprotocol.container_type.ContainerType

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 (int) – Depth of well(s) contained in a ContainerType in millimeters.
  • well_volume_ul (int) – 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 (int) – Volume of liquid that cannot be aspirated from any given well of a ContainerType via liquid-handling.
  • safe_min_volume_ul (int) – Minimum volume of liquid to ensure adequate volume for liquid-handling aspiration from any given well of a ContainerType.
  • true_max_vol_ul (int) – 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) – ContainerType commercial vendor, if available.
  • cat_no (str) – 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”

ContainerType.robotize()

ContainerType.robotize(well_ref)

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:

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

Return type:

int, list

Raises:
  • TypeError – If well reference given is not an accepted type.
  • ValueError – If well reference given exceeds container dimensions.

ContainerType.humanize()

ContainerType.humanize(well_ref)

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.

ContainerType.decompose()

ContainerType.decompose(idx)

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

Parameters:well_ref (str, int) – Well index in either human-readable or integer form.
Returns:well_ref – tuple containing the column number and row number of the given well_ref.
Return type:tuple

ContainerType.row_count()

ContainerType.row_count()

Return the number of rows of this ContainerType.

Container Types

384-flat

decompose(self, idx):
"""
Return the (col, row) corresponding to the given well index.

Parameters
----------
well_ref : str, int
    Well index in either human-readable or integer form.

Returns
-------
well_ref : tuple
    tuple containing the column number and row number of the given
    well_ref.

"""
if not isinstance(idx, (int, basestring, Well)):

384-pcr

idx = self.robotize(idx)
return (idx // self.col_count, idx % self.col_count)

row_count(self):
"""
Return the number of rows of this ContainerType.

"""
return self.well_count // self.col_count


ER_TYPES = {
-flat": ContainerType(
name="384-well UV flat-bottom plate",
well_count=384,
well_depth_mm=None,
well_volume_ul=Unit(90.0, "microliter"),

384-echo

is_tube=False,
cover_types=["standard", "universal"],
seal_types=None,
capabilities=["pipette", "spin", "absorbance",
              "fluorescence", "luminescence",
              "incubate", "gel_separate",
              "gel_purify", "cover", "stamp",
              "dispense"],
shortname="384-flat",
col_count=24,
dead_volume_ul=Unit(7, "microliter"),
safe_min_volume_ul=Unit(15, "microliter"),
vendor="Corning",
cat_no="3706"

-pcr": ContainerType(

384-flat-white-white-lv

well_depth_mm=None,
well_volume_ul=Unit(40.0, "microliter"),
well_coating=None,
sterile=None,
is_tube=False,
cover_types=None,
seal_types=["ultra-clear", "foil"],
capabilities=["pipette", "spin", "thermocycle",
              "incubate", "gel_separate",
              "gel_purify",
              "seal", "stamp", "dispense"],
shortname="384-pcr",
col_count=24,
dead_volume_ul=Unit(2, "microliter"),
safe_min_volume_ul=Unit(3, "microliter"),
vendor="Eppendorf",
cat_no="951020539"

384-flat-white-white-tc

well_count=384,
well_depth_mm=None,
well_volume_ul=Unit(65.0, "microliter"),
well_coating=None,
sterile=None,
is_tube=False,
cover_types=["universal"],
seal_types=["foil", "ultra-clear"],
capabilities=["pipette", "seal", "spin",
              "incubate", "stamp", "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="P-05525"

384-flat-clear-clear

name="384-well flat-bottom low volume plate",
well_count=384,
well_depth_mm=9.39,
well_volume_ul=Unit(40.0, "microliter"),
well_coating=None,
sterile=False,
is_tube=False,
cover_types=["standard", "universal"],
seal_types=None,
capabilities=["absorbance", "cover", "dispense",
              "fluorescence", "image_plate",
              "incubate", "luminescence",
              "pipette", "spin",
              "stamp", "uncover"],
shortname="384-flat-white-white-lv",
col_count=24,
dead_volume_ul=Unit(5, "microliter"),
safe_min_volume_ul=Unit(15, "microliter"),

384-v-clear-clear

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",
is_tube=False,
col_count=3,
dead_volume_ul=Unit(400, "microliter"),
safe_min_volume_ul=Unit(600, "microliter"),
vendor="Eppendorf",
cat_no="30720016"

lat": ContainerType(
name="1-well flat-bottom plate",

384-round-clear-clear

well_volume_ul=Unit(80000.0, "microliter"),
well_coating=None,
sterile=False,
cover_types=["universal"],
seal_types=None,
capabilities=["cover", "incubate"],
shortname="1-flat",
is_tube=False,
col_count=1,
dead_volume_ul=Unit(36000, "microliter"),
safe_min_volume_ul=Unit(40000, "microliter"),
vendor="Fisher",
cat_no="267060"

lat-tc": ContainerType(
name="6-well TC treated plate",
well_count=6,
well_depth_mm=None,

384-flat-white-white-nbs

sterile=False,
cover_types=["standard", "universal"],
seal_types=None,
capabilities=["cover", "incubate", "image_plate"],
shortname="6-flat-tc",
is_tube=False,
col_count=3,
dead_volume_ul=Unit(400, "microliter"),
safe_min_volume_ul=Unit(600, "microliter"),
vendor="Eppendorf",
cat_no="30720113"

-sw96-hp": ContainerType(
name="96-well singlewell highprofile reservoir",
well_count=1,
well_depth_mm=None,
well_volume_ul=Unit(200.0, "milliliter"),
well_coating=None,

384-flat-white-white-optiplate

-flat-white-white-optiplate": ContainerType(
name="384-well flat-bottom polystyrene optimized plate",
well_count=384,
well_depth_mm=Unit(10.45, "millimeter"),
well_volume_ul=Unit(105.0, "microliter"),
well_coating=None,
sterile=False,
is_tube=False,
cover_types=["universal"],
seal_types=["ultra-clear", "foil"],
capabilities=["incubate", "seal", "image_plate",
              "miniprep_source", "maxiprep_source",
              "maxiprep_destination", "stamp", "dispense",
              "spin", "sanger_sequence", "miniprep_destination",
              "flash_freeze", "echo_dest", "cover",
              "fluorescence", "luminescence", "pipette",
              "uncover", "bluewash"],
shortname="384-flat-white-white-optiplate",
col_count=24,
dead_volume_ul=Unit(24, "microliter"),
safe_min_volume_ul=Unit(30, "microliter"),
vendor="PerkinElmer",
cat_no="6007299"

96-flat

-flat-white-white-tc": ContainerType(
name="384-well flat-bottom low flange plate",
well_count=384,
well_depth_mm=11.43,
well_volume_ul=Unit(80.0, "microliter"),
well_coating=None,
sterile=True,
is_tube=False,
cover_types=["standard", "universal"],
seal_types=None,
capabilities=["absorbance", "cover", "dispense",
              "fluorescence", "image_plate",
              "incubate", "luminescence",
              "pipette", "spin",
              "stamp", "uncover"],
shortname="384-flat-white-white-tc",
col_count=24,

96-flat-uv

vendor="Corning",
cat_no="3570"

-flat-clear-clear": ContainerType(
name="384-well fully clear high binding plate",
well_count=384,
well_depth_mm=11.43,
well_volume_ul=Unit(80.0, "microliter"),
well_coating="high bind",
sterile=False,
is_tube=False,
cover_types=["standard", "universal", "low_evaporation"],
seal_types=["ultra-clear", "foil"],
capabilities=["incubate", "seal", "image_plate",
              "stamp", "dispense", "spin",
              "absorbance", "cover",
              "fluorescence", "luminescence",
              "pipette", "uncover"],

96-flat-black-black-fluotrac-600

seal_types=["ultra-clear"],
capabilities=["incubate", "seal", "deseal", "stamp", "dispense",
              "spin", "cover", "pipette", "uncover",
              "bluewash", "mesoscale_sectors600"],
shortname="96-10-spot-vplex-m-pro-inflamm1-MSD",
col_count=12,
dead_volume_ul=Unit(25, "microliter"),
safe_min_volume_ul=Unit(65, "microliter"),
vendor="Mesoscale",
cat_no="K15048G"

4-spot-mMIP3a-MSD": ContainerType(
name="96-well 4-spot mouse MIP3a MSD plate",
well_count=96,
well_depth_mm=None,
well_volume_ul=Unit(340.0, "microliter"),
well_coating=None,
sterile=False,
is_tube=False,
cover_types=["low_evaporation", "standard", "universal"],
seal_types=["ultra-clear"],
capabilities=["incubate", "seal", "deseal", "stamp", "dispense",

96-flat-clear-clear-tc

name="1.5mL Microcentrifuge tube",
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=["pipette", "gel_separate",
              "gel_purify", "incubate", "spin"],
shortname="micro-1.5",
is_tube=True,
col_count=1,
dead_volume_ul=Unit(20, "microliter"),
safe_min_volume_ul=Unit(20, "microliter"),
vendor="USA Scientific",
cat_no="1615-5500"

lat": ContainerType(

96-pcr

dead_volume_ul=Unit(5, "microliter"),
safe_min_volume_ul=Unit(20, "microliter"),
vendor="Corning",
cat_no="3700"

flat": ContainerType(
name="96-well flat-bottom plate",
well_count=96,
well_depth_mm=None,
well_volume_ul=Unit(340.0, "microliter"),
well_coating=None,
sterile=False,
is_tube=False,
cover_types=["low_evaporation", "standard", "universal"],
seal_types=None,
capabilities=["pipette", "spin", "absorbance",
              "fluorescence", "luminescence",

96-deep

              "dispense"],
shortname="96-flat",
col_count=12,
dead_volume_ul=Unit(25, "microliter"),
safe_min_volume_ul=Unit(65, "microliter"),
vendor="Corning",
cat_no="3632"

flat-uv": ContainerType(
name="96-well flat-bottom UV transparent plate",
well_count=96,
well_depth_mm=None,
well_volume_ul=Unit(340.0, "microliter"),
well_coating=None,
sterile=False,
is_tube=False,

96-v-kf

capabilities=["pipette", "spin", "absorbance",
              "fluorescence", "luminescence",
              "incubate", "gel_separate",
              "gel_purify", "cover", "stamp",
              "dispense"],
shortname="96-flat-uv",
col_count=12,
dead_volume_ul=Unit(25, "microliter"),
safe_min_volume_ul=Unit(65, "microliter"),
vendor="Corning",
cat_no="3635"

pcr": ContainerType(
name="96-well PCR plate",
well_count=96,
well_depth_mm=None,
well_volume_ul=Unit(160.0, "microliter"),
well_coating=None,

96-deep-kf

cover_types=None,
seal_types=["ultra-clear", "foil"],
capabilities=["pipette", "sangerseq", "spin",
              "thermocycle", "incubate",
              "gel_separate", "gel_purify",
              "seal", "stamp", "dispense"],
shortname="96-pcr",
col_count=12,
dead_volume_ul=Unit(3, "microliter"),
safe_min_volume_ul=Unit(5, "microliter"),
vendor="Eppendorf",
cat_no="951020619"

deep": ContainerType(
name="96-well extended capacity plate",
well_count=96,
well_depth_mm=None,
well_volume_ul=Unit(2000.0, "microliter"),

24-deep

cover_types=["standard", "universal"],
seal_types=["breathable"],
prioritize_seal_or_cover="cover",
capabilities=["pipette", "incubate",
              "gel_separate", "gel_purify",
              "cover", "stamp", "dispense",
              "seal"],
shortname="96-deep",
is_tube=False,
col_count=12,
dead_volume_ul=Unit(5, "microliter"),
safe_min_volume_ul=Unit(30, "microliter"),
vendor="Corning",
cat_no="3961"

v-kf": ContainerType(

6-flat

is_tube=False,
col_count=12,
dead_volume_ul=Unit(50, "microliter"),
safe_min_volume_ul=Unit(50, "microliter"),
vendor="Fisher",
cat_no="22-387-031"

deep": ContainerType(
name="24-well extended capacity plate",
well_count=24,
well_depth_mm=None,
well_volume_ul=Unit(10000.0, "microliter"),
well_coating=None,
sterile=False,

6-flat-tc

well_coating=None,
sterile=False,
cover_types=None,
seal_types=None,
capabilities=["pipette", "gel_separate",
              "gel_purify", "incubate", "spin"],
shortname="micro-2.0",
is_tube=True,
col_count=1,
dead_volume_ul=Unit(5, "microliter"),
safe_min_volume_ul=Unit(40, "microliter"),
vendor="E&K Scientific",
cat_no="280200"

1-flat

capabilities=["pipette", "incubate",
              "gel_separate", "gel_purify",
              "stamp", "dispense", "seal"],
shortname="24-deep",
is_tube=False,
col_count=6,
dead_volume_ul=Unit(15, "microliter"),
safe_min_volume_ul=Unit(60, "microliter"),
vendor="E&K Scientific",
cat_no="EK-2053-S"

ro-2.0": ContainerType(
name="2mL Microcentrifuge tube",
well_count=1,

micro-2.0

well_depth_mm=None,
well_volume_ul=Unit(200.0, "microliter"),
well_coating=None,
sterile=False,
cover_types=["standard"],
seal_types=None,
capabilities=["pipette", "incubate",
              "gel_separate", "mag_dry",
              "mag_incubate", "mag_collect",
              "mag_release", "mag_mix",
              "cover", "stamp", "dispense"],
shortname="96-v-kf",
is_tube=False,
col_count=12,
dead_volume_ul=Unit(20, "microliter"),

micro-1.5

cat_no="22-387-030"

deep-kf": ContainerType(
name="96-well extended capacity King Fisher plate",
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=["pipette", "incubate",
              "gel_separate", "mag_dry",
              "mag_incubate", "mag_collect",
              "mag_release", "mag_mix",