comparison rgToolFactory.py @ 19:4bfe405f76ed draft

Uploaded
author fubar
date Sun, 23 Mar 2014 07:46:57 -0400
parents a986c9f88d38
children 812871c1eaec
comparison
equal deleted inserted replaced
18:a986c9f88d38 19:4bfe405f76ed
253 <configfiles> 253 <configfiles>
254 <configfile name="runMe"> 254 <configfile name="runMe">
255 %(script)s 255 %(script)s
256 </configfile> 256 </configfile>
257 </configfiles> 257 </configfiles>
258
258 %(tooltests)s 259 %(tooltests)s
260
259 <help> 261 <help>
260 262
261 %(help)s 263 %(help)s
262 264
263 </help> 265 </help>
265 267
266 newCommand="""<command interpreter="python"> 268 newCommand="""<command interpreter="python">
267 %(toolname)s.py --script_path "$runMe" --interpreter "%(interpreter)s" 269 %(toolname)s.py --script_path "$runMe" --interpreter "%(interpreter)s"
268 --tool_name "%(toolname)s" %(command_inputs)s %(command_outputs)s 270 --tool_name "%(toolname)s" %(command_inputs)s %(command_outputs)s
269 </command>""" # may NOT be an input or htmlout 271 </command>""" # may NOT be an input or htmlout
270 tooltestsTabOnly = """<tests><test> 272 tooltestsTabOnly = """
273 <tests>
274 <test>
271 <param name="input1" value="%(test1Input)s" ftype="tabular"/> 275 <param name="input1" value="%(test1Input)s" ftype="tabular"/>
272 <param name="job_name" value="test1"/> 276 <param name="job_name" value="test1"/>
273 <param name="runMe" value="$runMe"/> 277 <param name="runMe" value="$runMe"/>
274 <output name="tab_file" file="%(test1Output)s" ftype="tabular"/> 278 <output name="tab_file" file="%(test1Output)s" ftype="tabular"/>
275 </test></tests>""" 279 </test>
276 tooltestsHTMLOnly = """<tests><test> 280 </tests>
281 """
282 tooltestsHTMLOnly = """
283 <tests>
284 <test>
277 <param name="input1" value="%(test1Input)s" ftype="tabular"/> 285 <param name="input1" value="%(test1Input)s" ftype="tabular"/>
278 <param name="job_name" value="test1"/> 286 <param name="job_name" value="test1"/>
279 <param name="runMe" value="$runMe"/> 287 <param name="runMe" value="$runMe"/>
280 <output name="html_file" file="%(test1HTML)s" ftype="html" lines_diff="5"/> 288 <output name="html_file" file="%(test1HTML)s" ftype="html" lines_diff="5"/>
281 </test></tests>""" 289 </test>
282 tooltestsBoth = """<tests><test> 290 </tests>
291 """
292 tooltestsBoth = """<tests>
293 <test>
283 <param name="input1" value="%(test1Input)s" ftype="tabular"/> 294 <param name="input1" value="%(test1Input)s" ftype="tabular"/>
284 <param name="job_name" value="test1"/> 295 <param name="job_name" value="test1"/>
285 <param name="runMe" value="$runMe"/> 296 <param name="runMe" value="$runMe"/>
286 <output name="tab_file" file="%(test1Output)s" ftype="tabular" /> 297 <output name="tab_file" file="%(test1Output)s" ftype="tabular" />
287 <output name="html_file" file="%(test1HTML)s" ftype="html" lines_diff="10"/> 298 <output name="html_file" file="%(test1HTML)s" ftype="html" lines_diff="10"/>
288 </test></tests>""" 299 </test>
300 </tests>
301 """
289 xdict = {} 302 xdict = {}
290 xdict['requirements'] = '' 303 xdict['requirements'] = ''
291 if self.opts.make_HTML: 304 if self.opts.make_HTML:
292 xdict['requirements'] = protorequirements 305 xdict['requirements'] = protorequirements
293 xdict['tool_version'] = self.opts.tool_version 306 xdict['tool_version'] = self.opts.tool_version
302 xdict['tooltests'] = tooltestsTabOnly % xdict 315 xdict['tooltests'] = tooltestsTabOnly % xdict
303 xdict['script'] = self.escapedScript 316 xdict['script'] = self.escapedScript
304 # configfile is least painful way to embed script to avoid external dependencies 317 # configfile is least painful way to embed script to avoid external dependencies
305 # but requires escaping of <, > and $ to avoid Mako parsing 318 # but requires escaping of <, > and $ to avoid Mako parsing
306 if self.opts.help_text: 319 if self.opts.help_text:
307 xdict['help'] = open(self.opts.help_text,'r').read() 320 xdict['help'] = open(self.opts.help_text,'r').readlines()
308 xdict['help'] = '\n'.join([x.lstrip(x) for x in xdict['help']]) 321 xdict['help'] = ''.join([x.lstrip(x) for x in xdict['help']])
309 else: 322 else:
310 xdict['help'] = 'Please ask the tool author for help as none was supplied at tool generation\n' 323 xdict['help'] = 'Please ask the tool author for help as none was supplied at tool generation\n'
311 coda = ['**Script**','Pressing execute will run the following code over your input file and generate some outputs in your history::'] 324 coda = ['**Script**','Pressing execute will run the following code over your input file and generate some outputs in your history::']
312 coda.append(self.indentedScript) 325 coda.append(self.indentedScript)
313 coda.append('**Attribution** This Galaxy tool was created by %s at %s\nusing the Galaxy Tool Factory.' % (self.opts.user_email,timenow())) 326 coda.append('**Attribution** This Galaxy tool was created by %s at %s\nusing the Galaxy Tool Factory.' % (self.opts.user_email,timenow()))