Skip to content

Commit

Permalink
feat: sorted output of model components
Browse files Browse the repository at this point in the history
  • Loading branch information
Midnighter authored and hredestig committed Jun 22, 2017
1 parent ff7fc0c commit b88a251
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions cobra/io/dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from __future__ import absolute_import

from collections import OrderedDict
from operator import attrgetter
from operator import attrgetter, itemgetter

from numpy import bool_, float_
from six import iteritems, string_types
Expand Down Expand Up @@ -166,12 +166,14 @@ def model_to_dict(model):
cobra.io.model_from_dict
"""
obj = OrderedDict()
obj["reactions"] = [reaction_to_dict(reaction)
for reaction in model.reactions]
obj["metabolites"] = [metabolite_to_dict(metabolite)
for metabolite in model.metabolites]
obj["genes"] = [gene_to_dict(gene)
for gene in model.genes]
obj["reactions"] = sorted(
(reaction_to_dict(reaction) for reaction in model.reactions),
key=itemgetter("id"))
obj["metabolites"] = sorted(
(metabolite_to_dict(metabolite) for metabolite in model.metabolites),
key=itemgetter("id"))
obj["genes"] = sorted(
(gene_to_dict(gene) for gene in model.genes), key=itemgetter("id"))
obj["id"] = model.id
_update_optional(model, obj, _OPTIONAL_MODEL_ATTRIBUTES,
_ORDERED_OPTIONAL_MODEL_KEYS)
Expand Down

0 comments on commit b88a251

Please sign in to comment.