def test_get_yield_not_working_if_input_formula_missing(self): model = Model("test") met1 = Metabolite(id="S7P") met2 = Metabolite(id="T3P1", formula="C3H7O6P") met3 = Metabolite(id="E4P", formula="C4H9O7P") met4 = Metabolite(id="F6P", formula="C6H13O9P") model.add_metabolites((met1, met2, met3, met4)) react1 = Reaction(id="r1", name="Transaldolase") react1.add_metabolites({met1: -1, met2: -1, met3: 1, met4: 1}) react2 = Reaction(id="r2") react2.add_metabolites({met1: -1}) react3 = Reaction(id="r3") react3.add_metabolites({met2: -1}) react4 = Reaction(id="r4") react4.add_metabolites({met3: -1}) react5 = Reaction(id="r5") react5.add_metabolites({met4: -1}) model.add_reactions((react1, react2, react3, react4, react5)) fluxes = { react1.id: 1, react2.id: -1, react3.id: -1, react4.id: 1, react5.id: 1 } status, _ = get_yields(fluxes, model) assert status is False
def test_get_gene_statistics(self): model = Model() metabolite1 = Metabolite("m1") annotation = Annotation("chebi", "CHEBI:1233") metabolite1.annotation.add(annotation) metabolite2 = Metabolite("m2") model.add_metabolites([metabolite1, metabolite2]) # Action metabolite_stats = metabolite_statistics(model) # Return value: # ("Total", len(model.metabolites)), # ("Annotated", num_anotated), # ("DeadEnd", num_dead_ends) # 1) Check Total assert metabolite_stats["Total"] == 2 # 2) Check Annotated assert metabolite_stats["Annotated"] == 1 # 3) Check DeadEnd assert metabolite_stats["DeadEnd"] == 2 # Check that there is a test for all options assert len(metabolite_stats) == 3
def test_get_yield(self): model = Model("test") met1 = Metabolite(id="S7P", formula="C7H15O10P") met2 = Metabolite(id="T3P1", formula="C3H7O6P") met3 = Metabolite(id="E4P", formula="C4H9O7P") met4 = Metabolite(id="F6P", formula="C6H13O9P") model.add_metabolites((met1, met2, met3, met4)) react1 = Reaction(id="r1", name="Transaldolase") react1.add_metabolites({met1: -1, met2: -1, met3: 1, met4: 1}) react2 = Reaction(id="r2") react2.add_metabolites({met1: -1}) react3 = Reaction(id="r3") react3.add_metabolites({met2: -1}) react4 = Reaction(id="r4") react4.add_metabolites({met3: -1}) react5 = Reaction(id="r5") react5.add_metabolites({met4: -1}) model.add_reactions((react1, react2, react3, react4, react5)) fluxes = { react1.id: 1, react2.id: -1, react3.id: -1, react4.id: 1, react5.id: 1 } status, yields = get_yields(fluxes, model) assert status is True assert yields == { "C": { met3: 0.4, met4: 0.6 }, "H": { met3: 9 / 22, met4: 13 / 22 }, "O": { met3: 7 / 16, met4: 9 / 16 }, "P": { met3: 0.5, met4: 0.5 } }