def test_metabolites_charge_presence(model): """ Expect all metabolites to have charge information. To be able to ensure that reactions are charge-balanced, all model metabolites ought to be provided with a charge. Since it may be difficult to obtain charges for certain metabolites this test serves as a mere report. Models can still be stoichiometrically consistent even when charge information is not defined for each metabolite. Implementation: Check if each cobra.Metabolite has a non-empty "charge" attribute. This attribute is set by the parser if there is an fbc:charge attribute for the corresponding species in the SBML. """ ann = test_metabolites_charge_presence.annotation ann["data"] = get_ids( basic.check_metabolites_charge_presence(model)) ann["metric"] = len(ann["data"]) / len(model.metabolites) ann["message"] = wrapper.fill( """There are a total of {} metabolites ({:.2%}) without a charge: {}""".format( len(ann["data"]), ann["metric"], truncate(ann["data"]))) assert len(ann["data"]) == 0, ann["message"]
def test_metabolites_charge_presence(read_only_model, store): """Expect all metabolites to have charge information.""" missing = [ met.id for met in basic.check_metabolites_charge_presence(read_only_model) ] store["metabolites_no_charge"] = missing assert len(missing) == 0, "No charge found for the following "\ "metabolites: {}".format(", ".join(missing))
def test_metabolites_charge_presence(read_only_model): """ Expect all metabolites to have charge information. To be able to ensure that reactions are charge-balanced, all model metabolites ought to be provided with a charge. """ ann = test_metabolites_charge_presence.annotation ann["data"] = get_ids( basic.check_metabolites_charge_presence(read_only_model)) ann["metric"] = len(ann["data"]) / len(read_only_model.metabolites) ann["message"] = wrapper.fill("""There are a total of {} metabolites ({:.2%}) without a charge: {}""".format( len(ann["data"]), ann["metric"], truncate(ann["data"]))) assert len(ann["data"]) == 0, ann["message"]
def test_metabolites_charge_presence(read_only_model): """ Expect all metabolites to have charge information. To be able to ensure that reactions are charge-balanced, all model metabolites ought to be provided with a charge. Since it may be difficult to obtain charges for certain metabolites this test serves as a mere report. Models can still be stoichiometrically consistent even when charge information is not defined for each metabolite. """ ann = test_metabolites_charge_presence.annotation ann["data"] = get_ids( basic.check_metabolites_charge_presence(read_only_model)) ann["metric"] = len(ann["data"]) / len(read_only_model.metabolites) ann["message"] = wrapper.fill( """There are a total of {} metabolites ({:.2%}) without a charge: {}""".format( len(ann["data"]), ann["metric"], truncate(ann["data"]))) assert len(ann["data"]) == 0, ann["message"]
def test_metabolites_charge_presence(model): """ Expect all metabolites to have charge information. To be able to ensure that reactions are charge-balanced, all model metabolites ought to be provided with a charge. Since it may be difficult to obtain charges for certain metabolites this test serves as a mere report. Models can still be stoichiometrically consistent even when charge information is not defined for each metabolite. Implementation: Check if each cobra.Metabolite has a non-empty "charge" attribute. This attribute is set by the parser if there is an fbc:charge attribute for the corresponding species in the SBML. """ ann = test_metabolites_charge_presence.annotation ann["data"] = get_ids(basic.check_metabolites_charge_presence(model)) ann["metric"] = len(ann["data"]) / len(model.metabolites) ann["message"] = wrapper.fill("""There are a total of {} metabolites ({:.2%}) without a charge: {}""".format( len(ann["data"]), ann["metric"], truncate(ann["data"]))) assert len(ann["data"]) == 0, ann["message"]
def test_metabolites_charge_presence(model, num): """Expect all metabolites to have a charge.""" assert len(basic.check_metabolites_charge_presence(model)) == num