annotate count_gff_features.py @ 0:002a1e6ef8d9 draft

Imported from capsule None
author devteam
date Mon, 28 Jul 2014 11:30:20 -0400
parents
children 115bba486116
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
1 #!/usr/bin/env python
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
2 # This tool takes a gff file as input and counts the number of features in it.
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
3
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
4 import sys, fileinput
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
5 from galaxy import eggs
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
6 from galaxy.datatypes.util.gff_util import GFFReaderWrapper
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
7 from bx.intervals.io import GenomicInterval
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
8
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
9 # Get args.
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
10 input_file = sys.argv[1:]
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
11
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
12 # Count features.
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
13 count = 0
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
14 for feature in GFFReaderWrapper( fileinput.FileInput( input_file ), fix_strand=True ):
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
15 if isinstance( feature, GenomicInterval ):
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
16 count += 1
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
17
002a1e6ef8d9 Imported from capsule None
devteam
parents:
diff changeset
18 print count