def parse_alignment(alignment):
    """
    Parses an alignment string.

    Alignment strings are composed of space separated graphemes, with
    optional parentheses for suppressed or non-mandatory material. The
    material between parentheses is kept.

    Parameters
    ----------
    alignment : str
        The alignment string to be parsed.

    Returns
    -------
    seq : list
        A list of tokens.
    """

    return [token for token in alignment.strip().split() if token not in ["(", ")"]]