Example #1
0
    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)])
Example #2
0
    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)