Mercurial > repos > fubar > tool_factory_2
comparison toolfactory/rgToolFactory2.py @ 39:2cd6555baf44 draft
Uploaded
| author | fubar |
|---|---|
| date | Wed, 12 Aug 2020 19:00:44 -0400 |
| parents | a30536c100bf |
| children |
comparison
equal
deleted
inserted
replaced
| 38:a30536c100bf | 39:2cd6555baf44 |
|---|---|
| 15 # 3. Rewrite bits using galaxyxml functions where that makes sense - done | 15 # 3. Rewrite bits using galaxyxml functions where that makes sense - done |
| 16 # | 16 # |
| 17 # removed all the old complications including making the new tool use this same script | 17 # removed all the old complications including making the new tool use this same script |
| 18 # galaxyxml now generates the tool xml https://github.com/hexylena/galaxyxml | 18 # galaxyxml now generates the tool xml https://github.com/hexylena/galaxyxml |
| 19 # No support for automatic HTML file creation from arbitrary outputs | 19 # No support for automatic HTML file creation from arbitrary outputs |
| 20 # TODO: add option to run that code as a post execution hook | 20 # essential problem is to create two command lines - one for the tool xml and a different |
| 21 # TODO: add additional history input parameters - currently only one | 21 # one to run the executable with the supplied test data and settings |
| 22 # Be simpler to write the tool, then run it with planemo and soak up the test outputs. | |
| 23 | |
| 22 | 24 |
| 23 | 25 |
| 24 import argparse | 26 import argparse |
| 25 import logging | 27 import logging |
| 26 import os | 28 import os |
| 247 self.escapedScript = "%s" % "\n".join( | 249 self.escapedScript = "%s" % "\n".join( |
| 248 [" %s" % html_escape(x) for x in rx] | 250 [" %s" % html_escape(x) for x in rx] |
| 249 ) | 251 ) |
| 250 art = "%s.%s" % (self.tool_name, self.args.interpreter_name) | 252 art = "%s.%s" % (self.tool_name, self.args.interpreter_name) |
| 251 artifact = open(art, "wb") | 253 artifact = open(art, "wb") |
| 254 if self.args.interpreter_name == "python": | |
| 255 artifact.write(bytes("#!/usr/bin/env python\n", "utf8")) | |
| 252 artifact.write(bytes(self.script, "utf8")) | 256 artifact.write(bytes(self.script, "utf8")) |
| 253 artifact.close() | 257 artifact.close() |
| 254 aCL(self.args.interpreter_name) | 258 aCL(self.args.interpreter_name) |
| 255 aCL(self.sfile) | 259 aCL(self.sfile) |
| 256 | 260 |
| 539 "Created by %s at %s using the Galaxy Tool Factory." | 543 "Created by %s at %s using the Galaxy Tool Factory." |
| 540 % (self.args.user_email, timenow()) | 544 % (self.args.user_email, timenow()) |
| 541 ) | 545 ) |
| 542 self.tool.add_comment("Source in git at: %s" % (toolFactoryURL)) | 546 self.tool.add_comment("Source in git at: %s" % (toolFactoryURL)) |
| 543 self.tool.add_comment( | 547 self.tool.add_comment( |
| 544 "Cite: Creating re-usable tools from scripts doi: 10.1093/bioinformatics/bts573" | 548 "Cite: Creating re-usable tools from scripts doi: \ |
| 549 10.1093/bioinformatics/bts573" | |
| 545 ) | 550 ) |
| 546 exml = self.tool.export() | 551 exml = self.tool.export() |
| 547 xf = open('%s.xml' % self.tool_name, "w") | 552 xf = open('%s.xml' % self.tool_name, "w") |
| 548 xf.write(exml) | 553 xf.write(exml) |
| 549 xf.write("\n") | 554 xf.write("\n") |
