comparison tools/mira4/mira4.py @ 21:4abe8d59a438 draft

Uploaded v0.0.4 preview 1; fix getting BAM without MAF
author peterjc
date Tue, 28 Oct 2014 08:29:59 -0400
parents aeb3e35f8236
children
comparison
equal deleted inserted replaced
20:aeb3e35f8236 21:4abe8d59a438
56 default="-", metavar="FILE", 56 default="-", metavar="FILE",
57 help="Unpadded FASTA output filename") 57 help="Unpadded FASTA output filename")
58 parser.add_option("--log", dest="log", 58 parser.add_option("--log", dest="log",
59 default="-", metavar="FILE", 59 default="-", metavar="FILE",
60 help="MIRA logging output filename") 60 help="MIRA logging output filename")
61 parser.add_option("-v", "--version", dest="version",
62 default=False, action="store_true",
63 help="Show version and quit")
61 options, args = parser.parse_args() 64 options, args = parser.parse_args()
62 manifest = options.manifest 65 manifest = options.manifest
63 out_maf = options.maf 66 out_maf = options.maf
64 out_bam = options.bam 67 out_bam = options.bam
65 out_fasta = options.fasta 68 out_fasta = options.fasta
82 if not mira_ver.strip().startswith("4.0"): 85 if not mira_ver.strip().startswith("4.0"):
83 stop_err("This wrapper is for MIRA V4.0, not:\n%s\n%s" % (mira_ver, mira_binary)) 86 stop_err("This wrapper is for MIRA V4.0, not:\n%s\n%s" % (mira_ver, mira_binary))
84 mira_convert_ver = get_version(mira_convert) 87 mira_convert_ver = get_version(mira_convert)
85 if not mira_convert_ver.strip().startswith("4.0"): 88 if not mira_convert_ver.strip().startswith("4.0"):
86 stop_err("This wrapper is for MIRA V4.0, not:\n%s\n%s" % (mira_ver, mira_convert)) 89 stop_err("This wrapper is for MIRA V4.0, not:\n%s\n%s" % (mira_ver, mira_convert))
87 if "-v" in sys.argv or "--version" in sys.argv: 90 if options.version:
88 print "%s, MIRA wrapper version %s" % (mira_ver, WRAPPER_VER) 91 print "%s, MIRA wrapper version %s" % (mira_ver, WRAPPER_VER)
89 if mira_ver != mira_convert_ver: 92 if mira_ver != mira_convert_ver:
90 print "WARNING: miraconvert %s" % mira_convert_ver 93 print "WARNING: miraconvert %s" % mira_convert_ver
91 sys.exit(0) 94 sys.exit(0)
92 95
190 sys.stderr.write("%s\n" % filename) 193 sys.stderr.write("%s\n" % filename)
191 194
192 #For mapping mode, probably most people would expect a BAM file 195 #For mapping mode, probably most people would expect a BAM file
193 #using the reference FASTA file... 196 #using the reference FASTA file...
194 if out_bam and out_bam != "-": 197 if out_bam and out_bam != "-":
195 msg = make_bam(mira_convert, out_maf, ref_fasta, out_bam, handle) 198 if out_maf and out_maf != "-":
199 msg = make_bam(mira_convert, out_maf, ref_fasta, out_bam, handle)
200 else:
201 #Not collecting the MAF file, use original location
202 msg = make_bam(mira_convert, old_maf, ref_fasta, out_bam, handle)
196 if msg: 203 if msg:
197 stop_err(msg) 204 stop_err(msg)
198 205
199 def clean_up(temp, name): 206 def clean_up(temp, name):
200 folder = "%s/%s_assembly" % (temp, name) 207 folder = "%s/%s_assembly" % (temp, name)
214 cmd_list = [mira_binary, "-t", str(threads), manifest] 221 cmd_list = [mira_binary, "-t", str(threads), manifest]
215 cmd = " ".join(cmd_list) 222 cmd = " ".join(cmd_list)
216 223
217 assert os.path.isdir(temp) 224 assert os.path.isdir(temp)
218 d = "%s_assembly" % name 225 d = "%s_assembly" % name
219 assert not os.path.isdir(d), "Path %s already exists" % d 226 #This can fail on my development machine if stale folders exist
227 #under Galaxy's .../database/job_working_directory/ tree:
228 assert not os.path.isdir(d), "Path %r already exists:\n%s" % (d, os.path.abspath(d))
220 try: 229 try:
221 #Check path access 230 #Check path access
222 os.mkdir(d) 231 os.mkdir(d)
223 except Exception, err: 232 except Exception, err:
224 log_manifest(manifest) 233 log_manifest(manifest)