Question: galaxy docker deletes custom tools
0
gravatar for eric
2.2 years ago by
eric • 0
UC Berkeley
eric • 0 wrote:

I'm having problems adding custom tools to a docker galaxy instance. Using galaxy docker https://github.com/bgruening/docker-galaxy-blast with export option.

1) i tried adding my tools into the galaxy-central/tools directory (galaxy-central/tools/mytools). And I put my tool_conf.xml in galaxy-central/config. But, galaxy-central/tools/mytools directory gets deleted every time I start docker galaxy.

2) then I put my tool defs under galaxy-central (galaxy-central/mytools), trying relative and absolute paths in config/tool_conf.xml in section. None of these seem to work. My tools don't show up in the sidebar.

<toolbox>
  <section id="MyTools" name="My Tools">
    <tool file="/var/www/galaxy_storage/galaxy-central/mytools/mytooldef_a.xml" />
    <tool file="../mytools/mytooldef_b.xml" />
  </section>
</toolbox>

How can I get this working with the docker instance? Thanks.

tools docker • 731 views
ADD COMMENT • link • modified 2.2 years ago by Bjoern Gruening ♦ 5.1k • written 2.2 years ago by eric • 0
1
gravatar for Bjoern Gruening
2.2 years ago by
Bjoern Gruening ♦ 5.1k
Germany
Bjoern Gruening ♦ 5.1k wrote:

Hi,

please do not change anything in the container. Everything will be lost after stopping the container. You need to modify the tools in your /export/ folder. The folder you mount into your container.

Hope this helps, Bjoern

ADD COMMENT • link written 2.2 years ago by Bjoern Gruening ♦ 5.1k

Thank Bjoern,

I put my changes in the export directory (galaxy_storage), which I understand is where I can store my persistent/writable customizations. Isn't that the point of the export directory? Or am I misinterpreting the role of the export directory?

According to the documentation:

docker run -d -p 8080:80 -v /home/user/galaxy_storage/:/export/ bgruening/galaxy-blast

With the additional -v /home/user/galaxy_storage/:/export/ parameter, docker will mount the folder /home/user/galaxy_storage into the Container under /export/. A startup.sh script, that is usually starting Apache, PostgreSQL and Galaxy, will recognise the export directory with one of the following outcomes:

In case of an empty /export/ directory, it will move the PostgreSQL database, the Galaxy database directory, Shed Tools and Tool Dependencies and various config scripts to /export/ and symlink back to the original location. In case of a non-empty /export/, for example if you continue a previouse session within the same folder, nothing will be moved, but the symlinks will be created. This enables you to have different export folders for different sessions - means real separation of your different projects.

Otherwise, can you propose a method to add custom tools using the docker galaxy instance?

ADD REPLY • link written 2.2 years ago by eric • 0

You are on the right track! I have written here some more details, hopefully this will help: http://bgruening.github.io/docker-galaxy-stable/integrating-non-tool-shed-tools-into-the-container.html

ADD REPLY • link written 2.2 years ago by Bjoern Gruening ♦ 5.1k

Yea, thanks for the input here. Cleared it up and now it's working. Thanks! https://github.com/bgruening/docker-galaxy-blast/issues/3

I also noted that that using the method you outlined, shed_tool_conf.xml.sample also needs to be modified to reference the /local_tools path (<toolbox tool_path="/local_tools/shed_tools">), otherwise, the shed tools won't show.

However, given that the /tools directory gets reset each time the instance is run, why wouldn't we just let us just put custom tools into the /tools directory? Then the additional -e GALAXY_CONFIG_TOOL_CONFIG_FILE= Particularly given that the other local paths, like /config, can be modified. Just wondering. Thanks.

ADD REPLY • link modified 2.2 years ago • written 2.2 years ago by eric • 0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 177 users visited in the last hour