Example #1
0
def test_annotation():
    st = Phosphorylation(Agent('BRAF', db_refs = {'UP': 'P15056'}),
                         Agent('MAP2K2', db_refs = {'HGNC': '6842'}))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.annotations) == 4)
Example #2
0
def test_non_python_name_phos():
    st = Phosphorylation(Agent('14-3-3'), Agent('BRAF kinase'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    names = [m.name for m in pa.model.monomers]
    assert('BRAF_kinase' in names)
    assert('p14_3_3' in names)
    bng.generate_equations(pa.model)
Example #3
0
def test_agent_loc():
    st = Phosphorylation(Agent('BRAF', location='cytoplasm'), Agent('MEK'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.rules) == 1)
    r = pa.model.rules[0]
    braf = r.reactant_pattern.complex_patterns[0].monomer_patterns[0]
    assert(braf.site_conditions == {'loc': 'cytoplasm'})
Example #4
0
def test_set_context():
    st = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(pa.model.parameters['MAP2K1_0'].value == pa.default_initial_amount)
    assert(pa.model.parameters['MAPK3_0'].value == pa.default_initial_amount)
    pa.set_context('A375_SKIN')
    assert(pa.model.parameters['MAP2K1_0'].value > 10000)
    assert(pa.model.parameters['MAPK3_0'].value > 10000)
Example #5
0
def test_set_context_monomer_notfound():
    st = Phosphorylation(Agent('MAP2K1'), Agent('XYZ'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(pa.model.parameters['MAP2K1_0'].value < 1000)
    assert(pa.model.parameters['XYZ_0'].value < 1000)
    pa.set_context('A375_SKIN')
    assert(pa.model.parameters['MAP2K1_0'].value > 10000)
    assert(pa.model.parameters['XYZ_0'].value < 1000)
Example #6
0
def test_pysb_assembler_twostep_mixed():
    member1 = Agent('BRAF')
    member2 = Agent('RAF1')
    st1 = Complex([member1, member2])
    st2 = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st1, st2])
    pa.make_model(policies='two_step')
    assert(len(pa.model.rules)==5)
    assert(len(pa.model.monomers)==4)
Example #7
0
def test_pysb_assembler_phos_twostep_local_to_global():
    enz = Agent('BRAF')
    sub = Agent('MEK1')
    stmt = Phosphorylation(enz, sub, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model(policies='two_step')
    # This call should have reverted to default policy
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #8
0
def test_export_model():
    st = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    exp_str = pa.export_model('kappa')
    assert(exp_str)
    exp_str = pa.export_model('bngl')
    assert(exp_str)
    exp_str = pa.export_model('sbml', file_name='/dev/null')
    assert(exp_str)
Example #9
0
def test_mut():
    mut = MutCondition('600', 'V', 'E')
    st = Phosphorylation(Agent('BRAF', mutations=[mut]), Agent('MEK'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.rules) == 1)
    r = pa.model.rules[0]
    braf = r.reactant_pattern.complex_patterns[0].monomer_patterns[0]
    assert(braf.monomer.name == 'BRAF')
    assert(braf.site_conditions == {'V600': 'E'})
Example #10
0
def test_neg_agent_mod():
    mc = ModCondition('phosphorylation', 'serine', '123', False)
    st = Phosphorylation(Agent('BRAF', mods=[mc]), Agent('MAP2K2'))
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.rules) == 1)
    r = pa.model.rules[0]
    braf = r.reactant_pattern.complex_patterns[0].monomer_patterns[0]
    assert(braf.monomer.name == 'BRAF')
    assert(braf.site_conditions == {'S123': ('u', WILD)})
Example #11
0
def test_translocation():
    st = Translocation(Agent('FOXO3A'), 'nucleus', 'cytoplasm')
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.rules) == 1)
    r = pa.model.rules[0]
    f1 = r.reactant_pattern.complex_patterns[0].monomer_patterns[0]
    assert(f1.site_conditions == {'loc': 'nucleus'})
    f2 = r.product_pattern.complex_patterns[0].monomer_patterns[0]
    assert(f2.site_conditions == {'loc': 'cytoplasm'})
    assert(r.rate_forward.name == 'kf_foxo3a_nucleus_cytoplasm_1')
Example #12
0
def test_translocation_loc_special_char():
    st = Translocation(Agent('KSR1'), 'cytoplasm', 'cell surface')
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(len(pa.model.rules) == 1)
    r = pa.model.rules[0]
    f1 = r.reactant_pattern.complex_patterns[0].monomer_patterns[0]
    assert(f1.site_conditions == {'loc': 'cytoplasm'})
    f2 = r.product_pattern.complex_patterns[0].monomer_patterns[0]
    assert(f2.site_conditions == {'loc': 'cell_surface'})
    assert(r.rate_forward.name == 'kf_ksr1_cytoplasm_cell_surface_1')
Example #13
0
def test_activation_subj1():
    """No subject activity is defined."""
    st = Activation(Agent('a'), Agent('b'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    assert(pa.model.monomers['a'].sites == [])
    left = pa.model.rules[0].reactant_pattern
    subj_left = left.complex_patterns[0].monomer_patterns[0]
    right = pa.model.rules[0].product_pattern
    subj_right = right.complex_patterns[0].monomer_patterns[0]
    assert(subj_left.site_conditions == {})
    assert(subj_right.site_conditions == {})
Example #14
0
def test_activation_subj3():
    """Subject activity is defined implicitly by another statement."""
    st = Activation(Agent('a'), Agent('b'))
    st2 = Activation(Agent('c'), Agent('a'))
    pa = PysbAssembler()
    pa.add_statements([st, st2])
    pa.make_model()
    assert(pa.model.monomers['a'].sites == ['activity'])
    left = pa.model.rules[0].reactant_pattern
    subj_left = left.complex_patterns[0].monomer_patterns[0]
    right = pa.model.rules[0].product_pattern
    subj_right = right.complex_patterns[0].monomer_patterns[0]
    assert(subj_left.site_conditions == {u'activity': (u'active')})
    assert(subj_right.site_conditions == {u'activity': (u'active')})
Example #15
0
def test_activation_subj2():
    """Subject activity is defined explicitly."""
    st = Activation(Agent('a'), Agent('b'))
    st2 = ActiveForm(Agent('a', mods=[ModCondition('phosphorylation')]),
                     'activity', True)
    pa = PysbAssembler()
    pa.add_statements([st, st2])
    pa.make_model()
    assert(pa.model.monomers['a'].sites == ['phospho'])
    left = pa.model.rules[0].reactant_pattern
    subj_left = left.complex_patterns[0].monomer_patterns[0]
    right = pa.model.rules[0].product_pattern
    subj_right = right.complex_patterns[0].monomer_patterns[0]
    assert(subj_left.site_conditions == {u'phospho': (u'p', WILD)})
    assert(subj_right.site_conditions == {u'phospho': (u'p', WILD)})
Example #16
0
def test_missing_catalytic_default_site():
    c8 = Agent('CASP8', activity=ActivityCondition('catalytic', True))
    c3 = Agent('CASP3')
    stmt = Activation(c8, c3, 'catalytic')
    # Interactions only
    pa = PysbAssembler(policies='interactions_only')
    pa.add_statements([stmt])
    model = pa.make_model()
    # One step
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([stmt])
    model = pa.make_model()
    # Two step
    pa = PysbAssembler(policies='two_step')
    pa.add_statements([stmt])
    model = pa.make_model()
Example #17
0
def test_missing_transcription_default_site():
    p53 = Agent('TP53', activity=ActivityCondition('transcription', True))
    bax = Agent('BAX')
    stmt = Activation(p53, bax)
    # Interactions only
    pa = PysbAssembler(policies='interactions_only')
    pa.add_statements([stmt])
    model = pa.make_model()
    # One step
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([stmt])
    model = pa.make_model()
    # Two step
    pa = PysbAssembler(policies='two_step')
    pa.add_statements([stmt])
    model = pa.make_model()
Example #18
0
def test_pysb_assembler_actsub():
    stmt = ActiveForm(Agent('BRAF', mutations=[MutCondition('600', 'V', 'E')]),
                      'activity', True)
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model(policies='two_step')
    assert(len(model.rules)==0)
    assert(len(model.monomers)==1)
Example #19
0
def test_pysb_assembler_autophos1():
    enz = Agent('MEK1')
    stmt = Autophosphorylation(enz, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==1)
Example #20
0
def test_pysb_assembler_transphos1():
    egfr = Agent('EGFR')
    enz = Agent('EGFR', bound_conditions=[BoundCondition(egfr, True)])
    stmt = Transphosphorylation(enz, 'tyrosine')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==1)
Example #21
0
def test_pysb_assembler_complex1():
    member1 = Agent('BRAF')
    member2 = Agent('MEK1')
    stmt = Complex([member1, member2])
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==2)
    assert(len(model.monomers)==2)
