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
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
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')
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')
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)
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
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)