docs: def convert_reaction_entry(self, reaction):
          """Convert reaction entry to YAML dict."""
          d = OrderedDict()
          d['id'] = reaction.id
  
          def is_equation_valid(equation):
              # If the equation is a Reaction object, it must have non-zero
              # number of compounds.
              return (equation is not None and (
                      not isinstance(equation, Reaction) or
                      len(equation.compounds) > 0))
  
          order = {
              key: i for i, key in enumerate(
                  ['name', 'genes', 'equation', 'subsystem', 'ec'])}
          prop_keys = (set(reaction.properties) -
                       {'lower_flux', 'upper_flux', 'reversible'})
          for prop in sorted(prop_keys, key=lambda x: (order.get(x, 1000), x)):
              if reaction.properties[prop] is None:
                  continue
              d[prop] = reaction.properties[prop]
              if prop == 'equation' and not is_equation_valid(d[prop]):
                  del d[prop]
  
          return d