annotate glimmer3/glimmer2gff.py @ 0:e11e303c39a4 default tip

Uploaded
author bjoern-gruening
date Wed, 11 Jan 2012 09:34:45 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
1 #!/usr/bin/env python
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
2
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
3 """
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
4 Input: Glimmer3 prediction
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
5 Output: GFF3 file
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
6 Return a GFF3 file with the genes predicted by Glimmer3
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
7 Bjoern Gruening
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
8
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
9 Note: Its not a full-fledged GFF3 file, its a really simple one.
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
10
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
11 """
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
12
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
13 import sys, re
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
14
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
15 def __main__():
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
16 input_file = open(sys.argv[1], 'r')
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
17
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
18 print '##gff-version 3\n'
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
19 for line in input_file:
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
20 line = line.strip()
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
21 if line[0] == '>':
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
22 header = line[1:]
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
23 else:
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
24 (id, start, end, frame, score) = re.split('\s+', line)
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
25 if int(end) > int(start):
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
26 strand = '+'
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
27 else:
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
28 strand = '-'
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
29 (start, end) = (end, start)
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
30
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
31 rest = 'frame=%s;score=%s' % (frame, score)
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
32 print '\t'.join([header, 'glimmer_prediction', 'predicted_gene', start, end, '.', strand, '.', rest])
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
33
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
34
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
35 if __name__ == "__main__" :
e11e303c39a4 Uploaded
bjoern-gruening
parents:
diff changeset
36 __main__()