Mercurial > repos > peterjc > mira_assembler
comparison tools/mira3/mira.py @ 22:a5a3460fafa6 draft
planemo upload for repository https://github.com/peterjc/galaxy_mira/tree/master/tools/mira3/ commit bc3d484c5cd68ddcf456db2fff489d584aa2034c
| author | peterjc |
|---|---|
| date | Wed, 10 Feb 2016 09:07:29 -0500 |
| parents | f74bc0420db4 |
| children | 83a94a5038a7 |
comparison
equal
deleted
inserted
replaced
| 21:fc18dbea2963 | 22:a5a3460fafa6 |
|---|---|
| 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 | 10 WRAPPER_VER = "0.0.5" #Keep in sync with the XML file |
| 11 | |
| 12 def sys_exit(msg, err=1): | |
| 13 sys.stderr.write(msg+"\n") | |
| 14 sys.exit(err) | |
| 15 | 11 |
| 16 | 12 |
| 17 def get_version(): | 13 def get_version(): |
| 18 """Run MIRA to find its version number""" | 14 """Run MIRA to find its version number""" |
| 19 # At the commend line I would use: mira -v | head -n 1 | 15 # At the commend line I would use: mira -v | head -n 1 |
| 31 return ver.split("\n", 1)[0] | 27 return ver.split("\n", 1)[0] |
| 32 | 28 |
| 33 | 29 |
| 34 mira_ver = get_version() | 30 mira_ver = get_version() |
| 35 if "V3.4." not in mira_ver: | 31 if "V3.4." not in mira_ver: |
| 36 sys_exit("This wrapper is for MIRA V3.4, not %s" % mira_ver) | 32 sys.exit("This wrapper is for MIRA V3.4, not %s" % mira_ver) |
| 37 if "-v" in sys.argv: | 33 if "-v" in sys.argv: |
| 38 print "MIRA wrapper version %s," % WRAPPER_VER | 34 print "MIRA wrapper version %s," % WRAPPER_VER |
| 39 print mira_ver | 35 print mira_ver |
| 40 sys.exit(0) | 36 sys.exit(0) |
| 41 | 37 |
| 42 | 38 |
| 43 def collect_output(temp, name): | 39 def collect_output(temp, name): |
| 44 n3 = (temp, name, name, name) | 40 n3 = (temp, name, name, name) |
| 45 f = "%s/%s_assembly/%s_d_results" % (temp, name, name) | 41 f = "%s/%s_assembly/%s_d_results" % (temp, name, name) |
| 46 if not os.path.isdir(f): | 42 if not os.path.isdir(f): |
| 47 sys_exit("Missing output folder") | 43 sys.exit("Missing output folder") |
| 48 if not os.listdir(f): | 44 if not os.listdir(f): |
| 49 sys_exit("Empty output folder") | 45 sys.exit("Empty output folder") |
| 50 missing = [] | 46 missing = [] |
| 51 for old, new in [("%s/%s_out.unpadded.fasta" % (f, name), out_fasta), | 47 for old, new in [("%s/%s_out.unpadded.fasta" % (f, name), out_fasta), |
| 52 ("%s/%s_out.unpadded.fasta.qual" % (f, name), out_qual), | 48 ("%s/%s_out.unpadded.fasta.qual" % (f, name), out_qual), |
| 53 ("%s/%s_out.wig" % (f, name), out_wig), | 49 ("%s/%s_out.wig" % (f, name), out_wig), |
| 54 ("%s/%s_out.caf" % (f, name), out_caf), | 50 ("%s/%s_out.caf" % (f, name), out_caf), |
| 56 if not os.path.isfile(old): | 52 if not os.path.isfile(old): |
| 57 missing.append(os.path.splitext(old)[-1]) | 53 missing.append(os.path.splitext(old)[-1]) |
| 58 else: | 54 else: |
| 59 shutil.move(old, new) | 55 shutil.move(old, new) |
| 60 if missing: | 56 if missing: |
| 61 sys_exit("Missing output files: %s" % ", ".join(missing)) | 57 sys.exit("Missing output files: %s" % ", ".join(missing)) |
| 62 | 58 |
| 63 def clean_up(temp, name): | 59 def clean_up(temp, name): |
| 64 folder = "%s/%s_assembly" % (temp, name) | 60 folder = "%s/%s_assembly" % (temp, name) |
| 65 if os.path.isdir(folder): | 61 if os.path.isdir(folder): |
| 66 shutil.rmtree(folder) | 62 shutil.rmtree(folder) |
| 110 if return_code: | 106 if return_code: |
| 111 handle.write("Return error code %i from command:\n" % return_code) | 107 handle.write("Return error code %i from command:\n" % return_code) |
| 112 handle.write(cmd + "\n") | 108 handle.write(cmd + "\n") |
| 113 handle.close() | 109 handle.close() |
| 114 clean_up(temp, name) | 110 clean_up(temp, name) |
| 115 sys_exit("Return error code %i from command:\n%s" % (return_code, cmd), | 111 sys.stderr.write("Return error code %i from command:\n" % return_code) |
| 116 return_code) | 112 sys.stderr.write(cmd + "\n") |
| 113 sys.exit(return_code) | |
| 117 handle.close() | 114 handle.close() |
| 118 | 115 |
| 119 #print "Collecting output..." | 116 #print "Collecting output..." |
| 120 collect_output(temp, name) | 117 collect_output(temp, name) |
| 121 | 118 |
