예제 #1
0
def write_ice_entry(ice_client, ice_id1, ice_id2, typ, write_seq, group_names):
    '''Write a composite ICE entry (part in plasmid, or plasmid in strain).'''
    comp1 = ice_client.get_ice_entry(ice_id1)
    comp2 = ice_client.get_ice_entry(ice_id2)

    name = comp1.get_metadata()['name'] + \
        ' (' + comp2.get_metadata()['name'] + ')'

    product = ICEEntry(typ=typ)
    product.set_values({'name': name[:127], 'shortDescription': name})

    taxonomy = comp1.get_parameter('Taxonomy')

    if taxonomy:
        product.set_parameter('Taxonomy', taxonomy)

    ice_client.set_ice_entry(product)
    ice_client.add_link(product.get_ice_id(), comp1.get_ice_id())
    ice_client.add_link(product.get_ice_id(), comp2.get_ice_id())

    if write_seq:
        product.set_dna(dna_utils.concat(
            [comp1.get_dna(), comp2.get_dna()]))

    ice_client.set_ice_entry(product)

    if group_names:
        groups = ice_client.get_groups()

        for group_name in group_names:
            ice_client.add_permission(product.get_ice_id(),
                                      groups[group_name])

    return product, comp1, comp2
예제 #2
0
 def test_set_values(self):
     '''Tests set_values method.'''
     ice_entry1 = ICEEntry(typ='PLASMID')
     ice_entry1.set_values({'creator': 'God', 'name': 'Test'})
     self.assertEqual(ice_entry1.get_metadata()['type'], 'PLASMID')
     self.assertEqual(ice_entry1.get_metadata()['creator'], 'God')
     self.assertEqual(ice_entry1.get_metadata()['name'], 'Test')
     ice_entry2 = ICEEntry(metadata={'type': 'PLASMID'})
     ice_entry2.set_values({'creator': 'God', 'name': 'Test'})
     self.assertEqual(ice_entry2.get_metadata()['type'], 'PLASMID')
     self.assertEqual(ice_entry2.get_metadata()['creator'], 'God')
     self.assertEqual(ice_entry2.get_metadata()['name'], 'Test')
예제 #3
0
 def test_set_values(self):
     '''Tests set_values method.'''
     ice_entry1 = ICEEntry(typ='PLASMID')
     ice_entry1.set_values({'creator': 'God', 'name': 'Test'})
     self.assertEqual(ice_entry1.get_metadata()['type'], 'PLASMID')
     self.assertEqual(ice_entry1.get_metadata()['creator'], 'God')
     self.assertEqual(ice_entry1.get_metadata()['name'], 'Test')
     ice_entry2 = ICEEntry(metadata={'type': 'PLASMID'})
     ice_entry2.set_values({'creator': 'God', 'name': 'Test'})
     self.assertEqual(ice_entry2.get_metadata()['type'], 'PLASMID')
     self.assertEqual(ice_entry2.get_metadata()['creator'], 'God')
     self.assertEqual(ice_entry2.get_metadata()['name'], 'Test')