def provision_assay_plate(name, plate_type='4titude 4ti-0223', id=None): """ Provision a new assay plate. Parameters ---------- name : str The name of the container plate_type : str, optional, default='4titude 4ti-0223' The name of the plate type used to retrieve the `container_type` from library id : str, optional, default=None Unless `id` is specified, a unique container ID will be autogenerated. """ if id == None: id = generate_uuid # Define the container container_type = container_types[plate_type] container = Container(name="assay-plate", id=id, container_type=container_type) # Initialize well properties for this container for well in container.all_wells(): well.set_volume(Unit(0.0, 'microliters')) # well starts empty return container
def test_set_properties(self): c = Container(None, dummy_type) c.well(0).set_properties({"Concentration": "40:nanogram/microliter"}) self.assertIsInstance(c.well(0).properties, dict) self.assertEqual(["Concentration"], c.well(0).properties.keys()) self.assertEqual(["40:nanogram/microliter"], c.well(0).properties.values())
def test_add_properties(self): c = Container(None, dummy_type) c.well(0).add_properties({"nickname": "dummy"}) self.assertEqual(len(c.well(0).properties.keys()), 1) c.well(0).set_properties({"concentration": "12:nanogram/microliter"}) self.assertEqual(len(c.well(0).properties.keys()), 2) c.well(0).add_properties({"property1": "2", "ratio": "1:10"}) self.assertEqual(len(c.well(0).properties.keys()), 4) self.assertRaises(AssertionError, c.well(0).add_properties, ["property", "value"])
def test_add_properties_wellgroup(self): c = Container(None, dummy_type) group = c.wells_from(0, 3).set_properties({ "property1": "value1", "property2": "value2" }) c.well(0).add_properties({"property4": "value4"}) self.assertEqual(len(c.well(0).properties.keys()), 3) for well in group: self.assertTrue("property1" in well.properties) self.assertTrue("property2" in well.properties)
def dummy_pathological(): return Container( None, ContainerType( name="dummy", well_count=384, well_depth_mm=None, well_volume_ul=Unit(200, "microliter"), well_coating=None, sterile=False, is_tube=False, cover_types=[], seal_types=None, capabilities=[], shortname="dummy", col_count=96, dead_volume_ul=Unit(15, "microliter"), safe_min_volume_ul=Unit(30, "microliter"), ), )
def dummy_96(): return Container( None, ContainerType( name="dummy", well_count=96, well_depth_mm=None, well_volume_ul=Unit(200, "microliter"), well_coating=None, sterile=False, is_tube=False, cover_types=["universal"], seal_types=None, capabilities=["cover"], shortname="dummy", col_count=12, dead_volume_ul=Unit(15, "microliter"), safe_min_volume_ul=Unit(30, "microliter") ) )
def dummy_reservoir_row(): return Container( None, ContainerType( name="dummy", well_count=8, well_depth_mm=None, well_volume_ul=Unit(200, "microliter"), well_coating=None, sterile=False, is_tube=False, cover_types=None, seal_types=None, capabilities=None, shortname="dummy", col_count=1, dead_volume_ul=Unit(15, "microliter"), safe_min_volume_ul=Unit(30, "microliter"), ), )
def dummy_echo(): return Container( None, ContainerType( name="dummy", well_count=384, well_depth_mm=None, well_volume_ul=Unit(65, "microliter"), well_coating=None, sterile=False, is_tube=False, cover_types=[], seal_types=None, capabilities=[], shortname="dummy", col_count=96, dead_volume_ul=Unit(15, "microliter"), safe_min_volume_ul=Unit(15, "microliter"), true_max_vol_ul=Unit(135, "microliter"), vendor="Labcyte" ) )
def ref_kit_container(protocol, name, container, kit_id, discard=True, store=None): ''' Still in use to allow booking of agar plates on the fly ''' kit_item = Container(None, protocol.container_type(container)) if store: protocol.refs[name] = Ref(name, { "reserve": kit_id, "store": { "where": store } }, kit_item) else: protocol.refs[name] = Ref(name, { "reserve": kit_id, "discard": discard }, kit_item) return (kit_item)
def test_set_volume_through_group(self): c = Container(None, dummy_type) c.all_wells().set_volume("30:microliter") for w in c.all_wells(): self.assertEqual(30, w.volume.value)
def test_set_volume(self): c = Container(None, dummy_type) c.well(0).set_volume("20:microliter") self.assertEqual(20, c.well(0).volume.value) self.assertEqual("microliter", c.well(0).volume.unit) self.assertIs(None, c.well(1).volume)
def setUp(self): self.c = Container(None, dummy_type)
well_depth_mm=Unit(11.15, 'millimeter'), well_volume_ul=Unit(300, 'milliliter'), well_coating='polystyrene', sterile=False, capabilities=capabilities, shortname='4ti-0223', col_count=12, dead_volume_ul=Unit(20, 'milliliter'), safe_min_volume_ul=Unit(50, 'milliliter')) # Generate a unique container ID import uuid id = str(uuid.uuid4()) # Define the container container = Container(name="assay-plate", id=id, container_type=container_type) # # Assay Parameters # Lstated = [ Unit(x, "moles/liter") for x in [ 20.0e-6, 9.15e-6, 4.18e-6, 1.91e-6, 0.875e-6, 0.4e-6, 0.183e-6, 0.0837e-6, 0.0383e-6, 0.0175e-6, 0.008e-6, 0 ] ] # gefitinib concentration Pstated = Unit(0.5e-6, "moles/liter") well_volume = Unit(100, "milliliter") receptor_name = 'Src' ligand_name = 'gefitinib'
def make_containers(self, dummy_type): self.c = Container(None, dummy_type) self.c2 = Container(None, dummy_type)
def make_another_container(self, dummy_type): self.c2 = Container(None, dummy_type)
def make_wells(self, dummy_type): self.container = Container(id=None, container_type=dummy_type) self.well = self.container.well(0)