def gff3_attributes(att):
    """
    Process the attributes column into a dict of key - list(values) pairs
    :param att: str
    :return attribute_dict: dict
    """
    att_arr = att.split(";")  # Break K=V;K=V;K=V into key-value pairs
    if len(att_arr) == 0:
        return None
    attribute_dict = dict()
    for a in att_arr:
        k, v = a.split("=")  # Break Key = Value pair
        attribute_dict[k] = list()
        for sub_v in v.split(","):
            if ":" in sub_v:
                sub_sub_v = sub_v.split(":")
                attribute_dict[k].append((sub_sub_v[0], sub_sub_v[1]))
            else:
                attribute_dict[k].append(sub_v)
    return attribute_dict