def check_feature_ids_uniqueness(genome):
    """
    Tests that all feature ids in a genome are unique across all 4 feature type lists
    Returns dict of Non Unique IDS and the counts associated with them.
    If all IDS are unique, it then returns an empty dict
    """
    unique_feature_ids = set()
    duplicate_feature_id_counts = dict()
    feature_lists = ["features", "cdss", "mrnas", "non_coding_features"]

    for feature_list in feature_lists:
        for feature in genome[feature_list]:
            if feature["id"] in unique_feature_ids:
                if feature["id"] in duplicate_feature_id_counts:
                    duplicate_feature_id_counts[feature["id"]] += 1
                else:
                    duplicate_feature_id_counts[feature["id"]] = 2
            else:
                unique_feature_ids.add(feature["id"])
    if len(unique_feature_ids) == 0:
        raise ValueError("Error no feature ids found in this genome")
    return duplicate_feature_id_counts