comparison tools/sr_assembly/mira.py @ 6:3e7eca1f5d04 draft

MIRA wrapper v0.0.5 with <version_command> support and check for MIRA V3.4
author peterjc
date Fri, 01 Feb 2013 10:34:21 -0500
parents 117cce3296af
children
comparison
equal deleted inserted replaced
5:216bf640baaf 6:3e7eca1f5d04
5 import sys 5 import sys
6 import subprocess 6 import subprocess
7 import shutil 7 import shutil
8 import time 8 import time
9 9
10 WRAPPER_VER = "0.0.5" #Keep in sync with the XML file
11
10 def stop_err(msg, err=1): 12 def stop_err(msg, err=1):
11 sys.stderr.write(msg+"\n") 13 sys.stderr.write(msg+"\n")
12 sys.exit(err) 14 sys.exit(err)
15
16
17 def get_version():
18 """Run MIRA to find its version number"""
19 # At the commend line I would use: mira -v | head -n 1
20 # however there is some pipe error when doing that here.
21 try:
22 child = subprocess.Popen(["mira", "-v"],
23 stdout=subprocess.PIPE,
24 stderr=subprocess.STDOUT)
25 except Exception, err:
26 sys.stderr.write("Error invoking command:\n%s\n\n%s\n" % (" ".join(cmd), err))
27 sys.exit(1)
28 ver, tmp = child.communicate()
29 del child
30 return ver.split("\n", 1)[0]
31
32
33 mira_ver = get_version()
34 if "V3.4." not in mira_ver:
35 stop_err("This wrapper is for MIRA V3.4, not %s" % mira_ver)
36 if "-v" in sys.argv:
37 print "MIRA wrapper version %s," % WRAPPER_VER
38 print mira_ver
39 sys.exit(0)
40
13 41
14 def collect_output(temp, name): 42 def collect_output(temp, name):
15 n3 = (temp, name, name, name) 43 n3 = (temp, name, name, name)
16 f = "%s/%s_assembly/%s_d_results" % (temp, name, name) 44 f = "%s/%s_assembly/%s_d_results" % (temp, name, name)
17 if not os.path.isdir(f): 45 if not os.path.isdir(f):