'Returns a dataset\'s filters.'

def get_filters(self):

    def is_int(column_text):
        try:
            int(column_text)
            return True
        except:
            return False
    def is_float(column_text):
        try:
            float(column_text)
            return True
        except:
            if (column_text.strip().lower() == 'na'):
                return True
            return False
    filters = []
    filter_col = 8
    if isinstance(self.original_dataset.datatype, Gff):
        filters = [{'name': 'Score', 'type': 'number', 'index': filter_col, 'tool_id': 'Filter1', 'tool_exp_name': 'c6'}]
        filter_col += 1
        if isinstance(self.original_dataset.datatype, Gtf):
            for (name, a_type) in self.original_dataset.metadata.attribute_types.items():
                if (a_type in ['int', 'float']):
                    filters.append({'name': name, 'type': 'number', 'index': filter_col, 'tool_id': 'gff_filter_by_attribute', 'tool_exp_name': name})
                    filter_col += 1
    elif isinstance(self.original_dataset.datatype, Bed):
        filters = [{'name': 'Score', 'type': 'number', 'index': filter_col, 'tool_id': 'Filter1', 'tool_exp_name': 'c5'}]
    return filters
