In [3]:
from ome import base
from ome.components import *

ome = base.Session()
G --+---> H +---> F --+--> D | +--> E +---> C --+--> A +--> B --+--> I +--> J A + B = C D + E = F H + F + C = G I + J = B

In [4]:
G = ome.get_or_create(Complex, name='G')
H = ome.get_or_create(Complex, name='H')
F = ome.get_or_create(Complex, name='F')
C = ome.get_or_create(Complex, name='C')

ome.get_or_create(ComplexComposition, complex_id=G.id, component_id=H.id, stoichiometry=1.)
ome.get_or_create(ComplexComposition, complex_id=G.id, component_id=F.id, stoichiometry=1.)
ome.get_or_create(ComplexComposition, complex_id=G.id, component_id=C.id, stoichiometry=1.)

D = ome.get_or_create(Protein, name='D')
E = ome.get_or_create(Protein, name='E')

ome.get_or_create(ComplexComposition, complex_id=F.id, component_id=D.id, stoichiometry=1.)
ome.get_or_create(ComplexComposition, complex_id=F.id, component_id=E.id, stoichiometry=1.)

A = ome.get_or_create(Protein, name='A')
B = ome.get_or_create(Complex, name='B')

ome.get_or_create(ComplexComposition, complex_id=C.id, component_id=A.id, stoichiometry=1.)
ome.get_or_create(ComplexComposition, complex_id=C.id, component_id=B.id, stoichiometry=1.)

I = ome.get_or_create(Protein, name='I')
J = ome.get_or_create(Protein, name='J')

ome.get_or_create(ComplexComposition, complex_id=B.id, component_id=I.id, stoichiometry=1.)
ome.get_or_create(ComplexComposition, complex_id=B.id, component_id=J.id, stoichiometry=1.)


Out[4]:
<ome.components.ComplexComposition at 0x105ec83d0>

In [6]:
C.children


Out[6]:
[Protein (#106732, None), Complex (#106733):  None]

In [5]:
C.all_children


Out[5]:
[Protein (#106732, None),
 Complex (#106733):  None,
 Protein (#106734, None),
 Protein (#106735, None)]

In [7]:
C.parent


Out[7]:
[Complex (#106726):  None]

In [ ]: