Example #1
0
    def test_enzyme(self):
        """One-substrate enzyme kinetics."""

        filename = path.join(input_sbml, "enzyme.xml")
        crn = from_sbml(filename)
        crn.save_sbml(path.join(input_sbml, "enzyme_original.xml"))
        crn = from_sbml(path.join(input_sbml, "enzyme_original.xml"))

        rate = parse_expr("comp*E*vcat_kcat*veq_kon*S/(vcat_kcat + veq_koff)")

        crn.qss('ES')
        self.assertEqual((crn.rates[0] - rate).simplify(), 0)
        crn.save_sbml(path.join(input_sbml,
                                "enzyme_simplified_qss_with_e.xml"))

        crn.remove_constant('E')
        self.assertEqual((crn.rates[0] - rate).simplify(), 0)
        crn.save_sbml(path.join(input_sbml, "enzyme_simplified_qss.xml"))

        # Michaelis-Menten
        crn = from_sbml(filename)
        enzyme_cons_law = ConsLaw('E + ES', 'Et')
        crn.qss(cons_law=('E', enzyme_cons_law))
        rate = parse_expr(
            "comp*Et*vcat_kcat*veq_kon*S/(vcat_kcat + veq_koff + veq_kon*S)")
        self.assertEqual((crn.rates[0] - rate).simplify(), 0)
        crn.save_sbml(path.join(input_sbml, "enzyme_simplified_MM.xml"))
        crn.save_reaction_file(
            path.join(input_reactions, "enzyme_simplified_MM"))

        # Reading Michaelis-Menten model
        crn = from_sbml(path.join(input_sbml, "enzyme_simplified_MM.xml"))
Example #2
0
def enzyme_kinetics():
    """One-substrate enzyme kinetics."""
    print("One-substrate enzyme kinetics.")

    filename = os.path.join(input_sbml, "enzyme.xml")
    crn = from_sbml(filename)
    rate = parse_expr("comp*E*vcat_kcat*veq_kon*S/(vcat_kcat + veq_koff)")
    crn.qss('ES')
    fail_if_not_equal((crn.rates[0] - rate).factor(), 0)
    crn.remove_constant('E')
    fail_if_not_equal((crn.rates[0] - rate).factor(), 0)

    # Michaelis-Menten
    crn = from_sbml(filename)
    enzyme_cons_law = ConsLaw('E + ES', 'Et')
    crn.qss(cons_law=('E', enzyme_cons_law))
    rate = parse_expr(
        "comp*Et*vcat_kcat*veq_kon*S/(vcat_kcat + veq_koff + veq_kon*S)")
    fail_if_not_equal((crn.rates[0] - rate).factor(), 0)

    # Rapid equilibrium
    filename = os.path.join(input_sbml, "enzyme.xml")
    crn = from_sbml(filename)
    enzyme_cons_law = ConsLaw('E + ES', 'Et')
    crn.rapid_eq('ES', 'S + E', cons_law=('E', enzyme_cons_law))
    fail_if_not_equal(
        (crn.kinetic_params[0] -
         parse_expr("Et*vcat_kcat*comp/(S + veq_koff/veq_kon)")).factor(), 0)
Example #3
0
    def test_crn_from_sbml(self):
        filename = path.join(input_sbml, "BIOMD0000000001.xml")
        output = path.join(input_sbml, "out_BIOMD0000000001.xml")

        crn = from_sbml(filename)
        success = libsbml.writeSBMLToFile(crn.document, output)
        self.assertTrue(success)
Example #4
0
    def test_crn_from_react_file(self):
        reactions = parse_reaction_file(path.join(input_reactions, "allosteric_activation"))
        filename = path.join(input_sbml, "allosteric_activation.xml")

        model, document, _ = model_from_reacts(reactions)
        success = libsbml.writeSBMLToFile(document, filename)
        self.assertTrue(success)

        crn = from_sbml(filename)
        crn.inspect()
Example #5
0
 def test_enzyme_rapid_eq(self):
     """One-substrate enzyme kinetics: rapid equilibrium."""
     # Rapid equilibrium
     filename = path.join(input_sbml, "enzyme.xml")
     crn = from_sbml(filename)
     enzyme_cons_law = ConsLaw('E + ES', 'Et')
     crn.rapid_eq('ES', 'S + E', cons_law=('E', enzyme_cons_law))
     self.assertEqual((
         crn.kinetic_params[0] -
         parse_expr("Et*vcat_kcat*comp/(S + veq_koff/veq_kon)")).simplify(),
                      0)
Example #6
0
    def test_crn_from_reacts(self):
        reactions = [
                ("r1", {"A": 1, "B": 1}, {"C": 1}, "k1 * A * B"),
                ("r2", {"A": 1, "B": 1}, {"D": 1}, "k2 * A * B"),
                ("r3", {"C": 1}, {"E": 1, "F": 1}, "k3 * C"),
                ("r4", {"C": 1, "D": 1}, {"A": 1, "D": 1}, "k4 * C * D")]
        filename = path.join(input_sbml, "test_model1.xml")

        model, document, _ = model_from_reacts(list(map(lambda x: Reaction(x[0], \
                                                                  Complex(x[1]), \
                                                                  Complex(x[2]), \
                                                                  rate = parse_expr(x[3])), reactions)))
        success = libsbml.writeSBMLToFile(document, filename)
        self.assertTrue(success)

        crn = from_sbml(filename)
        crn.inspect(True)