예제 #1
0
def test_make_cm():
    m = MRA()
    ekb = ekb_from_text('MEK binds MAPK1. MEK binds MAPK3.')
    res = m.build_model_from_ekb(ekb)
    pysb_model = res['model_exec']
    cm = make_contact_map(pysb_model)
    assert len(list(cm.nodes())) == 3
    assert len(list(cm.edges())) == 2
예제 #2
0
def test_make_im():
    m = MRA()
    ekb = ekb_from_text('KRAS activates BRAF. Active BRAF binds MEK.')
    res = m.build_model_from_ekb(ekb)
    pysb_model = res['model_exec']
    im = make_influence_map(pysb_model)
    assert len(list(im.nodes())) == 3
    assert len(list(im.edges())) == 3
예제 #3
0
def test_build_model_from_ekb():
    m = MRA()
    ekb = ekb_from_text('MAP2K1 phosphorylates MAPK1.')
    res = m.build_model_from_ekb(ekb)
    assert(res.get('model'))
    assert(res.get('model_id') == 1)
    assert(res.get('model_exec'))
    assert(len(m.models[1]) == 1)
    assert(isinstance(m.models[1][0], sts.Phosphorylation))
    assert(m.models[1][0].enz.name == 'MAP2K1')
예제 #4
0
def test_make_diagrams():
    m = MRA()
    ekb = ekb_from_text('KRAS activates BRAF. Active BRAF binds MEK.')
    res = m.build_model_from_ekb(ekb)
    diagrams = res['diagrams']
    assert diagrams['reactionnetwork']
    assert diagrams['reactionnetwork'].endswith('.png')
    assert diagrams['contactmap']
    assert diagrams['contactmap'].endswith('.png')
    assert diagrams['influencemap']
    assert diagrams['influencemap'].endswith('.png')
예제 #5
0
def test_expand_model_from_ekb():
    m = MRA()
    ekb = ekb_from_text('MAP2K1 phosphorylates MAPK1.')
    res = m.build_model_from_ekb(ekb)
    model_id = res.get('model_id')
    assert(res.get('model'))
    assert(res.get('model_id') == 1)
    assert(len(m.models[1]) == 1)
    ekb = ekb_from_text('MAP2K2 phosphorylates MAPK1.')
    res = m.expand_model_from_ekb(ekb, model_id)
    assert(res.get('model'))
    assert(res.get('model_id') == 2)
    assert(len(m.models[2]) == 2)
예제 #6
0
def test_sbgn():
    m = MRA()
    ekb = ekb_from_text('KRAS activates BRAF.')
    res = m.build_model_from_ekb(ekb)
    ekb = ekb_from_text('NRAS activates BRAF.')
    res = m.expand_model_from_ekb(ekb, 1)
    sbgn = res['diagrams']['sbgn']
    tree = ET.fromstring(sbgn)
    glyphs = tree.findall('s:map/s:glyph',
                          namespaces={'s': 'http://sbgn.org/libsbgn/0.3'})
    assert len(glyphs) == 6
    res = m.model_undo()
    sbgn = res['diagrams']['sbgn']
    tree = ET.fromstring(sbgn)
    glyphs = tree.findall('s:map/s:glyph',
                          namespaces={'s': 'http://sbgn.org/libsbgn/0.3'})
    assert len(glyphs) == 4
예제 #7
0
def test_has_mechanism():
    m = MRA()
    ekb = ekb_from_text('BRAF binds MEK')
    m.build_model_from_ekb(ekb)
    has_mechanism = m.has_mechanism(ekb, 1)
    assert (has_mechanism)