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

Uploaded
author crs4
date Mon, 09 Sep 2013 12:16:17 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extract_wrapper.py	Mon Sep 09 12:16:17 2013 -0400
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+"""
+Glimmer --> extract
+version 0.2 (andrea.pinna@crs4.it)
+"""
+
+import optparse
+import subprocess
+import sys
+
+def __main__():
+    # load arguments
+    print 'Parsing Extract input options...'
+    parser = optparse.OptionParser()
+    parser.add_option('--exSequence', dest='sequence', help='')
+    parser.add_option('--exCoords', dest='coords', help='')
+    parser.add_option('--ex2Fields', action='store_true', dest='twofields', help='')
+    parser.add_option('--exDir', action='store_true', dest='dir', help='')
+    parser.add_option('--exMinLen', dest='minlen', type='int', help='')
+    parser.add_option('--exNoStart', action='store_true', dest='nostart', help='')
+    parser.add_option('--exNoStop', action='store_true', dest='nostop', help='')
+    parser.add_option('--exNoWrap', action='store_true', dest='nowrap', help='')
+    parser.add_option('--exOutput', dest='output', help='')
+    parser.add_option('--logfile', dest='logfile', help='')
+    (options, args) = parser.parse_args()
+    if len(args) > 0:
+        parser.error('Wrong number of arguments')
+    
+    # build Extract command to be executed
+    sequence = options.sequence
+    coords = options.coords
+    if options.twofields:
+        twofields = '--2_fields'
+    else:
+        twofields = ''
+    if options.dir:
+        direct = '--dir'
+    else:
+        direct = ''
+    if options.minlen is not None:
+        minlen = '--minlen %d' % (options.minlen)
+    else:
+        minlen = ''
+    if options.nostart:
+        nostart = '--nostart'
+    else:
+        nostart = ''
+    if options.nostop:
+        nostop = '--nostop'
+    else:
+        nostop = ''
+    if options.nowrap:
+        nowrap = '--nowrap'
+    else:
+        nowrap = ''
+    output = options.output
+    logfile = options.logfile
+    
+    # Build Extract command
+    cmd = 'extract %s %s %s %s %s %s %s %s > %s' % (twofields, direct, minlen, nostart, nostop, nowrap, sequence, coords, output)
+    print '\nExtract command to be executed: \n %s' % (cmd)
+    
+    print 'Executing Extract...'
+    if logfile:
+        log = open(logfile, 'w')
+    else:
+        log = sys.stdout
+    try:
+        subprocess.check_call(cmd, stdout=log, stderr=subprocess.STDOUT, shell=True)
+    finally:
+        if log != sys.stdout:
+            log.close()
+    print 'Extract executed!'
+
+
+if __name__ == "__main__":
+    __main__()