def test_feature_type_filter(): 'It tests the dbxref feature mapper' feature = {'end': 140722177, 'name': 'ctg0', 'start': 1, 'source': 'F=PC', 'seqid': 'Chrctg0', 'phase': '.', 'attributes': {'ID': 'ctg0', 'Name': 'ctg,0'}, 'score': '.', 'type': 'contig', 'id':'ctg0', 'strand': '.'} type_filter = create_feature_type_filter(['contig']) assert filter(type_filter, [(FEATURE, feature)]) type_filter = create_feature_type_filter(['gene']) assert not filter(type_filter, [(FEATURE, feature)])
def test_gff_filters(self): 'It test that we can use filters for features in gff' types = ['gene'] gff_fhand = NamedTemporaryFile() gff_fhand.write(GFF_CONTENT) gff_fhand.flush() type_filter = create_feature_type_filter(types) gff = GffFile(fpath=gff_fhand.name) items = filter(type_filter, gff.items) assert items[1][1]['id'] == 'gene00001' types = ['contig'] type_filter = create_feature_type_filter(types) gff = GffFile(fpath=gff_fhand.name) items = filter(type_filter, gff.items) assert len(items) == 2
def main(): 'It runs the script' ingff3_fpath, outgff3_fpath, types = get_parameters() filters = [] filters.append(create_feature_type_filter(types)) modify_gff(ingff3_fpath, outgff3_fpath, filters=filters)