Specifying a PATH for local binaries?
Hi all, I'm trying install some local tools, but only locally to the galaxy user (e.g. ~/local_tools/bin). In order to avoid specifying the full path in each and every tool's XML file how can I specify a PATH for galaxy to find the binaries? It seems that Galaxy ignores the default $PATH although SGE can. Cheers, Chris
Digging more deeply I see some inconsistency in how some of the tools are executed. Given this definition in the tool's xml: <command>fastx_trimmer -v -f $first -l $last -o $output</command> The following command is generated in the Galaxy script: fastx_trimmer -v -f 5 -l 21 -o /homes/www-galaxy/galaxy_live/database/files/000/dataset_187.dat However, given this definition: <command interpreter="perl">collate.pl --in $input --out $out1 --rm-ambi $ambi --length $min --prefix $prefix</command> This command is generated: perl /homes/www-galaxy/galaxy_live/tools/solexa/collate.pl --in /homes/www-galaxy/galaxy_live/database/files/000/dataset_97.dat etc... Why does the perl type have a path prefixed to the command whereas the other one doesn't? Plus, where is that path defined as it's not one I've set? Finally, and more generally, which paths does Galaxy search for finding tools, if not explicitly set? I've had a look on the wiki, but I can't find this information. Any help would be appreciated. Thanks, Chris Chris Cole wrote:
Hi all,
I'm trying install some local tools, but only locally to the galaxy user (e.g. ~/local_tools/bin). In order to avoid specifying the full path in each and every tool's XML file how can I specify a PATH for galaxy to find the binaries? It seems that Galaxy ignores the default $PATH although SGE can. Cheers,
Chris _______________________________________________ galaxy-dev mailing list galaxy-dev@bx.psu.edu http://mail.bx.psu.edu/cgi-bin/mailman/listinfo/galaxy-dev
Chris Cole wrote:
Digging more deeply I see some inconsistency in how some of the tools are executed.
Given this definition in the tool's xml: <command>fastx_trimmer -v -f $first -l $last -o $output</command>
The following command is generated in the Galaxy script: fastx_trimmer -v -f 5 -l 21 -o /homes/www-galaxy/galaxy_live/database/files/000/dataset_187.dat
However, given this definition: <command interpreter="perl">collate.pl --in $input --out $out1 --rm-ambi $ambi --length $min --prefix $prefix</command>
This command is generated: perl /homes/www-galaxy/galaxy_live/tools/solexa/collate.pl --in /homes/www-galaxy/galaxy_live/database/files/000/dataset_97.dat etc...
Why does the perl type have a path prefixed to the command whereas the other one doesn't? Plus, where is that path defined as it's not one I've set?
Finally, and more generally, which paths does Galaxy search for finding tools, if not explicitly set?
I've had a look on the wiki, but I can't find this information. Any help would be appreciated.
Hi Chris, As you've discovered, tools are expected to be located in the same directory as their xml file if an interpreter is set. If an interpreter isn't set, $PATH is used instead (but the interpreter itself is assumed to be on the $PATH). This allows tools to be installed independently of Galaxy, but for the wrapper scripts within Galaxy to still be locatable. --nate
Nate Coraor wrote:
Chris Cole wrote:
Finally, and more generally, which paths does Galaxy search for finding tools, if not explicitly set?
I've had a look on the wiki, but I can't find this information. Any help would be appreciated.
Hi Chris,
As you've discovered, tools are expected to be located in the same directory as their xml file if an interpreter is set. If an interpreter isn't set, $PATH is used instead (but the interpreter itself is assumed to be on the $PATH). This allows tools to be installed independently of Galaxy, but for the wrapper scripts within Galaxy to still be locatable.
Hi Nate, Thanks for the clarification. However, for my non-interpretor tools Galaxy seems to be ignoring my $PATH (set in ~/.bash_profile). My jobs run on the cluster via SGE so is this likely to be a Galaxy issue or SGE? Chris
Thanks for the clarification.
However, for my non-interpretor tools Galaxy seems to be ignoring my $PATH (set in ~/.bash_profile). My jobs run on the cluster via SGE so is this likely to be a Galaxy issue or SGE?
Chances are it's SGE. You may want to double check what $PATH is in SGE by running a few test jobs.
Nate Coraor wrote:
Thanks for the clarification.
However, for my non-interpretor tools Galaxy seems to be ignoring my $PATH (set in ~/.bash_profile). My jobs run on the cluster via SGE so is this likely to be a Galaxy issue or SGE?
Chances are it's SGE. You may want to double check what $PATH is in SGE by running a few test jobs.
Just realised I only replied to Nate. Reposted below: It was. In looking for a solution the very handy $HOME/.sge_request file came to the rescue. I can now have specific SGE settings for just the galaxy user on our cluster (including the $PATH). Cheers, CHris
participants (2)
-
Chris Cole
-
Nate Coraor