comparison extract_wrapper.py @ 0:9c8ffce71f7c draft default tip

Uploaded
author crs4
date Mon, 09 Sep 2013 12:16:17 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:9c8ffce71f7c
1 # -*- coding: utf-8 -*-
2 """
3 Glimmer --> extract
4 version 0.2 (andrea.pinna@crs4.it)
5 """
6
7 import optparse
8 import subprocess
9 import sys
10
11 def __main__():
12 # load arguments
13 print 'Parsing Extract input options...'
14 parser = optparse.OptionParser()
15 parser.add_option('--exSequence', dest='sequence', help='')
16 parser.add_option('--exCoords', dest='coords', help='')
17 parser.add_option('--ex2Fields', action='store_true', dest='twofields', help='')
18 parser.add_option('--exDir', action='store_true', dest='dir', help='')
19 parser.add_option('--exMinLen', dest='minlen', type='int', help='')
20 parser.add_option('--exNoStart', action='store_true', dest='nostart', help='')
21 parser.add_option('--exNoStop', action='store_true', dest='nostop', help='')
22 parser.add_option('--exNoWrap', action='store_true', dest='nowrap', help='')
23 parser.add_option('--exOutput', dest='output', help='')
24 parser.add_option('--logfile', dest='logfile', help='')
25 (options, args) = parser.parse_args()
26 if len(args) > 0:
27 parser.error('Wrong number of arguments')
28
29 # build Extract command to be executed
30 sequence = options.sequence
31 coords = options.coords
32 if options.twofields:
33 twofields = '--2_fields'
34 else:
35 twofields = ''
36 if options.dir:
37 direct = '--dir'
38 else:
39 direct = ''
40 if options.minlen is not None:
41 minlen = '--minlen %d' % (options.minlen)
42 else:
43 minlen = ''
44 if options.nostart:
45 nostart = '--nostart'
46 else:
47 nostart = ''
48 if options.nostop:
49 nostop = '--nostop'
50 else:
51 nostop = ''
52 if options.nowrap:
53 nowrap = '--nowrap'
54 else:
55 nowrap = ''
56 output = options.output
57 logfile = options.logfile
58
59 # Build Extract command
60 cmd = 'extract %s %s %s %s %s %s %s %s > %s' % (twofields, direct, minlen, nostart, nostop, nowrap, sequence, coords, output)
61 print '\nExtract command to be executed: \n %s' % (cmd)
62
63 print 'Executing Extract...'
64 if logfile:
65 log = open(logfile, 'w')
66 else:
67 log = sys.stdout
68 try:
69 subprocess.check_call(cmd, stdout=log, stderr=subprocess.STDOUT, shell=True)
70 finally:
71 if log != sys.stdout:
72 log.close()
73 print 'Extract executed!'
74
75
76 if __name__ == "__main__":
77 __main__()