tags Residues in input helices with heptad register. (Helices not required to be the same length).

    Parameters
    ----------
    helices : [Polypeptide]

    Returns
    -------
    None

def tag_residues_with_heptad_register(helices):
    """ tags Residues in input helices with heptad register. (Helices not required to be the same length).

    Parameters
    ----------
    helices : [Polypeptide]

    Returns
    -------
    None
    """
    base_reg = 'abcdefg'
    start, end = start_and_end_of_reference_axis(helices)
    for h in helices:
        ref_axis = gen_reference_primitive(h, start=start, end=end)
        crangles = crick_angles(h, reference_axis=ref_axis, tag=False)[:-1]
        reg_fit = fit_heptad_register(crangles)
        exp_base = base_reg * (len(h) // 7 + 2)
        hep_pos = reg_fit[0][0]
        register_string = exp_base[hep_pos:hep_pos + len(h)]
        for i, register in enumerate(register_string):
            h[i].tags['register'] = register
    return