Categorizing tools in the tool panel with sections and labels

Hey everyone,

I’m in the last steps of fine tuning our local galaxy installation. I want to rearrange and categorize our tools in the tool panel in a way similar to usegalaxy.eu with multiple sections and subsections.
Here’s a snippet of my shed_tool_conf.xml:

<?xml version="1.0" ?>
<toolbox tool_path="/home/galaxy/app/database/shed_tools">
    <label id="basictools" text="Basic Tools" version="" />
    <section id="qc" name="Quality Check" version="">
        <tool file="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/3d0c7bdf12f5/fastqc/rgFastQC.xml" guid="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0">
            <tool_shed>toolshed.g2.bx.psu.edu</tool_shed>
            <repository_name>fastqc</repository_name>
            <repository_owner>devteam</repository_owner>
            <installed_changeset_revision>3d0c7bdf12f5</installed_changeset_revision>
            <id>toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0</id>
            <version>0.73+galaxy0</version>
        </tool>
    </section>

    <label id="metagenomics" text="Metagenomics" version="" />
    <section id="mothur" name="Mothur" version="">
        <tool file="toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/305ce07a4b16/mothur_get_oturep/get.oturep.xml" guid="toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/mothur_get_oturep/1.39.5.0">
            <tool_shed>toolshed.g2.bx.psu.edu</tool_shed>
            <repository_name>mothur_get_oturep</repository_name>
            <repository_owner>iuc</repository_owner>
            <installed_changeset_revision>305ce07a4b16</installed_changeset_revision>
            <id>toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/mothur_get_oturep/1.39.5.0</id>
            <version>1.39.5.0</version>
        </tool>

[...]

I do get both labels (“Basic Tools” and “Metagenomics”). However, both sections are put under the “Metagenomics” label. How do I get the “Quality Check” up under the “Basic Tools” label?

Thanks!

Hi @mheuser
Try closing the first label section with a </label> where that empty line above is.

Thanks for the answer, @jennaj!

I’ve tried your suggestion but unfortunately that makes the whole encapsulated section disappear. The label is still there, but the section is just gone.

1 Like

Hi @mheuser

Ok, sorry, I got that wrong. Things have changed a bit but even with the prior version my advice was wrong! The tag is already closed.

The placement of labels used to matter, and were add in after the section(s) to list under that label. That would mean rearranging the xml to be this for your case:

<?xml version="1.0" ?>
<toolbox tool_path="/home/galaxy/app/database/shed_tools">
    <section id="qc" name="Quality Check" version="">
        <tool file="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/3d0c7bdf12f5/fastqc/rgFastQC.xml" guid="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0">
            <tool_shed>toolshed.g2.bx.psu.edu</tool_shed>
            <repository_name>fastqc</repository_name>
            <repository_owner>devteam</repository_owner>
            <installed_changeset_revision>3d0c7bdf12f5</installed_changeset_revision>
            <id>toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0</id>
            <version>0.73+galaxy0</version>
        </tool>
    </section>
    <label id="basictools" text="Basic Tools" version="" />
    <section id="mothur" name="Mothur" version="">
        <tool file="toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/305ce07a4b16/mothur_get_oturep/get.oturep.xml" guid="toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/mothur_get_oturep/1.39.5.0">
            <tool_shed>toolshed.g2.bx.psu.edu</tool_shed>
            <repository_name>mothur_get_oturep</repository_name>
            <repository_owner>iuc</repository_owner>
            <installed_changeset_revision>305ce07a4b16</installed_changeset_revision>
            <id>toolshed.g2.bx.psu.edu/repos/iuc/mothur_get_oturep/mothur_get_oturep/1.39.5.0</id>
            <version>1.39.5.0</version>
        </tool>
    </section>
    <label id="metagenomics" text="Metagenomics" version="" />
</toolbox>

Please give that a try.

