def find_transported_mets(reaction):
    """
    Get a list of the transported metabolites of the reaction.

    :param cobra.thermo.reaction.Reaction reaction: The reaction to get the
        transported metabolites of

    :returns: A dictionnary of the transported metabolites.
        The index corresponds to the seed_id of the transported enzyme

        The value is a dictionnairy with the following values:

            * coeff (:any:`float`):
                The stoechiomectric coefficient of the enzyme
            * reactant (:any:`cobra.thermo.enzyme.Metabolite`):
                The reactant of the reaction corresponding to the transported
                enzyme
            * product (:any:`cobra.thermo.enzyme.Metabolite`):
                The product of the reaction corresponding to the transported
                enzyme

    A transported enzyme is defined as a enzyme which is a product and a
    reactant of a reaction. We can distinguish them thanks to their seed_ids.

    """
    reactants_coeffs = {}
    for met in reaction.reactants:
        reactants_coeffs[met.annotation['seed_id']] = {'coeff': reaction.
            metabolites[met], 'met': met}
    trans_coeffs = {}
    for met in reaction.products:
        seed_id = met.annotation['seed_id']
        if seed_id in reactants_coeffs:
            trans_coeffs[seed_id] = {'coeff': max(abs(reactants_coeffs[
                seed_id]['coeff']), abs(reaction.metabolites[met])),
                'reactant': reactants_coeffs[seed_id]['met'], 'product': met}
    return trans_coeffs
