Mercurial > repos > crs4 > glimmer
comparison build-icm_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 --> build-icm | |
| 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 Build-ICM input options...' | |
| 14 parser = optparse.OptionParser() | |
| 15 parser.add_option('--biSequence', dest='sequence', help='') | |
| 16 parser.add_option('--biDepth', dest='depth', type='int', help='') | |
| 17 parser.add_option('--biNoStops', action='store_true', dest='no_stops', help='') | |
| 18 parser.add_option('--biPeriod', dest='period', type='int', help='') | |
| 19 parser.add_option('--biReverse', action='store_true', dest='reverse', help='') | |
| 20 parser.add_option('--biWidth', dest='width', type='int', help='') | |
| 21 parser.add_option('--biTransTable', dest='trans_table', type='int', help='') | |
| 22 parser.add_option('--biStopCodons', dest='stop_codons', help='') | |
| 23 parser.add_option('--biIcm', 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 Build-ICM command to be executed | |
| 30 sequence = options.sequence | |
| 31 if options.depth is not None: | |
| 32 depth = '--depth %d' % (options.depth) | |
| 33 else: | |
| 34 depth = '' | |
| 35 if options.no_stops: | |
| 36 no_stops = '--no_stops' | |
| 37 else: | |
| 38 no_stops = '' | |
| 39 if options.period is not None: | |
| 40 period = '--period %d' % (options.period) | |
| 41 else: | |
| 42 period = '' | |
| 43 if options.reverse: | |
| 44 reverse = '--reverse' | |
| 45 else: | |
| 46 reverse = '' | |
| 47 if options.width is not None: | |
| 48 width = '--width %d' % (options.width) | |
| 49 else: | |
| 50 width = '' | |
| 51 if options.trans_table is not None: | |
| 52 trans_table = '--trans_table %d' % (options.trans_table) | |
| 53 else: | |
| 54 trans_table = '' | |
| 55 if options.stop_codons: | |
| 56 stop_codons = '--stop_codons %s' % (options.stop_codons) | |
| 57 else: | |
| 58 stop_codons = '' | |
| 59 output = options.output | |
| 60 logfile = options.logfile | |
| 61 | |
| 62 # Build Build-ICM command | |
| 63 cmd = 'build-icm %s %s %s %s %s %s %s %s < %s ' % (depth, no_stops, period, reverse, width, trans_table, stop_codons, output, sequence) | |
| 64 print '\nBuild-ICM command to be executed: \n %s' % (cmd) | |
| 65 | |
| 66 print 'Executing Build-ICM...' | |
| 67 if logfile: | |
| 68 log = open(logfile, 'w') | |
| 69 else: | |
| 70 log = sys.stdout | |
| 71 try: | |
| 72 subprocess.check_call(cmd, stdout=log, stderr=subprocess.STDOUT, shell=True) | |
| 73 finally: | |
| 74 if log != sys.stdout: | |
| 75 log.close() | |
| 76 print 'Build-ICM executed!' | |
| 77 | |
| 78 | |
| 79 if __name__ == "__main__": | |
| 80 __main__() |