Example #22
0
def test_pysb_assembler_dephos_noenz():
    enz = None
    sub = Agent('MEK1')
    stmt = Phosphorylation(enz, sub, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==0)
    assert(len(model.monomers)==0)
Example #23
0
def test_activity_activity3():
    subj = Agent('Vemurafenib')
    obj = Agent('BRAF')
    stmt = Inhibition(subj, obj)
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #24
0
def test_activity_activity():
    subj = Agent('KRAS')
    obj = Agent('BRAF')
    stmt = Activation(subj, obj)
    pa = PysbAssembler(policies='interactions_only')
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #25
0
def test_pysb_assembler_dephos_twostep1():
    phos = Agent('PP2A')
    sub = Agent('MEK1')
    stmt = Dephosphorylation(phos, sub, 'serine', '222')
    pa = PysbAssembler(policies='two_step')
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==3)
    assert(len(model.monomers)==2)
Example #26
0
def test_pysb_assembler_phos_twostep_local():
    enz = Agent('BRAF')
    sub = Agent('MEK1')
    stmt = Phosphorylation(enz, sub, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model(policies='two_step')
    assert(len(model.rules)==3)
    assert(len(model.monomers)==2)
Example #27
0
def test_pysb_assembler_rasgap1():
    gap = Agent('NF1')
    ras = Agent('HRAS')
    stmt = RasGap(gap, ras)
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #28
0
def test_pysb_assembler_rasgef1():
    gef = Agent('SOS1')
    ras = Agent('HRAS')
    stmt = RasGef(gef, ras)
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #29
0
def test_pysb_assembler_autophos2():
    raf1 = Agent('RAF1')
    enz = Agent('MEK1', bound_conditions=[BoundCondition(raf1, True)])
    stmt = Autophosphorylation(enz, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)
Example #30
0
def test_pysb_assembler_complex_multiway():
    member1 = Agent('BRAF')
    member2 = Agent('MEK1')
    member3 = Agent('ERK1')
    stmt = Complex([member1, member2, member3])
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model(policies='multi_way')
    assert (len(model.rules) == 2)
    assert (len(model.monomers) == 3)
Example #31
0
def test_increaseamount_one_step():
    subj = Agent('KRAS')
    obj = Agent('BRAF')
    st1 = IncreaseAmount(subj, obj)
    st2 = IncreaseAmount(None, obj)
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([st1, st2])
    model = pa.make_model()
    assert (len(model.rules) == 2)
    assert (len(model.monomers) == 2)
Example #32
0
def test_pysb_assembler_dephos2():
    phos = Agent('PP2A')
    raf1 = Agent('RAF1')
    sub = Agent('MEK1', bound_conditions=[BoundCondition(raf1, True)])
    stmt = Dephosphorylation(phos, sub, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert (len(model.rules) == 1)
    assert (len(model.monomers) == 3)
Example #33
0
def test_pysb_assembler_act1():
    egfr = Agent('EGFR')
    subj = Agent('GRB2', bound_conditions=[BoundCondition(egfr, True)])
    obj = Agent('SOS1')
    stmt = Activation(subj, obj)
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert (len(model.rules) == 1)
    assert (len(model.monomers) == 3)
Example #34
0
def test_pysb_assembler_phos2():
    hras = Agent('HRAS')
    enz = Agent('BRAF', bound_conditions=[BoundCondition(hras, True)])
    sub = Agent('MEK1')
    stmt = Phosphorylation(enz, sub, 'serine', '222')
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert (len(model.rules) == 1)
    assert (len(model.monomers) == 3)
Example #35
0
def test_decreaseamount_interactions_only():
    subj = Agent('KRAS')
    obj = Agent('BRAF')
    st1 = DecreaseAmount(subj, obj)
    st2 = DecreaseAmount(None, obj)
    pa = PysbAssembler(policies='interactions_only')
    pa.add_statements([st1, st2])
    model = pa.make_model()
    assert (len(model.rules) == 1)
    assert (len(model.monomers) == 2)
Example #36
0
def test_pysb_assembler_complex3():
    hras = Agent('HRAS')
    member1 = Agent('BRAF', bound_conditions=[BoundCondition(hras, True)])
    member2 = Agent('MEK1')
    stmt = Complex([member1, member2])
    pa = PysbAssembler()
    pa.add_statements([stmt])
    model = pa.make_model()
    assert (len(model.rules) == 2)
    assert (len(model.monomers) == 3)
Example #37
0
def test_activeform_site():
    a = Agent('A', db_refs={'HGNC': '1234'})
    b = Agent('B', db_refs={'HGNC': '5678'})
    b_phos = Agent('B', mods=[ModCondition('phosphorylation', 'Y', '200')],
                   db_refs={'HGNC': '5678'})
    st1 = Phosphorylation(a, b, 'S', '100')
    st2 = ActiveForm(b_phos, 'kinase', True)
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([st1, st2])
    model = pa.make_model()
Example #38
0
def test_activeform_site():
    a = Agent('A', db_refs={'HGNC': '1234'})
    b = Agent('B', db_refs={'HGNC': '5678'})
    b_phos = Agent('B',
                   mods=[ModCondition('phosphorylation', 'Y', '200')],
                   db_refs={'HGNC': '5678'})
    st1 = Phosphorylation(a, b, 'S', '100')
    st2 = ActiveForm(b_phos, 'kinase', True)
    pa = PysbAssembler(policies='one_step')
    pa.add_statements([st1, st2])
    model = pa.make_model()
Example #39
0
def test_unspecified_statement_policies():
    enz = Agent('BRAF')
    sub = Agent('MEK1')
    phos = Agent('PP2A')
    stmt1 = Phosphorylation(enz, sub, 'serine', '222')
    stmt2 = Dephosphorylation(phos, sub, 'serine', '222')
    policies = {'Phosphorylation': 'two_step', 'other': 'interactions_only'}
    pa = PysbAssembler(policies=policies)
    pa.add_statements([stmt1, stmt2])
    model = pa.make_model()
    assert (len(model.rules) == 4)
    assert (len(model.monomers) == 3)
Example #40
0
 def check_rule_annotation(stmt, policy):
     pa = PysbAssembler(policies=policy)
     pa.add_statements([stmt])
     model = pa.make_model()
     subj = [ann.object for ann in model.annotations
             if ann.predicate == 'rule_has_subject']
     obj = [ann.object for ann in model.annotations
             if ann.predicate == 'rule_has_object']
     assert len(subj) == 1
     assert subj[0] == 'A'
     assert len(obj) == 1
     assert obj[0] == 'B'
Example #41
0
def test_assemble_export_sbgn():
    # Add various statements to test their assembly
    st = Phosphorylation(Agent('BRAF'), Agent('MAP2K1'))
    mc = ModCondition('phosphorylation', None, None, True)
    st2 = Activation(Agent('MAP2K1', mods=[mc]), Agent('MAPK1'))
    st3 = Complex([Agent('MAPK1'), Agent('DUSP6')])
    st4 = DecreaseAmount(None, Agent('DUSP6'))
    pa = PysbAssembler()
    pa.add_statements([st, st2, st3, st4])
    pa.make_model()
    # Export to SBGN
    model = pa.export_model('sbgn')
    assert model is not None
    # Test that the right elements are there in the result
    et = ET.fromstring(model)
    sbgn_ns = {'s': 'http://sbgn.org/libsbgn/pd/0.1'}
    glyphs = et.findall('s:map/s:glyph', namespaces=sbgn_ns)
    glyph_classes = [g.attrib.get('class') for g in glyphs]
    assert glyph_classes.count('macromolecule') == 6
    assert glyph_classes.count('complex') == 2
    assert glyph_classes.count('process') == 10
    return pa
Example #42
0
def _check_mod_assembly(mod_class):
    subj = Agent('KRAS')
    obj = Agent('BRAF')
    st1 = mod_class(subj, obj)

    pa = PysbAssembler(policies='interactions_only')
    pa.add_statements([st1])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)

    pa = PysbAssembler(policies='one_step')
    pa.add_statements([st1])
    model = pa.make_model()
    assert(len(model.rules)==1)
    assert(len(model.monomers)==2)

    pa = PysbAssembler(policies='two_step')
    pa.add_statements([st1])
    model = pa.make_model()
    assert(len(model.rules)==3)
    assert(len(model.monomers)==2)
Example #43
0
def test_pysb_assembler_actmod2():
    mek = Agent('MEK', activity=ActivityCondition('activity', True))
    erk = Agent('ERK')
    stmts = []
    stmts.append(
        ActiveForm(
            Agent('MEK',
                  mods=[ModCondition('phosphorylation', 'serine', '218')]),
            'activity', True))
    stmts.append(
        ActiveForm(
            Agent('MEK',
                  mods=[ModCondition('phosphorylation', 'serine', '222')]),
            'activity', True))
    stmts.append(Phosphorylation(mek, erk, 'threonine', '185'))
    stmts.append(Phosphorylation(mek, erk, 'tyrosine', '187'))
    pa = PysbAssembler()
    pa.add_statements(stmts)
    model = pa.make_model()
    assert (len(model.rules) == 4)
    assert (len(model.monomers) == 2)
    model = pa.make_model(policies='two_step')
    assert (len(model.rules) == 9)
Example #44
0
def test_pysb_assembler_actmod1():
    mek = Agent('MEK')
    erk = Agent('ERK')
    stmts = []
    mc1 = ModCondition('phosphorylation', 'serine', '218')
    mc2 = ModCondition('phosphorylation', 'serine', '222')
    stmts.append(ActiveForm(Agent('MEK', mods=[mc1, mc2]), 'activity', True))
    stmts.append(Phosphorylation(mek, erk, 'threonine', '185'))
    stmts.append(Phosphorylation(mek, erk, 'tyrosine', '187'))
    pa = PysbAssembler()
    pa.add_statements(stmts)
    model = pa.make_model()
    assert (len(model.rules) == 2)
    assert (len(model.monomers) == 2)
Example #45
0
def test_non_python_name_bind():
    st = Complex([Agent('14-3-3'), Agent('BRAF kinase')])
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    bng.generate_equations(pa.model)
Example #46
0
def test_generate_equations():
    st = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    bng.generate_equations(pa.model)
Example #47
0
def test_save_rst():
    st = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    pa.save_rst('/dev/null')
Example #48
0
def test_set_context_celltype_notfound():
    st = Phosphorylation(Agent('MAP2K1'), Agent('MAPK3'))
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model()
    pa.set_context('XYZ')
Example #49
0
def test_phos_atpdep():
    st = Phosphorylation(Agent('BRAF'), Agent('MEK'), 'S', '222')
    pa = PysbAssembler()
    pa.add_statements([st])
    pa.make_model(policies='atp_dependent')
    assert(len(pa.model.rules) == 5)
Example #50
0
def test_deubiq_michaelis_menten():
    stmt = Deubiquitination(Agent('MEK'), Agent('ERK'))
    pa = PysbAssembler()
    pa.add_statements([stmt])
    pa.make_model(policies='michaelis_menten')
    assert(len(pa.model.parameters) == 4)