Previous changeset 31:69eed330c91f (2020-08-07) Next changeset 33:c5290ea7bae0 (2020-08-08) |
Commit message:
passes planemo test |
modified:
toolfactory/README.md toolfactory/rgToolFactory2.py toolfactory/rgToolFactory2.xml |
added:
toolfactory/test-data/input1_sample toolfactory/test-data/output2_sample toolfactory/test-data/pyrevpos.python toolfactory/test-data/test1_log.txt toolfactory/test-data/toolfactory_pyrevpos_tgz_sample toolfactory/testtf.sh |
removed:
toolfactory/test-data/infile.tabular toolfactory/test-data/reverseargp2.toolshed.gz toolfactory/test-data/reverseargp2_test1_output.xls toolfactory/test-data/runme.py toolfactory/test-data/test1_out.log toolfactory/test-data/toolfactory.log |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/README.md --- a/toolfactory/README.md Fri Aug 07 07:55:35 2020 -0400 +++ b/toolfactory/README.md Fri Aug 07 23:14:54 2020 -0400 |
[ |
b'@@ -1,49 +1,17 @@\n-toolfactory_2\n-=============\n-\n-This is an upgrade to the tool factory but with added parameters \n-(optionally editable in the generated tool form - otherwise fixed) and \n-multiple input files.\n-\n-Specify any number of parameters - well at \n-least up to the limit of your patience with repeat groups.\n-\n-Parameter values supplied at tool generation time are defaults and \n-can be optionally editable by the user - names cannot be changed once\n-a tool has been generated.\n-\n-If not editable, they act as hidden parameters passed to the script \n-and are not editable on the tool form.\n-\n-Note! There will be Galaxy default sanitization for all \n-user input parameters which your script may need to dance around.\n+\xef\xbb\xbf*WARNING before you start*\n \n-Any number of input files can be passed to your script, but of course it\n-has to deal with them. Both path and metadata name are supplied either in the environment \n-(bash/sh) or as command line parameters (python,perl,rscript) that need to be parsed and\n-dealt with in the script. This is complicated by the common use case of needing file names\n-for (eg) column headers, as well as paths. Try the examples are show on the tool factory \n-form to see how Galaxy file and user supplied parameter values can be recovered in each \n-of the 4 scripting environments supported.\n+ Install this tool on a private Galaxy ONLY\n+ Please NEVER on a public or production instance\n+ \n+Updated august 2014 by John Chilton adding citation support\n \n-Best way to deal with multiple outputs is to let the tool factory generate an HTML\n-page for your users. It automagically lays out pdf images as thumbnail galleries\n-and can have separate results sections gathering all similarly prefixed files, such as\n-a Foo section taking text and results from text (foo_whatever.log) and \n-artifacts (eg foo_MDS_plot.pdf) file names. All artifacts are linked for download.\n-A copy of the actual script is provided for provenance - be warned, it exposes\n-real file paths.\n+Updated august 8 2014 to fix bugs reported by Marius van den Beek\n \n-**WARNING before you start**\n-\n-Install this tool on a private Galaxy ONLY\n-Please NEVER on a public or production instance\n Please cite the resource at\n http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573?ijkey=lczQh1sWrMwdYWJ&keytype=ref\n if you use this tool in your published work.\n \n-\n-*Short Story*\n+**Short Story**\n \n This is an unusual Galaxy tool capable of generating new Galaxy tools.\n It works by exposing *unrestricted* and therefore extremely dangerous scripting\n@@ -51,60 +19,28 @@\n run scripts in R, python, sh and perl over multiple selected input data sets,\n writing a single new data set as output.\n \n-*Differences between TF2 and the original Tool Factory*\n+*You have a working r/python/perl/bash script or any executable with positional or argparse style parameters*\n \n-1. TF2 (this one) allows any number of either fixed or user-editable parameters to be defined\n-for the new tool. If these are editable, the user can change them but otherwise, they are passed\n-as fixed and invisible parameters for each execution. Obviously, there are substantial security\n-implications with editable parameters, but these are always sanitized by Galaxy\'s inbuilt \n-parameter sanitization so you may need to "unsanitize" characters - eg translate all "__lt__" \n-into "<" for certain parameters where that is needed. Please practise safe toolshed.\n+It can be turned into an ordinary Galaxy tool in minutes, using a Galaxy tool.\n \n-2. Any number of (the same datatype) of input files may be defined.\n-\n-These changes substantially complicate the way your supplied script is supplied with\n-all the new and variable parameters. Examples in each scripting language are shown\n-in the tool help\n-\n-*Automated outputs in named sections*\n \n-If your script writes to the current directory path, arbitrary mix of (eg)\n-pdfs, tabular analysis results and run logs,the tool factory can optionally\n-auto-generate a linked H'..b' to your script\n- # echo parameters to the output file\n- ourargs = commandArgs(TRUE)\n- if(length(ourargs)==0){\n- print("No arguments supplied.")\n- }else{\n- for(i in 1:length(ourargs)){\n- eval(parse(text=ourargs[[i]]))\n- }\n- sink(OUTPATH)\n- cat(\'INPATHS=\',INPATHS,\'\\n\')\n- cat(\'INNAMES=\',INNAMES,\'\\n\')\n- cat(\'OUTPATH=\',OUTPATH,\'\\n\')\n- x=ls()\n- cat(\'all objects=\',x,\'\\n\')\n- sink()\n- }\n- sessionInfo()\n- print.noquote(date())\n-\n-\n-***bash/sh***::\n-\n- # tool factory sets up these environmental variables\n- # this example writes those to the output file\n- # additional params appear on command line\n- if [ ! -f "$OUTPATH" ] ; then\n- touch "$OUTPATH"\n- fi\n- echo "INPATHS=$INPATHS" >> "$OUTPATH"\n- echo "INNAMES=$INNAMES" >> "$OUTPATH"\n- echo "OUTPATH=$OUTPATH" >> "$OUTPATH"\n- echo "CL=$@" >> "$OUTPATH"\n-\n-***perl***::\n-\n- (my $INPATHS,my $INNAMES,my $OUTPATH ) = @ARGV;\n- open(my $fh, \'>\', $OUTPATH) or die "Could not open file \'$OUTPATH\' $!";\n- print $fh "INPATHS=$INPATHS\\n INNAMES=$INNAMES\\n OUTPATH=$OUTPATH\\n";\n- close $fh;\n- \n-```\n-\n-Galaxy as an IDE for developing API scripts\n-If you need to develop Galaxy API scripts and you like to live dangerously,\n-please read on.\n-\n-Galaxy as an IDE?\n-Amazingly enough, blend-lib API scripts run perfectly well *inside*\n-Galaxy when pasted into a Tool Factory form. No need to generate a new\n-tool. Galaxy+Tool_Factory = IDE I think we need a new t-shirt. Seriously,\n-it is actually quite useable.\n-\n-Why bother - what\'s wrong with Eclipse\n-Nothing. But, compared with developing API scripts in the usual way outside\n-Galaxy, you get persistence and other framework benefits plus at absolutely\n-no extra charge, a ginormous security problem if you share the history or\n-any outputs because they contain the api script with key so development\n-servers only please!\n-\n-Workflow\n-Fire up the Tool Factory in Galaxy.\n-\n-Leave the input box empty, set the interpreter to python, paste and run an\n-api script - eg working example (substitute the url and key) below.\n-\n-It took me a few iterations to develop the example below because I know\n-almost nothing about the API. I started with very simple code from one of the\n-samples and after each run, the (edited..) api script is conveniently recreated\n-using the redo button on the history output item. So each successive version\n-of the developing api script you run is persisted - ready to be edited and\n-rerun easily. It is \'\'very\'\' handy to be able to add a line of code to the\n-script and run it, then view the output to (eg) inspect dicts returned by\n-API calls to help move progressively deeper iteratively.\n-\n-Give the below a whirl on a private clone (install the tool factory from\n-the main toolshed) and try adding complexity with few rerun/edit/rerun cycles.\n-\n-Eg tool factory api script\n-```\n-import sys\n-from blend.galaxy import GalaxyInstance\n-ourGal = \'http://x.x.x.x:xxxx\'\n-ourKey = \'xxx\'\n-gi = GalaxyInstance(ourGal, key=ourKey)\n-libs = gi.libraries.get_libraries()\n-res = []\n-# libs looks like\n-# u\'url\': u\'/galaxy/api/libraries/441d8112651dc2f3\', u\'id\':\n-u\'441d8112651dc2f3\', u\'name\':.... u\'Demonstration sample RNA data\',\n-for lib in libs:\n- res.append(\'%s:\\n\' % lib[\'name\'])\n- res.append(str(gi.libraries.show_library(lib[\'id\'],contents=True)))\n-outf=open(sys.argv[2],\'w\')\n-outf.write(\'\\n\'.join(res))\n-outf.close()\n-```\n-\n-**Attribution**\n Creating re-usable tools from scripts: The Galaxy Tool Factory\n Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team\n Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573\n@@ -402,6 +152,7 @@\n http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573?ijkey=lczQh1sWrMwdYWJ&keytype=ref\n \n **Licensing**\n+\n Copyright Ross Lazarus 2010\n ross lazarus at g mail period com\n \n@@ -409,10 +160,7 @@\n \n Licensed under the LGPL\n \n-**screenshot**\n-\n-![example run](/images/dynamicScriptTool.png)\n+**Obligatory screenshot**\n \n+http://bitbucket.org/fubar/galaxytoolmaker/src/fda8032fe989/images/dynamicScriptTool.png\n \n-```\n-\n' |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/rgToolFactory2.py --- a/toolfactory/rgToolFactory2.py Fri Aug 07 07:55:35 2020 -0400 +++ b/toolfactory/rgToolFactory2.py Fri Aug 07 23:14:54 2020 -0400 |
[ |
@@ -33,6 +33,7 @@ import logging + progname = os.path.split(sys.argv[0])[1] myversion = 'V2.1 July 2020' verbose = True @@ -300,7 +301,6 @@ tool = gxt.Tool(self.args.tool_name, self.tool_id, self.args.tool_version, self.args.tool_desc, exe) tool.command_line_override = self.xmlcl - print('#### tool cl override=',self.xmlcl) if interp: tool.interpreter = interp if self.args.help_text: |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/rgToolFactory2.xml --- a/toolfactory/rgToolFactory2.xml Fri Aug 07 07:55:35 2020 -0400 +++ b/toolfactory/rgToolFactory2.xml Fri Aug 07 23:14:54 2020 -0400 |
[ |
@@ -341,7 +341,7 @@ <param name="history_name" value="output2_sample" /> <param name="history_format" value="txt" /> <param name="history_CL" value="2" /> - <param name="runme" value="pyrevpos.python"/> + <param name="dynScript" value="import sys; inp = sys.argv[1]; outp = sys.argv[2]; inlist = open(inp,'r').readlines(); o = open(outp,'w'); rs = [''.join(list(reversed(x.rstrip()))) for x in inlist]; o.write('\n'.join(rs)); o.close()"/> <output_collection name="ToolFactory_Outputs" type="list"> <element name="output2_sample_sample" file="output2_sample" ftype="txt" compare="diff" lines_diff = "10" /> </output_collection> |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/infile.tabular --- a/toolfactory/test-data/infile.tabular Fri Aug 07 07:55:35 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,7 +0,0 @@ -0.1 -0.00001 -0.2 -0.3 -0.004 -0.5 -0.000000002 |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/input1_sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolfactory/test-data/input1_sample Fri Aug 07 23:14:54 2020 -0400 |
b |
@@ -0,0 +1,166 @@ +*WARNING before you start* + + Install this tool on a private Galaxy ONLY + Please NEVER on a public or production instance + +Updated august 2014 by John Chilton adding citation support + +Updated august 8 2014 to fix bugs reported by Marius van den Beek + +Please cite the resource at +http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573?ijkey=lczQh1sWrMwdYWJ&keytype=ref +if you use this tool in your published work. + +**Short Story** + +This is an unusual Galaxy tool capable of generating new Galaxy tools. +It works by exposing *unrestricted* and therefore extremely dangerous scripting +to all designated administrators of the host Galaxy server, allowing them to +run scripts in R, python, sh and perl over multiple selected input data sets, +writing a single new data set as output. + +*You have a working r/python/perl/bash script or any executable with positional or argparse style parameters* + +It can be turned into an ordinary Galaxy tool in minutes, using a Galaxy tool. + + +**Automated generation of new Galaxy tools for installation into any Galaxy** + +A test is generated using small sample test data inputs and parameter settings you supply. +Once the test case outputs have been produced, they can be used to build a +new Galaxy tool. The supplied script or executable is baked as a requirement +into a new, ordinary Galaxy tool, fully workflow compatible out of the box. +Generated tools are installed via a tool shed by an administrator +and work exactly like all other Galaxy tools for your users. + +**More Detail** + +To use the ToolFactory, you should have prepared a script to paste into a +text box, or have a package in mind and a small test input example ready to select from your history +to test your new script. + +```planemo test rgToolFactory2.xml --galaxy_root ~/galaxy --test_data ~/galaxy/tools/tool_makers/toolfactory/test-data``` works for me + +There is an example in each scripting language on the Tool Factory form. You +can just cut and paste these to try it out - remember to select the right +interpreter please. You'll also need to create a small test data set using +the Galaxy history add new data tool. + +If the script fails somehow, use the "redo" button on the tool output in +your history to recreate the form complete with broken script. Fix the bug +and execute again. Rinse, wash, repeat. + +Once the script runs sucessfully, a new Galaxy tool that runs your script +can be generated. Select the "generate" option and supply some help text and +names. The new tool will be generated in the form of a new Galaxy datatype +*toolshed.gz* - as the name suggests, it's an archive ready to upload to a +Galaxy ToolShed as a new tool repository. + +Once it's in a ToolShed, it can be installed into any local Galaxy server +from the server administrative interface. + +Once the new tool is installed, local users can run it - each time, the script +that was supplied when it was built will be executed with the input chosen +from the user's history. In other words, the tools you generate with the +ToolFactory run just like any other Galaxy tool,but run your script every time. + +Tool factory tools are perfect for workflow components. One input, one output, +no variables. + +*To fully and safely exploit the awesome power* of this tool, +Galaxy and the ToolShed, you should be a developer installing this +tool on a private/personal/scratch local instance where you are an +admin_user. Then, if you break it, you get to keep all the pieces see +https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home + +**Installation** +This is a Galaxy tool. You can install it most conveniently using the +administrative "Search and browse tool sheds" link. Find the Galaxy Main +toolshed at https://toolshed.g2.bx.psu.edu/ and search for the toolfactory +repository. Open it and review the code and select the option to install it. + +If you can't get the tool that way, the xml and py files here need to be +copied into a new tools +subdirectory such as tools/toolfactory Your tool_conf.xml needs a new entry +pointing to the xml +file - something like:: + + <section name="Tool building tools" id="toolbuilders"> + <tool file="toolfactory/rgToolFactory.xml"/> + </section> + +If not already there, +please add: +<datatype extension="toolshed.gz" type="galaxy.datatypes.binary:Binary" +mimetype="multipart/x-gzip" subclass="True" /> +to your local data_types_conf.xml. + + +**Restricted execution** + +The tool factory tool itself will then be usable ONLY by admin users - +people with IDs in admin_users in universe_wsgi.ini **Yes, that's right. ONLY +admin_users can run this tool** Think about it for a moment. If allowed to +run any arbitrary script on your Galaxy server, the only thing that would +impede a miscreant bent on destroying all your Galaxy data would probably +be lack of appropriate technical skills. + +**What it does** + +This is a tool factory for simple scripts in python, R and +perl currently. Functional tests are automatically generated. How cool is that. + +LIMITED to simple scripts that read one input from the history. Optionally can +write one new history dataset, and optionally collect any number of outputs +into links on an autogenerated HTML index page for the user to navigate - +useful if the script writes images and output files - pdf outputs are shown +as thumbnails and R's bloated pdf's are shrunk with ghostscript so that and +imagemagik need to be available. + +Generated tools can be edited and enhanced like any Galaxy tool, so start +small and build up since a generated script gets you a serious leg up to a +more complex one. + +**What you do** + +You paste and run your script, you fix the syntax errors and +eventually it runs. You can use the redo button and edit the script before +trying to rerun it as you debug - it works pretty well. + +Once the script works on some test data, you can generate a toolshed compatible +gzip file containing your script ready to run as an ordinary Galaxy tool in +a repository on your local toolshed. That means safe and largely automated +installation in any production Galaxy configured to use your toolshed. + +**Generated tool Security** + +Once you install a generated tool, it's just +another tool - assuming the script is safe. They just run normally and their +user cannot do anything unusually insecure but please, practice safe toolshed. +Read the code before you install any tool. Especially this one - it is really scary. + +**Send Code** + +Patches and suggestions welcome as bitbucket issues please? + +**Attribution** + +Creating re-usable tools from scripts: The Galaxy Tool Factory +Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team +Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573 + +http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573?ijkey=lczQh1sWrMwdYWJ&keytype=ref + +**Licensing** + +Copyright Ross Lazarus 2010 +ross lazarus at g mail period com + +All rights reserved. + +Licensed under the LGPL + +**Obligatory screenshot** + +http://bitbucket.org/fubar/galaxytoolmaker/src/fda8032fe989/images/dynamicScriptTool.png + |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/output2_sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolfactory/test-data/output2_sample Fri Aug 07 23:14:54 2020 -0400 |
b |
@@ -0,0 +1,165 @@ +*trats uoy erofeb GNINRAW* + +YLNO yxalaG etavirp a no loot siht llatsnI +ecnatsni noitcudorp ro cilbup a no REVEN esaelP + +troppus noitatic gnidda notlihC nhoJ yb 4102 tsugua detadpU + +keeB ned nav suiraM yb detroper sgub xif ot 4102 8 tsugua detadpU + +ta ecruoser eht etic esaelP +fer=epytyek&JWYdwMrWs1hQzcl=yekji?375stb/tnirper/igc/gro.slanruojdrofxo.scitamrofnioib//:ptth +.krow dehsilbup ruoy ni loot siht esu uoy fi + +**yrotS trohS** + +.sloot yxalaG wen gnitareneg fo elbapac loot yxalaG lausunu na si sihT +gnitpircs suoregnad ylemertxe erofereht dna *detcirtsernu* gnisopxe yb skrow tI +ot meht gniwolla ,revres yxalaG tsoh eht fo srotartsinimda detangised lla ot +,stes atad tupni detceles elpitlum revo lrep dna hs ,nohtyp ,R ni stpircs nur +.tuptuo sa tes atad wen elgnis a gnitirw + +*sretemarap elyts esrapgra ro lanoitisop htiw elbatucexe yna ro tpircs hsab/lrep/nohtyp/r gnikrow a evah uoY* + +.loot yxalaG a gnisu ,setunim ni loot yxalaG yranidro na otni denrut eb nac tI + + +**yxalaG yna otni noitallatsni rof sloot yxalaG wen fo noitareneg detamotuA** + +.ylppus uoy sgnittes retemarap dna stupni atad tset elpmas llams gnisu detareneg si tset A +a dliub ot desu eb nac yeht ,decudorp neeb evah stuptuo esac tset eht ecnO +tnemeriuqer a sa dekab si elbatucexe ro tpircs deilppus ehT .loot yxalaG wen +.xob eht fo tuo elbitapmoc wolfkrow ylluf ,loot yxalaG yranidro ,wen a otni +rotartsinimda na yb dehs loot a aiv dellatsni era sloot detareneG +.sresu ruoy rof sloot yxalaG rehto lla ekil yltcaxe krow dna + +**liateD eroM** + +a otni etsap ot tpircs a deraperp evah dluohs uoy ,yrotcaFlooT eht esu oT +yrotsih ruoy morf tceles ot ydaer elpmaxe tupni tset llams a dna dnim ni egakcap a evah ro ,xob txet +.tpircs wen ruoy tset ot + +em rof skrow ```atad-tset/yrotcafloot/srekam_loot/sloot/yxalag/~ atad_tset-- yxalag/~ toor_yxalag-- lmx.2yrotcaFlooTgr tset omenalp``` + +uoY .mrof yrotcaF looT eht no egaugnal gnitpircs hcae ni elpmaxe na si erehT +thgir eht tceles ot rebmemer - tuo ti yrt ot eseht etsap dna tuc tsuj nac +gnisu tes atad tset llams a etaerc ot deen osla ll'uoY .esaelp reterpretni +.loot atad wen dda yrotsih yxalaG eht + +ni tuptuo loot eht no nottub "oder" eht esu ,wohemos sliaf tpircs eht fI +gub eht xiF .tpircs nekorb htiw etelpmoc mrof eht etaercer ot yrotsih ruoy +.taeper ,hsaw ,esniR .niaga etucexe dna + +tpircs ruoy snur taht loot yxalaG wen a ,yllufssecus snur tpircs eht ecnO +dna txet pleh emos ylppus dna noitpo "etareneg" eht tceleS .detareneg eb nac +epytatad yxalaG wen a fo mrof eht ni detareneg eb lliw loot wen ehT .seman +a ot daolpu ot ydaer evihcra na s'ti ,stseggus eman eht sa - *zg.dehsloot* +.yrotisoper loot wen a sa dehSlooT yxalaG + +revres yxalaG lacol yna otni dellatsni eb nac ti ,dehSlooT a ni s'ti ecnO +.ecafretni evitartsinimda revres eht morf + +tpircs eht ,emit hcae - ti nur nac sresu lacol ,dellatsni si loot wen eht ecnO +nesohc tupni eht htiw detucexe eb lliw tliub saw ti nehw deilppus saw taht +eht htiw etareneg uoy sloot eht ,sdrow rehto nI .yrotsih s'resu eht morf +.emit yreve tpircs ruoy nur tub,loot yxalaG rehto yna ekil tsuj nur yrotcaFlooT + +,tuptuo eno ,tupni enO .stnenopmoc wolfkrow rof tcefrep era sloot yrotcaf looT +.selbairav on + +,loot siht fo *rewop emosewa eht tiolpxe ylefas dna ylluf oT* +siht gnillatsni repoleved a eb dluohs uoy ,dehSlooT eht dna yxalaG +na era uoy erehw ecnatsni lacol hctarcs/lanosrep/etavirp a no loot +ees seceip eht lla peek ot teg uoy ,ti kaerb uoy fi ,nehT .resu_nimda +emoH/ikiw/yrotcaflootyxalag/rabuf/gro.tekcubtib//:sptth + +**noitallatsnI** +eht gnisu yltneinevnoc tsom ti llatsni nac uoY .loot yxalaG a si sihT +niaM yxalaG eht dniF .knil "sdehs loot esworb dna hcraeS" evitartsinimda +yrotcafloot eht rof hcraes dna /ude.usp.xb.2g.dehsloot//:sptth ta dehsloot +.ti llatsni ot noitpo eht tceles dna edoc eht weiver dna ti nepO .yrotisoper + +eb ot deen ereh selif yp dna lmx eht ,yaw taht loot eht teg t'nac uoy fI +sloot wen a otni deipoc +yrtne wen a sdeen lmx.fnoc_loot ruoY yrotcafloot/sloot sa hcus yrotceridbus +lmx eht ot gnitniop +::ekil gnihtemos - elif + +>"sredliubloot"=di "sloot gnidliub looT"=eman noitces< +>/"lmx.yrotcaFlooTgr/yrotcafloot"=elif loot< +>noitces/< + +,ereht ydaerla ton fI +:dda esaelp +"yraniB:yranib.sepytatad.yxalag"=epyt "zg.dehsloot"=noisnetxe epytatad< +>/ "eurT"=ssalcbus "pizg-x/trapitlum"=epytemim +.lmx.fnoc_sepyt_atad lacol ruoy ot + + +**noitucexe detcirtseR** + +- sresu nimda yb YLNO elbasu eb neht lliw flesti loot yrotcaf loot ehT +YLNO .thgir s'taht ,seY** ini.igsw_esrevinu ni sresu_nimda ni sDI htiw elpoep +ot dewolla fI .tnemom a rof ti tuoba knihT **loot siht nur nac sresu_nimda +dluow taht gniht ylno eht ,revres yxalaG ruoy no tpircs yrartibra yna nur +ylbaborp dluow atad yxalaG ruoy lla gniyortsed no tneb tnaercsim a edepmi +.slliks lacinhcet etairporppa fo kcal eb + +**seod ti tahW** + +dna R ,nohtyp ni stpircs elpmis rof yrotcaf loot a si sihT +.taht si looc woH .detareneg yllacitamotua era stset lanoitcnuF .yltnerruc lrep + +nac yllanoitpO .yrotsih eht morf tupni eno daer taht stpircs elpmis ot DETIMIL +stuptuo fo rebmun yna tcelloc yllanoitpo dna ,tesatad yrotsih wen eno etirw +- etagivan ot resu eht rof egap xedni LMTH detarenegotua na no sknil otni +nwohs era stuptuo fdp - selif tuptuo dna segami setirw tpircs eht fi lufesu +dna taht os tpircstsohg htiw knurhs era s'fdp detaolb s'R dna slianbmuht sa +.elbaliava eb ot deen kigamegami + +trats os ,loot yxalaG yna ekil decnahne dna detide eb nac sloot detareneG +a ot pu gel suoires a uoy steg tpircs detareneg a ecnis pu dliub dna llams +.eno xelpmoc erom + +**od uoy tahW** + +dna srorre xatnys eht xif uoy ,tpircs ruoy nur dna etsap uoY +erofeb tpircs eht tide dna nottub oder eht esu nac uoY .snur ti yllautneve +.llew ytterp skrow ti - gubed uoy sa ti nurer ot gniyrt + +elbitapmoc dehsloot a etareneg nac uoy ,atad tset emos no skrow tpircs eht ecnO +ni loot yxalaG yranidro na sa nur ot ydaer tpircs ruoy gniniatnoc elif pizg +detamotua ylegral dna efas snaem tahT .dehsloot lacol ruoy no yrotisoper a +.dehsloot ruoy esu ot derugifnoc yxalaG noitcudorp yna ni noitallatsni + +**ytiruceS loot detareneG** + +tsuj s'ti ,loot detareneg a llatsni uoy ecnO +rieht dna yllamron nur tsuj yehT .efas si tpircs eht gnimussa - loot rehtona +.dehsloot efas ecitcarp ,esaelp tub erucesni yllausunu gnihtyna od tonnac resu +.yracs yllaer si ti - eno siht yllaicepsE .loot yna llatsni uoy erofeb edoc eht daeR + +**edoC dneS** + +?esaelp seussi tekcubtib sa emoclew snoitseggus dna sehctaP + +**noitubirttA** + +yrotcaF looT yxalaG ehT :stpircs morf sloot elbasu-er gnitaerC +maeT yxalaG ehT ;nnameiZ kraM ;ipsaK ynotnA ;surazaL ssoR +375stb/scitamrofnioib/3901.01 :iod ;2102 scitamrofnioiB + +fer=epytyek&JWYdwMrWs1hQzcl=yekji?375stb/tnirper/igc/gro.slanruojdrofxo.scitamrofnioib//:ptth + +**gnisneciL** + +0102 surazaL ssoR thgirypoC +moc doirep liam g ta surazal ssor + +.devreser sthgir llA + +LPGL eht rednu desneciL + +**tohsneercs yrotagilbO** + +gnp.looTtpircScimanyd/segami/989ef2308adf/crs/rekamlootyxalag/rabuf/gro.tekcubtib//:ptth |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/pyrevpos.python --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolfactory/test-data/pyrevpos.python Fri Aug 07 23:14:54 2020 -0400 |
[ |
@@ -0,0 +1,13 @@ +# reverse order of text by row +import sys +inp = sys.argv[1] +outp = sys.argv[2] +i = open(inp,'r').readlines() +o = open(outp,'w') +for row in i: + rs = row.rstrip() + rs = list(rs) + rs.reverse() + o.write(''.join(rs)) +o.close() + |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/reverseargp2.toolshed.gz |
b |
Binary file toolfactory/test-data/reverseargp2.toolshed.gz has changed |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/runme.py --- a/toolfactory/test-data/runme.py Fri Aug 07 07:55:35 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,19 +0,0 @@ -# reverse order of columns in a tabular file -import argparse -parser = argparse.ArgumentParser() -a = parser.add_argument -a('--infile',default='') -a('--outfile',default=None) -a('--prefix',default=None) -args = parser.parse_args() -inp = args.infile -outp = args.outfile -i = open(inp,'r').readlines() -o = open(outp,'w') -for row in i: - rs = row.rstrip() - rs = list(rs) - rs.reverse() - o.write('%s:%s' % (args.prefix,''.join(rs))) - o.write('\n') -o.close() |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/test1_log.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolfactory/test-data/test1_log.txt Fri Aug 07 23:14:54 2020 -0400 |
b |
@@ -0,0 +1,1 @@ +## Executing Toolfactory generated command line = python /tmp/pyrevposq5dmcdy1.python /tmp/tmpqrksf8sd/files/5/b/9/dataset_5b952a86-87df-44ad-a415-ea549f3f0cee.dat output2 |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/test1_out.log --- a/toolfactory/test-data/test1_out.log Fri Aug 07 07:55:35 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,1 +0,0 @@ -## Executing Toolfactory generated command line = python3 /home/ross/galaxy/database/tmp/reverseargp2tzq9wpni.python --infile /home/ross/galaxy/database/objects/3/5/2/dataset_352183fc-9148-44e6-a703-0c1b06d0a365.dat --outfile /home/ross/galaxy/database/objects/6/1/3/dataset_613ab089-f4d1-493c-baf5-0a0bbaebaff8.dat --prefix "hello world" |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/toolfactory.log --- a/toolfactory/test-data/toolfactory.log Fri Aug 07 07:55:35 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,39 +0,0 @@ -### cl=python3 /tmp/reverseargp2_test1veulkauo.python -- /tmp/tmpzal0_664/files/c/8/4/dataset_c84573ea-e358-4a99-bac6-3dfe1b030c65.dat -- /tmp/tmpzal0_664/files/e/b/2/dataset_eb270919-0c8c-4b52-9e58-d351de848508.dat -xml=<tool name="reverseargp2_test1" id="reverseargp2_test1" version="0.01"> - <!--Cite: Creating re-usable tools from scripts doi: 10.1093/bioinformatics/bts573--> - <!--Source in git at: https://github.com/fubar2/toolfactory--> - <!--Created by test@bx.psu.edu at 30/07/2020 19:44:43 using the Galaxy Tool Factory.--> - <description>testing_tf2</description> - <requirements> - <requirement version="" type="package">python</requirement> - </requirements> - <configfiles> - <configfile name="runMe"><![CDATA[ - -]]></configfile> - </configfiles> - <stdio> - <exit_code range="1:" level="fatal"/> - </stdio> - <version_command/> - <command interpreter="python"><![CDATA[$runMe - $ -- $]]></command> - <inputs> - <param optional="false" label="parameter_label" help="parameter_help" format="tabular" multiple="false" type="data" name="" argument="-"/> - </inputs> - <outputs> - <data name="" format="tabular" hidden="false"/> - </outputs> - <tests> - <test> - <param name="" value=".tabular" ftype="tabular"/> - <param name="job_name" value="test_a"/> - <param name="runMe" value="$runMe"/> - <output name="" value="reverseargp2_test1_test1_output.xls"/> - </test> - </tests> - <help><![CDATA[ - help text goes here - ]]></help> -</tool> - |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/test-data/toolfactory_pyrevpos_tgz_sample |
b |
Binary file toolfactory/test-data/toolfactory_pyrevpos_tgz_sample has changed |
b |
diff -r 69eed330c91f -r 4d578c8c1613 toolfactory/testtf.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolfactory/testtf.sh Fri Aug 07 23:14:54 2020 -0400 |
b |
@@ -0,0 +1,2 @@ +planemo test --no_cleanup --no_dependency_resolution --skip_venv --galaxy_root ~/galaxy ~/galaxy/tools/tool_makers/toolfactory &>foo + |