annotate commons/launcher/MapProgramLauncher.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400 (2013-04-30)
parents 94ab73e8a190
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 #!/usr/bin/env python
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 ##@file
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 # Launch Map (multiple alignment).
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 #
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 # options:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 # -h: this help
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 # -i: name of the input file (format='fasta')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 # -s: size above which a gap is not penalized anymore (default='50')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 # -m: penalty for a mismatch (default='-8')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 # -O: penalty for a gap opening (default='16')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 # -e: penalty for a gap extension (default='4')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 # -o: name of the output file (format='aligned fasta', default=inFile+'.fa_aln')
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 # -c: clean
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 # -v: verbosity level (default=0/1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 import sys
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 from pyRepet.launcher.AbstractProgramLauncher import AbstractProgramLauncher
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 from commons.core.seq.FastaUtils import FastaUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 from commons.core.seq.AlignedBioseqDB import AlignedBioseqDB
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 from commons.tools.ChangeSequenceHeaders import ChangeSequenceHeaders
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 class MapProgramLauncher( AbstractProgramLauncher ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 Launch Map (multiple alignment).
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 def __init__( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 Constructor.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 AbstractProgramLauncher.__init__( self )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 self._prgName = "rpt_map"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 self._formatInFile = "fasta"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 self._cmdLineSpecificOptions = "s:m:O:e:o:"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 self._gapSize = 50
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 self._mismatchPenalty = -8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 self._gapOpenPenalty = 16
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 self._gapExtendPenalty = 4
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 self._outFile = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 def getSpecificHelpAsString( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 Return the specific help as a string.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 string = ""
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 string += "\nspecific options:"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 string += "\n -s: size above which a gap is not penalized anymore (default='%i')" % ( self.getGapSize() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 string += "\n -m: penalty for a mismatch (default='%i', match=10)" % ( self.getMismatchPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 string += "\n -O: penalty for a gap opening (default='%i')" % ( self.getGapOpenPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 string += "\n -e: penalty for a gap extension (default='%i')" % ( self.getGapExtendPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 string += "\n -o: name of the output file (format='aligned fasta', default=inFile+'.fa_aln')"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 return string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 def setASpecificAttributeFromCmdLine( self, o, a="" ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 Set a specific attribute from the command-line arguments.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 if o == "-s":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 self.setGapSize( a )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 elif o == "-m":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 self.setMismatchPenalty( a )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 elif o == "-O":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 self.setGapOpenPenalty( a )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 elif o == "-e":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 self.setGapExtendPenalty( a )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 elif o == "-o":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 self.setOutputFile( a )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 def setGapSize( self, arg ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 self._gapSize = int(arg)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 def setMismatchPenalty( self, arg ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 self._mismatchPenalty = int(arg)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 def setGapOpenPenalty( self, arg ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 self._gapOpenPenalty = int(arg)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 def setGapExtendPenalty( self, arg ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 self._gapExtendPenalty = int(arg)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 def getGapSize( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
94 return self._gapSize
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
95
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
96
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
97 def getMismatchPenalty( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
98 return self._mismatchPenalty
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
99
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
100
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
101 def getGapOpenPenalty( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
102 return self._gapOpenPenalty
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
103
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
104
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
105 def getGapExtendPenalty( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
106 return self._gapExtendPenalty
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
107
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
108
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
109 def checkSpecificAttributes( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
110 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
111 Check the specific attributes before running the program.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
112 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
113 if self.getGapSize() <= 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
114 string = "ERROR: gap size should be > 0"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
115 print string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
116 print self.getHelpAsString()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
117 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
118 if self.getMismatchPenalty() >= 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
119 string = "ERROR: mismatch penalty should be < 0"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
120 print string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
121 print self.getHelpAsString()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
122 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
123 if self.getGapOpenPenalty() < 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
124 string = "ERROR: gap opening penalty should be >= 0"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
125 print string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
126 print self.getHelpAsString()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
127 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
128 if self.getGapExtendPenalty() < 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
129 string = "ERROR: gap extension penalty should be >= 0"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
130 print string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
131 print self.getHelpAsString()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
132 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
133 if self.getOutputFile() == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
134 self.setOutputFile( "%s.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
135
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
136
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
137 def setWrapperCommandLine( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
138 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
139 Set the command-line of the wrapper.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
140 Required for MapClusterLauncher.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
141 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
142 self._wrpCmdLine = self.getWrapperName()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
143 self._wrpCmdLine += " -i %s" % ( self.getInputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
144 self._wrpCmdLine += " -s %i" % ( self.getGapSize() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
145 self._wrpCmdLine += " -m %i" % ( self.getMismatchPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
146 self._wrpCmdLine += " -O %i" % ( self.getGapOpenPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
147 self._wrpCmdLine += " -e %i" % ( self.getGapExtendPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
148 if self.getOutputFile() == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
149 self.setOutputFile( "%s.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
150 self._wrpCmdLine += " -o %s" % ( self.getOutputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
151 if self.getClean():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
152 self._wrpCmdLine += " -c"
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
153 self._wrpCmdLine += " -v %i" % ( self.getVerbosityLevel() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
154
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
155
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
156 def setProgramCommandLine( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
157 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
158 Set the command-line of the program.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
159 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
160 self._prgCmdLine = self.getProgramName()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
161 self._prgCmdLine += " %s.shortH" % ( self.getInputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
162 self._prgCmdLine += " %i" % ( self.getGapSize() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
163 self._prgCmdLine += " %i" % ( self.getMismatchPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
164 self._prgCmdLine += " %i" % ( self.getGapOpenPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
165 self._prgCmdLine += " %i" % ( self.getGapExtendPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
166 self._prgCmdLine += " > %s.shortH.fa_aln" % ( self.getInputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
167
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
168
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
169 def setListFilesToKeep( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
170 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
171 Set the list of files to keep.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
172 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
173 if self.getOutputFile() == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
174 self.setOutputFile( "%s.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
175 self.appendFileToKeep( self.getOutputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
176
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
177
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
178 def setListFilesToRemove( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
179 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
180 Set the list of files to remove.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
181 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
182 self.appendFileToRemove( "%s.shortH" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
183 self.appendFileToRemove( "%s.shortH.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
184 self.appendFileToRemove( "%s.shortHlink" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
185
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
186
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
187 def setSummary( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
188 self._summary = "input file: %s" % ( self.getInputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
189 self._summary += "\ngap size: %i" % ( self.getGapSize() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
190 self._summary += "\nmismatch penalty: %i" % ( self.getMismatchPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
191 self._summary += "\ngap openning penalty: %i" % ( self.getGapOpenPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
192 self._summary += "\ngap extension penalty: %i" % ( self.getGapExtendPenalty() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
193 if self.getOutputFile() == "":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
194 self.setOutputFile( "%s.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
195 self._summary += "\noutput file: %s" % ( self.getOutputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
196
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
197
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
198 def run( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
199 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
200 Run the program.
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
201 """
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
202 self.start()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
203
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
204 lInitHeaders = FastaUtils.dbHeaders( self.getInputFile(), self.getVerbosityLevel()-1 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
205
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
206 csh = ChangeSequenceHeaders()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
207 csh.setInputFile( self.getInputFile() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
208 csh.setFormat( "fasta" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
209 csh.setStep( 1 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
210 csh.setPrefix( "seq" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
211 csh.setLinkFile( "%s.shortHlink" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
212 csh.setOutputFile( "%s.shortH" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
213 csh.setVerbosityLevel( self.getVerbosityLevel() - 1 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
214 csh.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
215
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
216 self.setProgramCommandLine()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
217 cmd = self.getProgramCommandLine()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
218 if self.getVerbosityLevel() > 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
219 print "LAUNCH: %s" % ( cmd )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
220 sys.stdout.flush()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
221 returnStatus = os.system( cmd )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
222 if returnStatus != 0:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
223 string = "ERROR: program '%s' returned status '%i'" % ( self.getProgramName(), returnStatus )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
224 print string
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
225 sys.exit(1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
226
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
227 csh.setInputFile( "%s.shortH.fa_aln" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
228 csh.setFormat( "fasta" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
229 csh.setStep( 2 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
230 csh.setLinkFile( "%s.shortHlink" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
231 csh.setOutputFile( "%s.shortH.fa_aln.initH" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
232 csh.setVerbosityLevel( self.getVerbosityLevel() - 1 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
233 csh.run()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
234
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
235 absDB = AlignedBioseqDB( "%s.shortH.fa_aln.initH" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
236 outFileHandler = open( self.getOutputFile(), "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
237 for header in lInitHeaders:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
238 bs = absDB.fetch( header )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
239 bs.upCase()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
240 bs.write( outFileHandler )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
241 outFileHandler.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
242 if self.getClean():
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
243 os.remove( "%s.shortH.fa_aln.initH" % ( self.getInputFile() ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
244
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
245 self.end()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
246
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
247
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
248 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
249 i = MapProgramLauncher()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
250 i.setAttributesFromCmdLine()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
251 i.run()