Locked History Actions


Galaxy Main Tool Shed

Supported tool_dependencies.xml Tag Sets





Available since release


Document root tag that can contain any number of <package> or <set_environment> tag sets


release_2013.01.13 or earlier

<package> (contained within a tool_dependency>)

name (required), version (required)

A package is a type of tool dependency and the combination of the name and version provide a unique identifier for it. It can contain any number of <repository> tag.

<package name="emboss" version="5.0.0">

release_2013.01.13 or earlier

<install> (contained within a <package>)

version (required)

The version attribute identifies a framework implementation for installing the package. Version 1.0 uses the fabric implementation.

<install version="1.0">

release_2013.01.13 or earlier

<actions_group> (contained within <install>)


<actions> (contained within <actions_group>)

os (optional), architecture (optional)

Contains any number of <action> tag sets, the complete set of which defines the process for installing and compiling the package.



<actions> (contained within <install>

Contains any number of <action> tag sets, the complete set of which defines the process for installing and compiling the package.


release_2013.01.13 or earlier

<action> (contained within <actions>)

type (required)

An action defines an step in the process of downloading and compiling a package or for setting an environment variable. The following table provides the details for the action tags.

release_2013.01.13 or earlier

<readme> (contained within <package>)

Contains free text that provides information about the package.

release_2013.01.13 or earlier

<repository> (contained within <package>)

toolshed (optional), name (required), owner (required), changeset_revision (optional), prior_installation_required (optional, available since release_2013.06.03)

Defines a complex repository dependency. If the toolshed is not defined, it will be automatically set to the local tool shed. If defined, the changeset_revision is the minimum required version. If the changeset_revision is not defined, it will be set to the latest installable changeset_revision for the repository defined by the name and owner. If either the toolshed or the changeset_revision is not defined, the tool_dependencies.xml file will automatically be altered (before it is committed in the changeset) to include the attributes and values just discussed.

<package name="numpy" version="1.7.1"><repository changeset_revision="7283651b62fe" name="package_numpy_1_7" owner="bgruening" prior_installation_required="True" toolshed="http://testtoolshed.g2.bx.psu.edu" /></package>


<set_environment> (contained within a tool_dependency>)

version="1.0" (required)

Create a tool dependency to set an environment variable. Must correspond to a <requirement type="set_environment"> in a tool.

<set_environment version="1.0"> <environment_variable name="R_SCRIPT_PATH" action="set_to"> $REPOSITORY_INSTALL_DIR </environment_variable> </set_environment>

Action Type



Available since release


Handle configure (automatically includes setting --prefix=$INSTALL_DIR, unless the XML elements text contains "prefix="), make and make install allow providing configuration options.

<action type="autoconf">--enable-shared=yes</action>



Change the current directory to the specified directory.

<action type="change_directory">PHYLIP-3.6b</action>



Can contain one or more <file> tags, each with a mode attribute that specifies the desired mode.

<action type="chmod"><file mode="755">$INSTALL_DIR/bin/bwa</file></action>



A template that is filled in with the target platform's OS and architecture. If os or architecture are specified in the tag's attributes, only the template matching the current platform will be used.

<action type="download_binary"><url_template os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.${architecture}/faToTwoBit</url_template></action>



A valid URL that will download a specific package name and version. Only works properly if it is the first action. If applicable, the target file will be saved locally under the name defined in the target_filename attribute. If the remote file is an archive (Zip or Tar), it will be deflated, and the current execution directory will be changed if needed to the deflated subdirectory for the following actions. Note that in the case of Tar files, the name of the downloaded file must match the name of the deflated directory. Additionally a sha256sum attribute should be provided which will be checked to ensure integrity of your download.

<action type="download_by_url" sha256sum="abad61823..." > dftp://emboss.open-bio.org/pub/EMBOSS/old/5.0.0/EMBOSS-5.0.0.tar.gz</action>, <action type="download_by_url" target_filename="lastz-distrib-1.02.00.tar.gz">http://www.bx.psu.edu/miller_lab/dist/lastz-1.02.00.tar.gz</action>

release_2013.01.13 or earlier


Download a single file to the current working directory. If applicable, the target file will be saved locally under the name defined in the target_filename attribute. Additionally a sha256sum attribute should be provided which will be checked to ensure integrity of your download.

<action type="download_file">http://effectors.org/download/version/TTSS_GUI-1.0.1.jar</action>



Create a new directory relative to the package installation directory.

<action type="make_directory">$INSTALL_DIR/lib/python</action>

release_2013.01.13 or earlier


make [options]; make install; allow providing make options

<action type="make_install">all</action>



An <action> tag set containing a <source> tag (what file to move), a <destination> tag (directory where to move the file) and an optional rename_to attribute (new file name).

<action type="move_file" rename_to="lastz"><source>src/lastz.i386</source><destination>$INSTALL_DIR/bin</destination></action>

release_2013.01.13 or earlier


An <action> tag set that contains a <source_directory> tag and a <destination_directory> tag that defines a directory of files to move and where to move it.

<action type="move_directory_files"><source_directory>bin</source_directory><destination_directory>$INSTALL_DIR/bin</destination_directory></action>

release_2013.01.13 or earlier


A tag set that contains an <environment_variable> tag that defines the process for setting an environment variable. Allowed actions are: 'set_to', 'prepend_to' and 'append_to'. These variables will be defined in the tools runtime environment, not in the install environment, see action "set_environment_for_install" for that, or use a shell script.

<action type="set_environment"><environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/bin</environment_variable></action>

release_2013.01.13 or earlier


This tag set defines a repository revision that is associated with a tool dependency env.sh file. If the repository has dependencies, the env.sh file for each of them is "sourced" so the environment setting in each of them can be injected into the environment for all <action type="shell_command"> tags that follow this <action type="set_environment_for_install"> tag set in the tool_dependencies.xml file.

<action type="set_environment_for_install"><repository changeset_revision="7283651b62fe" name="package_numpy_1_7" owner="bgruening" toolshed="http://testtoolshed.g2.bx.psu.edu"><package name="numpy" version="1.7.1" /></repository></action>



Set up a Perl environment

<action type="setup_perl_environment"><repository name="package_perl_5_18" owner="bgruening"><package name="perl" version="5.18.1" /></repository><package>XML::Parser</package><package>http://search.cpan.org/CPAN/authors/id/C/CJ/CJFIELDS/BioPerl-1.6.922.tar.gz</package></action>



Set up an R environment.

<action type="setup_r_environment"><repository name="package_r_3_0_1" owner="bgruening"><package name="R" version="3.0.1" /></repository><package>https://github.com/bgruening/download_store/raw/master/DESeq2-1_0_18BiocGenerics_0.6.0.tar.gz6</package></action>



Set up a Ruby environment.

<action type="setup_ruby_environment"><repository name="package_ruby_2_0" owner="bgruening"><package name="ruby" version="2.0" /></repository><package>protk</package><package>protk=1.2.4</package><package>http://url-to-some-gem-file.de/protk.gem</package></action>



Set up a Python virtualenv and install the listed modules in to that virtualenv using pip. It is not necessary to provide any other actions (e.g. set_environment), as setup_virtualenv configures the environment for dependencies automatically.

Install requirements from file requirements.txt of downloaded bundle:
<action type="setup_virtualenv" />
- or - Install requirements from specified file from downloaded bundle:
<action type="setup_virtualenv">tools/requirements.txt</action>
- or - Manually specify contents of requirements.txt file to create dynamically:
<action type="setup_virtualenv">pyyaml==3.2.0


shell_command (for cloning a repository)

If the first <action> tag is of type "shell_command", then it must be either an hg clone or a git clone command. If the source repository name (in this example freebayes.git, but the .git is ignored) is different than the package name, then you'll need to clone into a folder with the same name as the package. E.g. git clone https://github.com/apetkau/ffp-3.19-custom.git ffp-phylogeny for a package name ffp-phylogeny

<action type="shell_command">git clone --recursive git://github.com/ekg/freebayes.git</action>

release_2013.01.13 or earlier

shell_command (after package download)

A shell command can contain any necessary command to compile the package after it has been downloaded. Care must be taken to ensure commands are general posix commands, and moving files and directories should not be done using a shell_command type (see below).

<action type="shell_command">make</action>

release_2013.01.13 or earlier


Execute a command in the specified template language. At the moment only 'cheetah' language is implemented.

<action type="template_command" language="cheetah">#if env.PATH:
#end if</action>


Supported tool_dependencies.xml Tag Sets

  • INSTALL_DIR = installation directory (absolute path with no trailing slash), useful to pass it to ./configure --prefix=$INSTALL_DIR or to set environment variables
  • REPOSITORY_INSTALL_DIR = the directory (absolute path with no trailing slash) where your XML files are located (tool, or tool_dependencies.xml XML files)
  • TMP_WORK_DIR = temporary working directory (absolute path with no trailing slash) used during tool installation. All files are downloaded here, unpacked etc. This directory will be removed after installation