Source code for cobra.manipulation.validate

# -*- coding: utf-8 -*-

from __future__ import absolute_import


[docs]NOT_MASS_BALANCED_TERMS = { "SBO:0000627", # EXCHANGE "SBO:0000628", # DEMAND "SBO:0000629", # BIOMASS "SBO:0000631", # PSEUDOREACTION "SBO:0000632", # SINK
}
[docs]def check_mass_balance(model): unbalanced = {} for reaction in model.reactions: if reaction.annotation.get("sbo") not in NOT_MASS_BALANCED_TERMS: balance = reaction.check_mass_balance() if balance: unbalanced[reaction] = balance return unbalanced
[docs]def check_metabolite_compartment_formula(model): errors = [] for met in model.metabolites: if met.formula is not None and len(met.formula) > 0: if not met.formula.isalnum(): errors.append( "Metabolite '%s' formula '%s' not alphanumeric" % (met.id, met.formula) ) return errors