# HG changeset patch
# User fubar_too
# Date 1621556161 0
# Node ID cc1a8fbb0f48c09fa98b3637edbea7e65321671a
# Parent 34ff94460cc33700df5d86f590bd86c13dbacd9d
Uploaded
diff -r 34ff94460cc3 -r cc1a8fbb0f48 toolfactory/ToolFactory.py
--- a/toolfactory/ToolFactory.py Tue May 18 11:00:39 2021 +0000
+++ b/toolfactory/ToolFactory.py Fri May 21 00:16:01 2021 +0000
@@ -113,9 +113,12 @@
ourxml = [x for x in flist if x.lower().endswith(".xml")]
tff.extractall()
tff.close()
- self.run_rsync(ourdir, self.tool_dir)
- with Locker():
- self.update_toolconf(ourdir, ourxml)
+ try:
+ self.run_rsync(ourdir, self.tool_dir)
+ with Locker():
+ self.update_toolconf(ourdir, ourxml)
+ except Exception:
+ print('Cannot install the new tool. This is only possible in the ToolFactory appliance at https://github.com/fubar2/toolfactory-galaxy-server')
def run_rsync(self, srcf, dstf):
src = os.path.abspath(srcf)
@@ -974,7 +977,7 @@
r.writeShedyml()
r.makeTool()
r.makeToolTar()
- if args.install == "true":
+ if args.install == "1":
TCU = Tool_Conf_Updater(
args=args,
local_tool_dir=args.local_tools,
diff -r 34ff94460cc3 -r cc1a8fbb0f48 toolfactory/ToolFactory.xml
--- a/toolfactory/ToolFactory.xml Tue May 18 11:00:39 2021 +0000
+++ b/toolfactory/ToolFactory.xml Fri May 21 00:16:01 2021 +0000
@@ -34,7 +34,7 @@
help="Supply a brief tool description for the Galaxy tool menu entry" />
+ type="hidden" default="1" />
diff -r 34ff94460cc3 -r cc1a8fbb0f48 toolfactory/ToolFactoryDemosApril30.ga
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/toolfactory/ToolFactoryDemosApril30.ga Fri May 21 00:16:01 2021 +0000
@@ -0,0 +1,965 @@
+{
+ "a_galaxy_workflow": "true",
+ "annotation": "",
+ "format-version": "0.1",
+ "name": "ToolFactory - make, test and install demonstration tools",
+ "steps": {
+ "0": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 0,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -152.39999389648438,
+ "height": 102.60000610351562,
+ "left": 252.5,
+ "right": 452.5,
+ "top": -255,
+ "width": 200,
+ "x": 252.5,
+ "y": -255
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"__workflow_invocation_uuid__\": \"dbb99db2a98811ebbc9e0242ac1b0004\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_prefix\": \"\", \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"echo \\\"Hello $1\\\"\"}}, \"help_text\": \"**What it Does**\", \"install\": \"false\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"Hello_output\", \"history_format\": \"txt\", \"history_CL\": \"STDOUT\", \"history_test\": \"diff:0\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": [{\"__index__\": 0, \"param_name\": \"say_hello_to\", \"ap_type\": {\"param_type\": \"text\", \"__current_case__\": 0, \"param_value\": \"\"}, \"param_label\": \"Say hello to\", \"param_help\": \"\", \"param_CL\": \"1\", \"param_CLprefixed\": \"\", \"param_repeat\": \"false\"}]}}}, \"make\": {\"makeMode\": {\"__current_case__\": 1, \"citations\": [], \"galaxy_apikey\": \"fakekey\", \"galaxy_url\": \"http://localhost:8080\", \"help_text\": \"**What it Does**\\nToolFactory demonstration - hello world in Galaxy\", \"make_Tool\": \"gentest\", \"tool_desc\": \"Says hello\", \"tool_version\": \"0.01\", \"toolshed_apikey\": \"fakekey\", \"toolshed_url\": \"http://localhost:9009\"}}, \"run_test\": \"true\", \"tool_desc\": \"\", \"tool_name\": \"hello_toolshed\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "f07cf7c8-4a96-4c4f-bd7b-d43c30642369",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "5e1e49e0-ed56-4c7a-95fe-2f66aa4d7165"
+ }
+ ]
+ },
+ "1": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 1,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "bwa-mem-fastq1.fq"
+ }
+ ],
+ "label": "bwa-mem-fastq1.fq",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": 353.1999969482422,
+ "height": 82.19999694824219,
+ "left": 252.5,
+ "right": 452.5,
+ "top": 271,
+ "width": 200,
+ "x": 252.5,
+ "y": 271
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "e1c43d57-ee0e-42ea-aed7-d86c595d06e7",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "ecd799ad-b7be-4b58-87ea-050884620d99"
+ }
+ ]
+ },
+ "2": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 2,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "bwa-mem-mt-genome.fa"
+ }
+ ],
+ "label": "bwa-mem-mt-genome.fa",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": 473.1999969482422,
+ "height": 82.19999694824219,
+ "left": 252.5,
+ "right": 452.5,
+ "top": 391,
+ "width": 200,
+ "x": 252.5,
+ "y": 391
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "98ae8bb5-cd5c-4330-b0cc-4d2252b0eee1",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "c0b94cf6-886f-4260-9e63-a2e57435a628"
+ }
+ ]
+ },
+ "3": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 3,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "hello_toolshed_toolshed.gz"
+ }
+ ],
+ "label": "hello_toolshed_toolshed.gz",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": -333.8000030517578,
+ "height": 82.19999694824219,
+ "left": 252.5,
+ "right": 452.5,
+ "top": -416,
+ "width": 200,
+ "x": 252.5,
+ "y": -416
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "f65affe8-b8b2-4e54-9e1a-57f038e31d04",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "68da073d-aa54-470c-aab5-a429846870eb"
+ }
+ ]
+ },
+ "4": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 4,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -313.3999938964844,
+ "height": 102.60000610351562,
+ "left": 530.5,
+ "right": 730.5,
+ "top": -416,
+ "width": 200,
+ "x": 530.5,
+ "y": -416
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"swi-prolog\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"swipl -q -g main -s \", \"dynScript\": \"parent(pam,bob).\\nparent(tom,bob).\\nparent(tom,liz).\\nparent(bob,ann).\\nparent(bob,pat).\\nparent(pat,jim).\\n\\nmain :-\\n parent(X,jim),\\n format('~a is the parent of jim~n', [X]),\\n halt.\"}}, \"help_text\": \"**What it Does**\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"prolog_out\", \"history_format\": \"txt\", \"history_CL\": \"STDOUT\", \"history_test\": \"diff:0\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": []}}}, \"run_test\": \"true\", \"tool_desc\": \"\", \"tool_name\": \"prolog_demo\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "b912fc6c-2ac9-4b29-8b29-abb960e75468",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "4d4d0421-9ae5-4b3a-8c81-ccfbe02cbada"
+ }
+ ]
+ },
+ "5": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 5,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "phiX.fasta"
+ }
+ ],
+ "label": "phiX.fasta",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": -176.1999969482422,
+ "height": 61.80000305175781,
+ "left": 808.5,
+ "right": 1008.5,
+ "top": -238,
+ "width": 200,
+ "x": 808.5,
+ "y": -238
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "0e9d6723-9165-413d-95e0-cb7cad549c86",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "cd0767ab-f0f3-47c1-8eb0-ac40700c3a5e"
+ }
+ ]
+ },
+ "6": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 6,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -313.3999938964844,
+ "height": 102.60000610351562,
+ "left": 808.5,
+ "right": 1008.5,
+ "top": -416,
+ "width": 200,
+ "x": 808.5,
+ "y": -416
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"echo \\\"Hello $1\\\"\"}}, \"help_text\": \"**What it Does**\\nPrototype bash script with a text input and a new history output.\\nRemarkably useful as a starting point - add a new bash script and add the appropriate parameters to make a new tool.\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"Hello_output\", \"history_format\": \"txt\", \"history_CL\": \"STDOUT\", \"history_test\": \"diff:0\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": [{\"__index__\": 0, \"param_name\": \"say_hello_to\", \"ap_type\": {\"param_type\": \"text\", \"__current_case__\": 0, \"param_value\": \"Hello from the ToolFactory!\"}, \"param_label\": \"Say hello to\", \"param_help\": \"\", \"param_CL\": \"1\", \"param_CLprefixed\": \"\", \"param_repeat\": \"false\"}]}}}, \"run_test\": \"true\", \"tool_desc\": \"ToolFactory demonstration using a bash script.\", \"tool_name\": \"hello_toolshed\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "877a5d8c-e46f-48b0-9c54-5bbf302c8719",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "56928b22-2cb6-4b3a-ab79-987d3cdbbba2"
+ }
+ ]
+ },
+ "7": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 7,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "rgToolFactory2.py"
+ }
+ ],
+ "label": "rgToolFactory2.py",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": 562.1999969482422,
+ "height": 82.19999694824219,
+ "left": 818.5,
+ "right": 1018.5,
+ "top": 480,
+ "width": 200,
+ "x": 818.5,
+ "y": 480
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "60049d1f-78bd-4a84-bad4-23263ea7d023",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "3d75794b-a995-4f36-b622-71fd91edd084"
+ }
+ ]
+ },
+ "8": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 8,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -313.3999938964844,
+ "height": 102.60000610351562,
+ "left": 1086.5,
+ "right": 1286.5,
+ "top": -416,
+ "width": 200,
+ "x": 1086.5,
+ "y": -416
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"echo \\\"You chose $1\\\"\"}}, \"help_text\": \"**What it Does**\\nDemonstrates select parameters generated by ToolFactory forms\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"select_out\", \"history_format\": \"txt\", \"history_CL\": \"STDOUT\", \"history_test\": \"diff:0\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": [{\"__index__\": 0, \"param_name\": \"choose\", \"ap_type\": {\"param_type\": \"selecttext\", \"__current_case__\": 4, \"selectTexts\": [{\"__index__\": 0, \"select_text\": \"one\", \"select_value\": \"won\"}, {\"__index__\": 1, \"select_text\": \"two\", \"select_value\": \"too\"}, {\"__index__\": 2, \"select_text\": \"three\", \"select_value\": \"free\"}]}, \"param_label\": \"Choose\", \"param_help\": \"\", \"param_CL\": \"1\", \"param_CLprefixed\": \"\", \"param_repeat\": \"false\"}]}}}, \"run_test\": \"true\", \"tool_desc\": \"ToolFactory select demonstration\", \"tool_name\": \"select_test\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "f9c9d681-b626-426c-b8fb-19503ea4571e",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "3de506bf-9ad1-4d1f-be29-e42ae6f37a34"
+ }
+ ]
+ },
+ "9": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 9,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "hello_lisp.txt"
+ }
+ ],
+ "label": "hello_lisp.txt",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "bottom": -4.1999969482421875,
+ "height": 61.80000305175781,
+ "left": 1364.5,
+ "right": 1564.5,
+ "top": -66,
+ "width": 200,
+ "x": 1364.5,
+ "y": -66
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "4883c5d1-15ec-4595-8488-9c5ce453d632",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "9af42c99-a5bf-4835-8408-767d7273ceb0"
+ }
+ ]
+ },
+ "10": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 10,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -313.3999938964844,
+ "height": 102.60000610351562,
+ "left": 1364.5,
+ "right": 1564.5,
+ "top": -416,
+ "width": 200,
+ "x": 1364.5,
+ "y": -416
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"r-base\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"Rscript\", \"dynScript\": \"# demo\\nargs = commandArgs(trailingOnly=TRUE)\\nif (length(args)==0) {\\n n_plots = 3 \\n} else {\\n n_plots = as.integer(args[1]) }\\ndir.create('plots')\\nfor (i in 1:n_plots) {\\n foo = runif(100)\\n bar = rnorm(100)\\n bar = foo + 0.05*bar\\n pdf(paste('plots/yet',i,\\\"anotherplot.pdf\\\",sep='_'))\\n plot(foo,bar,main=paste(\\\"Foo by Bar plot #\\\",i),col=\\\"maroon\\\", pch=3,cex=0.6)\\n dev.off()\\n foo = data.frame(a=runif(100),b=runif(100),c=runif(100),d=runif(100),e=runif(100),f=runif(100))\\n bar = as.matrix(foo)\\n pdf(paste('plots/yet',i,\\\"anotherheatmap.pdf\\\",sep='_'))\\n heatmap(bar,main='Random Heatmap')\\n dev.off()\\n}\\n\"}}, \"help_text\": \"**What it Does**\\nToolFactory demonstration of a collection to hide lots of outputs from a tool in a single history item to avoid clutter.\\nAs many random plots as you want.\\nViewable inside the resulting history collection\\nScript is responsible for writing all the appropriate outputs into a directory called the same name as the collection as shown here.\\nVery handy for things not useful downstream but useful for the user to review and study.\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [], \"collection_outputs\": [{\"__index__\": 0, \"name\": \"plots\", \"kind\": \"list\", \"label\": \"Plots\", \"discover\": \"__name_and_ext__\"}]}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": [{\"__index__\": 0, \"param_name\": \"nplot\", \"ap_type\": {\"param_type\": \"text\", \"__current_case__\": 0, \"param_value\": \"3\"}, \"param_label\": \"Number of random plots pairs to draw\", \"param_help\": \"\", \"param_CL\": \"1\", \"param_CLprefixed\": \"\", \"param_repeat\": \"false\"}]}}}, \"run_test\": \"true\", \"tool_desc\": \"Collection demonstration\", \"tool_name\": \"plotter\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "d00bd283-f69e-4537-9ccc-a5fa753e9f53",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "4d769d8b-370c-444e-9245-2b2fa719ca99"
+ }
+ ]
+ },
+ "11": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 11,
+ "input_connections": {},
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -293,
+ "height": 123,
+ "left": 1642.5,
+ "right": 1842.5,
+ "top": -416,
+ "width": 200,
+ "x": 1642.5,
+ "y": -416
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"# pathetic attempt at a malicious script in Galaxy\\n# it fails because the job execution environment gives write access to few places\\necho \\\"ls -la\\\"\\nls -la\\ncd /\\necho \\\"ls -la after changing to /\\\"\\nls -la\\ntouch \\\"foo_was.here\\\"\\necho \\\"ls -la in root after touch foo_was.here - foo_was_not.here more like it\\\"\\nls -la\\n\"}}, \"help_text\": \"**What it Does**\\nShows what you can't do with a bash script\\nCheck the tool stderr - it isn't captured but should be. Send code.\\nResults vary - in a biocontainer, you are root so can do anything.\\nIn a normal Galaxy, not so much.\\nThis is a very interesting way to see what a tool can do on your machine.\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"evil_script_output\", \"history_format\": \"txt\", \"history_CL\": \"STDOUT\", \"history_test\": \"sim_size:0.05\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": []}}}, \"run_test\": \"true\", \"tool_desc\": \"Tries some naughty things\", \"tool_name\": \"evil_script_that_fails\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "4c24a895-4cf6-43ec-8517-769974115809",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "d19ecbb5-e61e-46f1-a37b-2b54e0eaba1b"
+ }
+ ]
+ },
+ "12": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 12,
+ "input_connections": {
+ "io_param|ppass|io|history_inputs_0|input_files": {
+ "id": 0,
+ "output_name": "new_tool"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": -96.60000610351562,
+ "height": 154.39999389648438,
+ "left": 530.5,
+ "right": 730.5,
+ "top": -251,
+ "width": 200,
+ "x": 530.5,
+ "y": -251
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"planemo=0.74.1\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"cp $1 foo.tar \\ntar -xvf foo.tar\\nTOOLNAME=`find . -name \\\"*.xml\\\"`\\necho \\\"$$$$$TOOLNAME = $TOOLNAME\\\" > $2\\nplanemo lint $TOOLNAME >> $2\"}}, \"help_text\": \"**What it Does**\\nToolFactory demonstration script using bash to run planemo lint from a history tarball\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [{\"__index__\": 0, \"input_files\": {\"__class__\": \"ConnectedValue\"}, \"input_formats\": [\"tgz\", \"toolshed.gz\"], \"input_label\": \"Toolshed archive to be linted\", \"input_help\": \"\", \"input_CL\": \"1\", \"input_repeat\": \"false\"}], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"lint_output\", \"history_format\": \"txt\", \"history_CL\": \"2\", \"history_test\": \"diff:5\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": []}}}, \"run_test\": \"true\", \"tool_desc\": \"Runs Planemo lint on any toolshed.gz file\", \"tool_name\": \"planemo_lint\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "170f36c8-8681-477e-ba9d-8e6c8965f735",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "0e7fba79-fda8-44e7-912c-324f79d2caf2"
+ }
+ ]
+ },
+ "13": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 13,
+ "input_connections": {
+ "io_param|ppass|io|history_inputs_0|input_files": {
+ "id": 2,
+ "output_name": "output"
+ },
+ "io_param|ppass|io|history_inputs_1|input_files": {
+ "id": 1,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": 485.6000061035156,
+ "height": 225.60000610351562,
+ "left": 540.5,
+ "right": 740.5,
+ "top": 260,
+ "width": 200,
+ "x": 540.5,
+ "y": 260
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"yes\", \"__current_case__\": 1, \"command_override\": \"## Build reference\\n#set $reference_fasta_filename = \\\"localref.fa\\\"\\nln -s \\\"${ref_file}\\\" \\\"${reference_fasta_filename}\\\" ;\\nbwa index -a is \\\"${reference_fasta_filename}\\\" ;\\nbwa mem -t \\\"\\\\${GALAXY_SLOTS:-4}\\\" -v 1 \\\"${reference_fasta_filename}\\\" \\\"${fastq_input1}\\\" | samtools view -Sb - > temporary_bam_file.bam ;\\nsamtools sort -o \\\"${bwa_test_commover_bam_output}\\\" temporary_bam_file.bam\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"bwa=0.7.15, samtools=1.3\", \"usescript\": {\"choosescript\": \"no\", \"__current_case__\": 0, \"dynScript\": \"\", \"scriptrunner\": \"\"}}, \"help_text\": \"**What it Does**\\nTrivial example from a Planemo documentation example\\nIt can be useful. It is sort of bash with substitutions from the tool form.\\nIf you need it, it's here.\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"argparse\", \"__current_case__\": 0, \"io\": {\"history_inputs\": [{\"__index__\": 0, \"input_files\": {\"__class__\": \"ConnectedValue\"}, \"input_formats\": [\"fasta\"], \"input_label\": \"Reference sequence to align reads\", \"input_help\": \"\", \"input_CL\": \"ref_file\", \"input_repeat\": \"false\"}, {\"__index__\": 1, \"input_files\": {\"__class__\": \"ConnectedValue\"}, \"input_formats\": [\"fastqsanger\"], \"input_label\": \"Fastqsanger file containing reads to be mapped against reference\", \"input_help\": \"\", \"input_CL\": \"fastq_input1\", \"input_repeat\": \"false\"}], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"bwa_test_commover_bam_output\", \"history_format\": \"bam\", \"history_CL\": \"\", \"history_test\": \"sim_size:0.1\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": []}}}, \"run_test\": \"true\", \"tool_desc\": \"Command over-ride demonstration\", \"tool_name\": \"bwa_test_command_override\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "43535a6f-1066-4b85-b347-f310858995a7",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "a48f2e86-7017-47b8-8c2b-e81b25cf9590"
+ }
+ ]
+ },
+ "14": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 14,
+ "input_connections": {
+ "io_param|ppass|io|history_inputs_0|input_files": {
+ "id": 2,
+ "output_name": "output"
+ },
+ "io_param|ppass|io|history_inputs_1|input_files": {
+ "id": 1,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": 749.6000061035156,
+ "height": 225.60000610351562,
+ "left": 540.5,
+ "right": 740.5,
+ "top": 524,
+ "width": 200,
+ "x": 540.5,
+ "y": 524
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"bwa=0.7.15, samtools=1.3\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"bash\", \"dynScript\": \"REFFILE=$1\\nFASTQ=$2\\nBAMOUT=$3\\nrm -f \\\"refalias\\\"\\nln -s \\\"$REFFILE\\\" \\\"refalias\\\"\\nbwa index -a is \\\"refalias\\\"\\nbwa mem -t \\\"2\\\" -v 1 \\\"refalias\\\" \\\"$FASTQ\\\" > tempsam\\nsamtools view -Sb tempsam > temporary_bam_file.bam\\nsamtools sort -o \\\"$BAMOUT\\\" temporary_bam_file.bam\\n\"}}, \"help_text\": \"**What it Does**\\nSame thing as the command over-ride version but using a bash script and passing parameters.\\nProbably more familiar to many non-Galaxy developers.\", \"install\": \"true\", \"io_param\": {\"ppass\": {\"parampass\": \"positional\", \"__current_case__\": 1, \"io\": {\"history_inputs\": [{\"__index__\": 0, \"input_files\": {\"__class__\": \"ConnectedValue\"}, \"input_formats\": [\"fasta\"], \"input_label\": \"Reference sequence to map reads against\", \"input_help\": \"\", \"input_CL\": \"1\", \"input_repeat\": \"false\"}, {\"__index__\": 1, \"input_files\": {\"__class__\": \"ConnectedValue\"}, \"input_formats\": [\"fastq\"], \"input_label\": \"Reads to map\", \"input_help\": \"\", \"input_CL\": \"2\", \"input_repeat\": \"false\"}], \"history_outputs\": [{\"__index__\": 0, \"history_name\": \"bwa_test_bash_output\", \"history_format\": \"bam\", \"history_CL\": \"3\", \"history_test\": \"sim_size:0.1\"}], \"collection_outputs\": []}, \"addparam\": {\"edit_params\": \"yes\", \"additional_parameters\": []}}}, \"run_test\": \"true\", \"tool_desc\": \"Bash script equivalent of the bwa command over-ride.\", \"tool_name\": \"bwa_test_toolfactory_positional_bash\", \"tool_version\": \"0.01\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "2.00",
+ "type": "tool",
+ "uuid": "dc44d183-23e3-45cc-978a-336280ec70a6",
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "new_tool",
+ "uuid": "c7943d13-c9c1-41ec-a055-a7cb1af39b6e"
+ }
+ ]
+ },
+ "15": {
+ "annotation": "",
+ "content_id": "rgtf2",
+ "errors": null,
+ "id": 15,
+ "input_connections": {
+ "io_param|ppass|io|history_inputs_0|input_files": {
+ "id": 5,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "toolfactory",
+ "outputs": [
+ {
+ "name": "new_tool",
+ "type": "toolshed.gz"
+ }
+ ],
+ "position": {
+ "bottom": 91.39999389648438,
+ "height": 154.39999389648438,
+ "left": 1086.5,
+ "right": 1286.5,
+ "top": -63,
+ "width": 200,
+ "x": 1086.5,
+ "y": -63
+ },
+ "post_job_actions": {},
+ "tool_id": "rgtf2",
+ "tool_state": "{\"__input_ext\": \"input\", \"chromInfo\": \"/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"citations\": [], \"cl_suffix\": \"\", \"cover\": {\"commover\": \"no\", \"__current_case__\": 0, \"command_override\": \"\", \"test_override\": \"\"}, \"deps\": {\"packages\": \"perl\", \"usescript\": {\"choosescript\": \"yes\", \"__current_case__\": 1, \"scriptrunner\": \"perl\", \"dynScript\": \"#!/usr/bin/perl -w\\n\\n# usage : perl toolExample.pl