Mercurial > repos > bgruening > glimmer_gbk_to_orf
diff glimmer_glimmer_to_gff.py @ 0:6351903666da draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/glimmer commit 37388949e348d221170659bbee547bf4ac67ef1a
author | bgruening |
---|---|
date | Tue, 28 Nov 2017 10:07:28 -0500 |
parents | |
children | dc0f3e494b55 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glimmer_glimmer_to_gff.py Tue Nov 28 10:07:28 2017 -0500 @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +""" +Input: Glimmer3 prediction +Output: GFF3 file +Return a GFF3 file with the genes predicted by Glimmer3 +Bjoern Gruening + +Note: Its not a full-fledged GFF3 file, its a really simple one. + +""" + +import re +import sys + + +def __main__(): + input_file = open(sys.argv[1], 'r') + + print('##gff-version 3\n') + for line in input_file: + line = line.strip() + if line[0] == '>': + header = line[1:] + else: + (id, start, end, frame, score) = re.split('\s+', line) + if int(end) > int(start): + strand = '+' + else: + strand = '-' + (start, end) = (end, start) + + rest = 'frame=%s;score=%s' % (frame, score) + print('\t'.join([header, 'glimmer_prediction', 'predicted_gene', start, end, '.', strand, '.', rest])) + + +if __name__ == "__main__": + __main__()