Mercurial > repos > peterjc > mira_assembler
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): |