Hey Dave,

thanks for the reply! Guess I wrote too much and explained badly what I meant. I had already tested the Managed Tool Dependencies, but my problem was that those only work for <requirement type="package">xyz</requirement>

They do not handle <requirement type="binary"... or <requirement type="python-module", which is what I am looking for (beacuse of our special setting). Anyhow, I searched a bit and found in galaxy_dir/lib/galaxy/tools/__init__.py. at line 2671:


    if requirement.type in [ 'package', 'set_environment' ]:
script_file, base_path, version = self.app.toolbox.dependency_manager.find_dep...


So I changed that line to:

if requirement.type in [ 'package', 'set_environment', 'binary', 'python-module' ]


This works, for me. If I have e.g.: <requirement type="python-module">rpy</requirement> I can now use dep_dir/rpy/default/env.sh to also load R into the environment.

Now, I wonder if that change will have any bad consequences? I could not find anything about the requirement type 'binary' and 'python-module', what are they normally needed for? Could this be relevant when using tool-shed?

Phil


Quoting Dave Bouvier <d...@bx.psu.edu>:

Phil,

Galaxy uses a number of ways to resolve tool dependencies, some of which may be useful in your situation:

1. If a tool dependency entry exists in the database that matches the name, type, and version, it attempts to load tool_dependency_dir/package_name/version/repository_owner/repository_name/changeset_revision/env.sh

2. If not, it looks for tool_dependency_dir/package_name/version/env.sh or tool_dependency_dir/package_name/default/env.sh

3. Even if no env.sh is found in the above steps, it attempts to run the command defined by the tool, using executable files from $PATH, python modules from the python path, and so on.

If none of the above locations contains the package or module required by the tool, it will of course not run successfully.

For more details and step-by-step instructions on configuring your Galaxy installation with tool dependencies, see http://wiki.galaxyproject.org/Admin/Config/Tool%20Dependencies

Also, a list of software used by Galaxy standard tools can be found at http://wiki.galaxyproject.org/Admin/Tools/Tool%20Dependencies

   --Dave B.

On 09/09/2013 10:09 AM, Hans-philipp Brachvogel wrote:
Hi all,

we run galaxy on a cluster and real user job sumission (via DRMAA). The
problem is getting the Galaxy standard tools to work with
environment-module.

We use environment-modules to fit the environment to the needs of a job
and want to do the same for galaxy jobs. I highly expect the need to
handle different versions of the same program on our galaxy instance.

It is no problem to configure indivdual evironments for new tools, as we
can simply set the necessary <requirement type="package" version="xyz">
entries in the tool.xml and set a 'module load xyz' in the corresponding
env.sh files.

The challenge is to get the galaxy standard tools to work. Several of
them do not define a requirement-package tag. Instead one finds the
types "binary" or "python-module". But these are not handeled by Managed
Tool Dependencies (env.sh). Especially tools that require
python-module=rpy, should also have a package=R, or: if
python-module=Gnuplot I would also need a package='gnuplot' entry to
trigger the corresponding module load command.

I also found binary=gnuplot, or binary=R... these also need to be loaded
on our system.

The only way I can think of solving this, is by editing these tool.xmls
by hand or do you guys think there is a more general solution? Are there
by chance any methods to resolve binaries and python-modules? (could not
find anything about it)

Greetings,
Phil
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
 http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
 http://galaxyproject.org/search/mailinglists/



___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
 http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
 http://galaxyproject.org/search/mailinglists/

Reply via email to