# Path: ariba/flag.py
# class Error (Exception): pass
# class Flag:
#     def __init__(self, n=0):
#     def set_flag(self, n):
#     def add(self, f):
#     def to_number(self):
#     def __eq__(self, other):
#     def __str__(self):
#     def to_long_string(self):
#     def has(self, s):
#     def to_comma_separated_string(self):
# 
# Path: ariba/report.py
# class Error (Exception): pass
# def header_line():
# def _samtools_depths_at_known_snps_all_wild(sequence_meta, contig_name, cluster, variant_list):
# def _report_lines_for_one_contig(cluster, contig_name, ref_cov_per_contig, pymummer_variants):
# def report_lines(cluster):
# 
# Path: ariba/summary_cluster_variant.py
# class Error (Exception): pass
# class SummaryClusterVariant:
#     def __init__(self, data_dict):
#     def __eq__(self, other):
#     def __hash__(self):
#     def __str__(self):
#     def _has_nonsynonymous(cls, data_dict):
#     def _filter_depths(cls, ref_base, depths):
#     def _get_is_het_and_percent(cls, data_dict):
#     def _get_nonsynon_variant_data(self, data_dict):


from ariba import flag, report, summary_cluster_variant

        return columns


    def non_synon_variants(self):
        variants = {self._get_nonsynonymous_var(d) for d in self.data}
        variants.discard(None)
        return variants


    def known_noncoding_het_snps(self):
        snps = {}
        for d in self.data:
            snp_tuple = self._get_known_noncoding_het_snp(d)
            if snp_tuple is not None:
                try:
                    snp_id = d['var_description'].split(':')[4]
                except:
                    raise Error('Error getting ID from ' + str(d) + '\n' + d['var_description'])
                if snp_id not in snps:
                    snps[snp_id] = {}
                snps[snp_id][snp_tuple[0]] = snp_tuple[1]
        return snps


    @classmethod
    def _get_all_nonsynon_variants_set(cls, data_dicts):
        variants = set()

        for data_dict in data_dicts:

# Path: ariba/flag.py
# class Error (Exception): pass
# class Flag:
#     def __init__(self, n=0):
#     def set_flag(self, n):
#     def add(self, f):
#     def to_number(self):
#     def __eq__(self, other):
#     def __str__(self):
#     def to_long_string(self):
#     def has(self, s):
#     def to_comma_separated_string(self):
# 
# Path: ariba/report.py
# class Error (Exception): pass
# def header_line():
# def _samtools_depths_at_known_snps_all_wild(sequence_meta, contig_name, cluster, variant_list):
# def _report_lines_for_one_contig(cluster, contig_name, ref_cov_per_contig, pymummer_variants):
# def report_lines(cluster):
# 
# Path: ariba/summary_cluster_variant.py
# class Error (Exception): pass
# class SummaryClusterVariant:
#     def __init__(self, data_dict):
#     def __eq__(self, other):
#     def __hash__(self):
#     def __str__(self):
#     def _has_nonsynonymous(cls, data_dict):
#     def _filter_depths(cls, ref_base, depths):
#     def _get_is_het_and_percent(cls, data_dict):
#     def _get_nonsynon_variant_data(self, data_dict):


# Path: ariba/summary_cluster.py
from ariba import flag, report, summary_cluster_variant


        return columns


    def non_synon_variants(self):
        variants = {self._get_nonsynonymous_var(d) for d in self.data}
        variants.discard(None)
        return variants


    def known_noncoding_het_snps(self):
        snps = {}
        for d in self.data:
            snp_tuple = self._get_known_noncoding_het_snp(d)
            if snp_tuple is not None:
                try:
                    snp_id = d['var_description'].split(':')[4]
                except:
                    raise Error('Error getting ID from ' + str(d) + '\n' + d['var_description'])
                if snp_id not in snps:
                    snps[snp_id] = {}
                snps[snp_id][snp_tuple[0]] = snp_tuple[1]
        return snps


    @classmethod
    def _get_all_nonsynon_variants_set(cls, data_dicts):
        variants = set()

        for data_dict in data_dicts:

            cluster_var = summary_cluster_variant.SummaryClusterVariant(data_dict)