If it doesn’t produce what you want, please write back and I’ll recruit more help. Our docs only include how to add a labels to individual tools or a sub label within sections.

Hi again @mheuser

I asked for help from @nate to confirm, and he was able to provide more examples. The usegalaxy.eu server is set up similar to usegalaxy.org.

Here’s an example of a label, they can go inside or outside of sections: galaxy/tool_conf.xml.sample at dev · galaxyproject/galaxy · GitHub

The specific one you mention for main (usegalaxy.org) is here: usegalaxy-playbook/tool_conf.xml at main · galaxyproject/usegalaxy-playbook · GitHub

Note that these edits are in the tool_conf.xml file, not the integrated_tool_conf.xml (see the URLs of each in this post). The integrated file is recreated/updated when a server is restarted, based on the first plus a few other inputs (if any exist). I wondering now if that was the original mixup (where to put the manual edits).

Hey @jennaj :slight_smile:

Thank you so much for looking into the issue! It is much appreciated.
Indeed, I was trying to edit shed_tool_conf.xml directly. Tbh, the whole process is very confusing to me :thinking:
In the documentation it states that the files necessary for making the sidebar are kind of chained together (if I understood correctly), so I assumed that the file which holds the definitions for the tools I have installed from the toolshed is the one to use for rearranging and labelling. I’m referring to this paragraph.

I’ve had a look at both my local tool_conf.xml and the examples you’ve linked above. I can see the way they work, but I am unsure how to add the tools I’ve installed from the tool shed to my file. In my tool_conf.xml all I see is the basic tools that came bundled with Galaxy:

<?xml version='1.0' encoding='utf-8'?>
<toolbox monitor="true">
  <section id="getext" name="Get Data">
    <tool file="data_source/upload.xml" />
    <tool file="data_source/ucsc_tablebrowser.xml" />
    <!-- <tool file="data_source/ucsc_tablebrowser_test.xml" /> -->
    <tool file="data_source/ucsc_tablebrowser_archaea.xml" />
    <tool file="data_source/ncbi_datasets.xml" />
    <tool file="data_source/sra.xml" />
    <tool file="data_source/ebi_sra.xml" />
    <tool file="data_source/fly_modencode.xml" />
    <tool file="data_source/intermine.xml" />
    <tool file="data_source/flymine.xml" />
    <!-- <tool file="data_source/flymine_test.xml" /> -->
    <tool file="data_source/modmine.xml" />
    <tool file="data_source/mousemine.xml" />
    <tool file="data_source/ratmine.xml" />
    <tool file="data_source/yeastmine.xml" />
    <tool file="data_source/worm_modencode.xml" />
    <tool file="data_source/wormbase.xml" />
    <!-- <tool file="data_source/wormbase_test.xml" /> -->
    <tool file="data_source/zebrafishmine.xml" />
    <tool file="data_source/eupathdb.xml" />
    <tool file="data_source/hbvar.xml" />
  </section>

[...]

To keep this post readable, I’ve shortened my shed_tool_conf.xml to look like this:

<?xml version="1.0" ?>
<toolbox tool_path="/home/galaxy/app/database/shed_tools">
    <section id="qc" name="Quality Check" version="">
        <tool file="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/3d0c7bdf12f5/fastqc/rgFastQC.xml" guid="toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0">
            <tool_shed>toolshed.g2.bx.psu.edu</tool_shed>
            <repository_name>fastqc</repository_name>
            <repository_owner>devteam</repository_owner>
            <installed_changeset_revision>3d0c7bdf12f5</installed_changeset_revision>
            <id>toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.73+galaxy0</id>
            <version>0.73+galaxy0</version>
        </tool>
    </section>
</toolbox>

How would I add the Section Quality Check and the tool FastQC to the tool_conf.xml and put it under it’s own label? Is there a way to automate the process? I have almost 200 tools already installed and keeping two files in sync is waaay to much work and prone to errors :thinking: