code: def is_transport_reaction_annotations(rxn):
      
      reactants = set([(k, tuple(v)) for met in rxn.reactants
                       for k, v in iteritems(met.annotation)
                       if met.id != "H"
                       and k is not None and k != 'sbo' and v is not None])
      products = set([(k, tuple(v)) for met in rxn.products
                      for k, v in iteritems(met.annotation)
                      if met.id != "H"
                      and k is not None and k != 'sbo' and v is not None])
      # Find intersection between reactant annotations and
      # product annotations to find common metabolites between them,
      # satisfying the requirements for a transport reaction. Reactions such
      # as those involving oxidoreductases (where no net transport of
      # Hydrogen is occurring, but rather just an exchange of electrons or
      # charges effecting a change in protonation) are excluded.
      transported_mets = reactants & products
      if len(transported_mets) > 0:
          return True
docs: Return boolean if a reaction is a transport reaction (from annotations).
  
      Parameters
      ----------
      rxn: cobra.Reaction
          The metabolic reaction under investigation.