Separates structured data into a list of actives or a list of decoys. actives are labeled with a '1' in their status
    fields, while decoys are labeled with a '0' in their status fields.
    :param structured: either roc_structure or score_structure.
    roc_structure: list [(id, best_score, best_query, status, fpf, tpf), ..., ]
    score_structure: list [(id, best_score, best_query, status, net decoy count, net active count), ...,]
    :return: actives: list [(id, best_score, best_query, status = 1, fpf/net decoy count, tpf/net active count), ..., ]
    :return decoys: list [(id, best_score, best_query, status = 0, fpf/net decoy count, tpf/net active count), ..., ]

def splitter(structured):
    """
    Separates structured data into a list of actives or a list of decoys. actives are labeled with a '1' in their status
    fields, while decoys are labeled with a '0' in their status fields.
    :param structured: either roc_structure or score_structure.
    roc_structure: list [(id, best_score, best_query, status, fpf, tpf), ..., ]
    score_structure: list [(id, best_score, best_query, status, net decoy count, net active count), ...,]
    :return: actives: list [(id, best_score, best_query, status = 1, fpf/net decoy count, tpf/net active count), ..., ]
    :return decoys: list [(id, best_score, best_query, status = 0, fpf/net decoy count, tpf/net active count), ..., ]
    """

    actives = []
    decoys = []
    for mol in structured:
        status = mol[3]
        if status == '1':
            actives.append(mol)
        elif status == '0':
            decoys.append(mol)
    return actives, decoys