def split_interaction_label(label, delimiter='-'):
    """Splits an interaction label into its component atom labels.


    .. note:: This function is designed to use relative atom references, like
              C-1 or N+1. These are used to reference atoms in previous or
              subsequent residues, respectively.

    Parameters
    ----------
    label: str
        The string identifier for the interaction. ex: A.14N-H
    delimiter: str
        The delimiter used for separating atom references.

    Returns
    -------
    pieces: list of str
        A list of atom label pieces

    Examples
    --------
    >>> split_interaction_label('14N-H')
    ['14N', 'H']
    >>> split_interaction_label('A.14H-13C')
    ['A.14H', '13C']
    >>> split_interaction_label('A.15N-16C-17H')
    ['A.15N', '16C', '17H']
    >>> split_interaction_label('A.14H-13C-N-1')
    ['A.14H', '13C', 'N-1']
    >>> split_interaction_label('A.14N-C-1')
    ['A.14N', 'C-1']
    >>> split_interaction_label('A.N+1-14C')
    ['A.N+1', '14C']
    """
    pieces = label.split(delimiter)
    l = []
    for count, item in enumerate(pieces):
        if item.isdigit() and count > 0:
            l[count - 1] = l[count - 1] + delimiter + item
        else:
            l.append(item)
    return l
