annotate ctat_trinity_wrapper.py @ 3:777b35c8ee3e draft default tip

Trying newer trinity
author trinity_ctat
date Mon, 25 Jun 2018 16:38:28 -0400
parents 6a3722879525
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
1 #!/usr/bin/env python
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
2
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
3 '''
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
4 trinity_runner.py
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
5 This program is used as a wrapper for Trinity to allow an automatic rerun of failed jobs. It takes arguments for a typical Trinity run:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
6 ~ Required args ~
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
7 Input files - single or paired (left and right)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
8 File type (fasta, fastq)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
9 Max memory - this I need to derive somehow from the dynamic runner using Galaxy slots
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
10
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
11 ~ Optional args ~
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
12 Output directory - this allows users to run the same job over in case it walltime'd out or failed for recoverable reasons.
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
13
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
14 --
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
15 Created Tuesday, 7 March 2017.
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
16 Carrie Ganote
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
17
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
18 Licensed to Indiana University under Creative Commons 3.0
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
19 '''
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
20 import subprocess32
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
21 import argparse
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
22 import logging as log
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
23 import sys
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
24 import os
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
25 import errno
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
26 from datetime import datetime
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
27
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
28 TRINITY_OUT_DIR = "trinity_out_dir"
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
29
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
30 def main(*args):
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
31 parser = argparse.ArgumentParser(description="")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
32 parser.add_argument("-o","--output", help="Name of output directory")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
33 parser.add_argument("-q","--seqType", help="Type of reads; fa or fq")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
34 parser.add_argument("-m","--max_memory", help="How much memory to allocate? Or maybe how many cpus?")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
35 parser.add_argument("-p","--mem_per_cpu", help="Memory PER CPU, in GB, in case we want to multiply mem x cpu at runtime")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
36 parser.add_argument("-s","--single", help="Single read file input")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
37 parser.add_argument("-l","--left", help="Left read file from paired inputs")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
38 parser.add_argument("-r","--right", help="Right read file from paired inputs")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
39 parser.add_argument("-v","--verbose", help="Enable debugging messages to be displayed", action='store_true')
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
40 parser.add_argument("-g","--log", help="Log file")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
41 parser.add_argument("-t","--timing", help="Timing file, if it exists", default=None)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
42 parser.add_argument("-d","--dir", help="if supplying a rerunnable job, this is the (hopefully unique) name of the directory to run it in.")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
43 parser.add_argument("-u","--user", help="Username to run job under")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
44 parser.add_argument("-f","--fullpath", help="if supplying a rerunnable job, this is the full path (except the user and dir names) to run the job in.")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
45 parser.add_argument("-c","--CPU", help="CPUs, either a hard coded numer or from Galaxy slots")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
46 # parser.add_argument("-","--", help="")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
47 args = parser.parse_args()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
48
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
49 if args.verbose:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
50 log.basicConfig(format='%(message)s',level=log.DEBUG)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
51 cmd = ["Trinity"]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
52
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
53 ### Add rerun ability ###########################################
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
54 # This variable tells us later whether to copy the files back to the job working directory
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
55 copyback = False
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
56 if args.dir and args.user and args.fullpath:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
57 cleandir = args.dir
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
58 chars = "\\`*_{}[]()>#+-.!$&;| "
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
59 for c in chars:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
60 if c in cleandir:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
61 cleandir = cleandir.replace(c, "_")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
62 rerunPath = "%s/%s/%s" % (args.fullpath, args.user, cleandir)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
63 print "Rerunpath is ",rerunPath
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
64 try:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
65 os.makedirs(rerunPath)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
66 print "Created dir ",rerunPath
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
67 except OSError as exc:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
68 if exc.errno == errno.EEXIST and os.path.isdir(rerunPath):
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
69 pass
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
70 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
71 raise
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
72 copyback = os.getcwd()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
73 outdir = copyback + "/" + TRINITY_OUT_DIR
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
74 try:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
75 os.makedirs(outdir)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
76 print "Created dir ",outdir
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
77 except OSError as exc:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
78 if exc.errno == errno.EEXIST and os.path.isdir(outdir):
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
79 pass
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
80 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
81 raise
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
82 os.chdir(rerunPath)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
83
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
84 ### Add information for reads ###################################
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
85 if args.left and args.right:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
86 cmd += ["--left",args.left,"--right", args.right]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
87 elif args.single:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
88 cmd += ["--single",args.single]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
89 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
90 raise Exception ("Need input files in order to run Trinity!")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
91
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
92 ### Add seqtype ##################################################
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
93 if args.seqType:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
94 cmd += ["--seqType",args.seqType]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
95 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
96 raise Exception ("Please specify a file type for your reads!")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
97
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
98 ### Memory and CPU management ####################################
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
99 if args.mem_per_cpu and not args.max_memory:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
100 if args.CPU:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
101 memry = int(args.CPU) * int(args.mem_per_cpu)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
102 memstr = "%dG" % (memry)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
103 cmd += ["--max_memory",memstr]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
104 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
105 memry = 2 * int(args.mem_per_cpu)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
106 memstr = "%dG" % (memry)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
107 cmd += ["--max_memory",memstr]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
108 elif args.max_memory and not args.mem_per_cpu:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
109 cmd += ["--max_memory",args.max_memory]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
110 else:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
111 raise Exception ("Please pick Memory per cpu, or max mem, but not both.")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
112 if args.CPU:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
113 cmd += ["--CPU", args.CPU]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
114
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
115 ### Enough args, let's run it ####################################
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
116 print "About to write to %s" % args.log
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
117 out = open(args.log, 'w')
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
118 totalattempts = attempts = 2
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
119 ec = 1
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
120 finish = 1
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
121 out.write("Command is:\n%s\n" % (" ".join(cmd)))
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
122
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
123 ### There is definitely some value in running the job more than once, especially if it dies for stupid reasons.. ###
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
124 while ec != 0 and attempts > 0 and finish != 0:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
125
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
126 dt = datetime.now()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
127 dtstr = dt.strftime("%d/%m/%y %H:%M")
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
128 out.write("Beginning attempt %d of Trinity job at %s\n" % (totalattempts - attempts +1, dtstr) )
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
129 attempts -= 1
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
130 ec = subprocess32.call(cmd, shell=False, stdin=None, stdout=out, stderr=out, timeout=None)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
131 out.write("Trinity exited with status %d\n" % ec)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
132
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
133 greplog = open("greplog", 'w')
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
134 cmds = ["grep", 'All commands completed successfully', args.log]
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
135 finish = subprocess32.call(cmds,shell=False, stdin=None, stdout=greplog, stderr=greplog, timeout=None)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
136 greplog.close()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
137 out.write("Finished and found the success command with grep code %d\n" % finish)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
138
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
139 if ec == 0 and args.timing is not None:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
140 if copyback is not False:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
141 cwd = os.getcwd()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
142 dest = copyback + "/" + TRINITY_OUT_DIR + "/Trinity.fasta"
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
143 src = cwd + "/" + TRINITY_OUT_DIR + "/Trinity.fasta"
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
144 print "copying trinity outputs from %s to %s" % (src, dest)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
145 os.symlink(src, dest)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
146
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
147 #copy the timing file into the log
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
148 try:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
149 handle = open (args.timing, 'r')
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
150 for line in handle:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
151 out.write(line)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
152 handle.close()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
153 except (OSError, IOError) as e:
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
154 print "Oops, no timing file found? ",e
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
155
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
156
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
157 out.close()
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
158 exit (ec)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
159
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
160 if __name__ == "__main__":
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
161 main(*sys.argv)
6a3722879525 Revamp and renaming of previous tools. Many of tools are new versions. Adding ctat_metagenomics tool.
trinity_ctat
parents:
diff changeset
162