Mercurial > repos > peterjc > mira_assembler
diff 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 |
line wrap: on
line diff
--- a/tools/sr_assembly/mira.py Wed May 09 12:40:06 2012 -0400 +++ b/tools/sr_assembly/mira.py Fri Feb 01 10:34:21 2013 -0500 @@ -7,10 +7,38 @@ import shutil import time +WRAPPER_VER = "0.0.5" #Keep in sync with the XML file + def stop_err(msg, err=1): sys.stderr.write(msg+"\n") sys.exit(err) + +def get_version(): + """Run MIRA to find its version number""" + # At the commend line I would use: mira -v | head -n 1 + # however there is some pipe error when doing that here. + try: + child = subprocess.Popen(["mira", "-v"], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + except Exception, err: + sys.stderr.write("Error invoking command:\n%s\n\n%s\n" % (" ".join(cmd), err)) + sys.exit(1) + ver, tmp = child.communicate() + del child + return ver.split("\n", 1)[0] + + +mira_ver = get_version() +if "V3.4." not in mira_ver: + stop_err("This wrapper is for MIRA V3.4, not %s" % mira_ver) +if "-v" in sys.argv: + print "MIRA wrapper version %s," % WRAPPER_VER + print mira_ver + sys.exit(0) + + def collect_output(temp, name): n3 = (temp, name, name, name) f = "%s/%s_assembly/%s_d_results" % (temp, name, name)