On Thu, Sep 15, 2011 at 6:11 PM, Paul-Michael Agapow <paul-michael.aga...@hpa.org.uk> wrote: > So one of my colleagues has a script he wants to turn into a Galaxy tool. > The twist is that script: > > > > 1. Looks for files with a fixed name (e.g. “params.txt”) > > 2. Accepts other file names as commandline arguments, but the actual > names of those files has arguments embedded in it (e.g. > “nuc_100iter_b.fasta” for nucleotide data in fasta format to be run against > model b for 100 iterations.) > > > > I know, awkward and clumsy. But hardly unique for many historical > bioinformatic tools. Anyway, the challenge for me is to pick the easiest > path to port this script to a tool. And it seems to be fairly awkward under > the Galaxy model as I understand it. Possibilities: > > > > 1. Rewrite the script argument parsing and invocation. Obviously, > there will be resistance to this and with some justification (“I thought you > said this could wrap any command line program …”)
If this is your own tool, this is the cleanest solution and helps beyond just using it within Galaxy. > 2. Write a script that calls the original script after moving and > renaming files according to desired arguments. Any problems with a > two-script/executable tool like this? That's what I'd go for - a wrapper script which takes command line arguments like a sane command line tool, and uses them to prepare the input files for the weird script. Your tool should automatically be called from a temp working directory so you can probably just make the specially named files right there, and try using links to alias the input files rather than copying them (faster as less IO). > How do I specify the interpreter for both parts of the script? If your script is marked as executable with a suitable hash bang, it doesn't even need the Galaxy interpreter in the XML file. For the internal script it doesn't matter at all - Galaxy doesn't need to know. Peter ___________________________________________________________ The Galaxy User list should be used for the discussion of Galaxy analysis and other features on the public server at usegalaxy.org. Please keep all replies on the list by using "reply all" in your mail client. For discussion of local Galaxy instances and the Galaxy source code, please use the Galaxy Development list: http://lists.bx.psu.edu/listinfo/galaxy-dev To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/