def filter_labeled_genes(genes):
    """Filter genes which already have a label and return number of labels.

    Args:
      genes(dict): dictionary of genes {g_name: gene object}

    Returns:
      dict: dictionary of genes without label {g_name: gene object}
      int: number of distinct labels in the set of labeled genes
    """
    unlabeled_genes = {}
    labels = set()

    for g_name, gene in genes.items():
        if not gene.plot_label:
            unlabeled_genes[g_name] = gene
        else:
            labels.add(gene.plot_labelID)


    num_labels = len(labels)
    return unlabeled_genes, num_labels