def get_identified_ions(
    values: list,
    sequence: str,
    ion_type: str
) -> list:
    """For the specified peptide sequence extract all identified in the experiment ions and based on the specified ion_type return a list of booleans containing information for the b-ions whether the peptide is breaking after aligned amino acid or for the y-ion whether is breaking before aligned amino acid.

    E.g. for the peptide 'NTINHN' having the unique ion values ['b2-H2O', 'b2', 'b3', 'b5-NH3'] it will return the following list of booleans: [False,True,True,False,True,False].

    Parameters
    ----------
    values : list
        The list of all unique identified ions for the peptide in the experiment.
    sequence : str
        Peptide sequence.
    ion : str
        Ion type, e.g. 'b' or 'y'. Other ion types are not implemented.

    Returns
    -------
    list
        List of peptide length of booleans with True for the presenting ion and False for a missing one.

    """
    ions = [False] * (len(sequence))
    all_ions = list(set([ion.split('-')[0] for ion in set(values) if ion_type in ion]))
    for each in all_ions:
        if ion_type == 'b':
            ions[int(each.replace(ion_type, '')) - 1] = True
        elif ion_type == 'y':
            ions[-int(each.replace(ion_type, ''))] = True
        else:
            raise NotImplementedError(f"The specified ion type {ion_type} is not implemented in the current version.")
    return ions