def METHOD_NAME(cls, problematic_amino_acid):
    supported_aas = supported_amino_acids()
    if ":" in problematic_amino_acid:
        (amino_acids, position) = problematic_amino_acid.split(":")
        for aa in amino_acids:
            if not aa in supported_aas:
                raise Exception("Error with problematic amino acid input entry \"{}\". Amino acid {} not supported.".format(problematic_amino_acid, aa))
        try:
            position = int(position)
        except:
            raise Exception("Error with problematic amino acid input entry \"{}\". Position {} isn't an integer.".format(problematic_amino_acid, position))
        if position == 0:
            raise Exception("Error with problematic amino acid input entry \"{}\". Position can't be 0.".format(problematic_amino_acid, position))
        return (amino_acids, position)
    else:
        for aa in problematic_amino_acid:
            if not aa in supported_aas:
                raise Exception("Error with problematic amino acid input entry \"{}\". Amino acid {} not supported.".format(problematic_amino_acid, aa))
        return (problematic_amino_acid, None)