On Fri, Jun 8, 2012 at 9:15 AM, Nicholas Robinson <nicholas.robinson@nofima.no> wrote:
Hi,
1. INPUT I am trying to make a simple tool that sends a command to run crimap without a wrapper ie. ............. <command> crimap $param_file $option >$output1 </command> ..............
However, crimap expects a .par file as input (ie. $param_file should be a .par file). Because of this I get the error: ERROR: Parameter file '/home/galaxy/galaxy-dist/database/job_working_directory/001/1434/tmpe5hErw' does not have '.par' suffix
...
Is there a simple way around this (using more lines in the command)?
You could try something like this (untested): <command> ln -s $param_file $param_file.par; crimap $param_file $option >$output1 </command> The idea here is to tell Galaxy to issue two commands, the first a shell call to create a symlink with the desired extension pointing at the input filename from Galaxy. i.e. If $param_file was /path/to/file/dataset_123.dat you'd make a symlink /path/to/file/dataset_123.dat.par - but check if you need to remove the symlink afterwards. Anything more that that and I would use a wrapper script in whatever you are most comfortable with (e.g. shell, Perl, or Python). e.g. <command> my_script $param_file $option $output1 </command> where the my_script file is marked executable with a hashbang (or set the interpreter in the command tag), and the script could be just: #/bin/bash ln -s $param_file $param_file.par crimap $param_file $option > $output1 rm $param_file.par Peter