Hi list,
I am writing a wrapper for a Grinder, a Perl program installed globally
on my Galaxy server.
Galaxy runs as user 'galaxy':
$ ps aux | grep paster
galaxy 26807 0.0 0.8 2636308 136364 ?? S 2:52PM 0:19.15
python ./scripts/paster.py serve universe_wsgi.ini
When logged in as user galaxy, I can run Grinder:
$ Grinder --help
Usage:
Grinder [options]
Grinder --help
Grinder --version
...
Grinder's location is:
$ which Grinder
/opt/local/bin/Grinder
In grinder.xml:
If I put: <command interpreter="perl">
In the Galaxy webinterface, I get the error: Can't open perl script
"/Users/galaxy/galaxy_dist/tools/ngs_simulation/Grinder": No such file
or directory
Obviously, here, Galaxy assumes wrongly that tool is installed under the
Galaxy ~/tools/ngs_simulation/ folder.
So I tried to omit the interpreter: <command>
And I got the error: /bin/sh: Grinder: command not found
This is surprising, since Grinder is found if I run it on the
command-line as user galaxy
I noticed that I have the same issue with the Velvet wrapper (also
located in /opt/local/bin) and thought that this could be an environment
issue. And indeed the environment within a wrapper is:
PERL=/usr/bin/perl
PATH=/usr/bin:/bin:/usr/sbin:/sbin
While on the command line, the environment is:
PERL=/opt/local/bin/perl
PATH=/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/sw/bin
This difference in environment explains why Galaxy cannot find Grinder
or Velvet.
Does this make any sense? Does Galaxy modify the environment? Why would
the environment be different?
Thanks for your help,
Florent
_______________________________________________
The Galaxy User list should be used for the discussion of Galaxy analysis and
other features on the public server at usegalaxy.org. 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/