Model Generalization is
a Python library that compresses
a metabolic network model using the knowledge-based model generalization method.
It takes a metabolic model in SBML format as input, and produces two SBML files as output:
SBMLModelGeneralization.zip – download the library. The README file inside the SBMLModelGeneralization.zip archive provides the installation and usage instructions.
To learn more about or to cite Model Generalization see Zhukova A, Sherman DJ. Knowledge-based generalization of metabolic models (2014) J Comput Biol.21(7):534-47 doi:10.1089/cmb.2013.0143.
Model Generalization Method groups similar metabolites and reactions in the network based on its structure and the knowledge, extracted from the ChEBI ontology. The reactions between the same generalized species are factored together into generalized reactions. A generalization is made specifically for a given model and is maximal with respect to the relations in the model; it respects semantic constraints such as reaction stoichiometry, connectivity, and transport between compartments; and it is performed through a heuristic method that is efficient in practice for genome-scale models.
Each metabolite can be generalized up to one of its ancestors in ChEBI. If a ChEBI annotation for a metabolite is not present in the model, the method attempts to automatically deduce it by comparing metabolite's name to ChEBI terms' names and synonyms. Reactions that share the same generalized reactants and the same generalized products, are considered equivalent and are factored together into a generalized reaction.
The appropriate level of abstraction for metabolites and reactions is defined by the network itself as the most general one that satisfies two restrictions:
Overall, the generalization method is composed of three modules:
For instance, (S)-3-hydroxydecanoyl-CoA, (S)-3-hydroxylauroyl-CoA and (S)-3-hydroxytetradecanoyl-CoA have a common ancestor hydroxy fatty acyl-CoA in ChEBI. They can be grouped and generalized into hydroxy fatty acyl-CoA, if in the network there is no reaction whose stoichiometry would be changed by such a generalization (stoichiometry preserving restriction), and exist similar reactions that consume or produce them (metabolite diversity restriction).