Find proteins that are mapped to an identical set of peptides.

    :param protToPeps: dict, for each protein (=key) contains a set of
        associated peptides (=value). For Example {protein: {peptide, ...}, ...}
    :param proteins: iterable, proteins that are tested for having equal
        evidence. If not specified all proteins are tested
    :returns: a list of sorted protein tuples that share equal peptide evidence

def _findSamesetProteins(protToPeps, proteins=None):
    """Find proteins that are mapped to an identical set of peptides.

    :param protToPeps: dict, for each protein (=key) contains a set of
        associated peptides (=value). For Example {protein: {peptide, ...}, ...}
    :param proteins: iterable, proteins that are tested for having equal
        evidence. If not specified all proteins are tested
    :returns: a list of sorted protein tuples that share equal peptide evidence
    """
    proteins = viewkeys(protToPeps) if proteins is None else proteins

    equalEvidence = ddict(set)
    for protein in proteins:
        peptides = protToPeps[protein]
        equalEvidence[tuple(sorted(peptides))].add(protein)
    equalProteins = list()
    for proteins in viewvalues(equalEvidence):
        if len(proteins) > 1:
            equalProteins.append(tuple(sorted(proteins)))
    return equalProteins