def parse_attributes(s):
<EOL>attr_sep = re.compile(r'<STR_LIT>')<EOL>attr = {}<EOL>atts = attr_sep.split(s)<EOL>for a in atts:<EOL><INDENT>kv = a.split('<STR_LIT:U+0020>', maxsplit=<NUM_LIT:1>)<EOL>if len(kv) == <NUM_LIT:2>:<EOL><INDENT>k, v = kv<EOL>v = v.strip('<STR_LIT:">')<EOL>attr[k] = v<EOL><DEDENT><DEDENT>return attr<EOL>
Parses the ``attribute`` string of a GFF/GTF annotation.

    Parameters
    ----------
    s : str
        The attribute string.

    Returns
    -------
    dict
        A dictionary containing attribute name/value pairs.

    Notes
    -----
    The ``attribute`` string is the 9th field of each annotation (row),
    as described in the
    `GTF format specification <http://mblab.wustl.edu/GTF22.html>`_.