On Wed, Nov 13, 2013 at 12:03 PM, Greg Von Kuster <greg@bx.psu.edu> wrote:
Hello Peter,
Yesterday we discovered what Björn has communicated and added it to the
Trello card for this issue:
https://trello.com/c/sN2iLCCn/99-bug-in-install-and-test-framework-1
...
becomes the following in your renamed tool_dependencies.xml file:
<tool_dependency>
<package name="samtools" version="0.1.9">
<repository name="package_samtools_0_1_19" owner="iic" />
</package>
</tool_dependency>
This is all discussed in the following section of the Tool Shed wiki:
http://wiki.galaxyproject.org/ToolShedToolFeatures#Automatic_third-party_tool_dependency_installation_and_compilation_with_installed_repositories
I believe that is what I did in response to Bjoern's email, shortly
before seeing your email (but thank you for the detailed reply):
http://testtoolshed.g2.bx.psu.edu/view/peterjc/samtools_idxstats/93b8db68dde4
As an aside, I personally I find the tool_dependencies.xml vs
repository_dependecies.xml split confusing when defining a
dependency on a third party tool which is provided by another
Tool Shed repository. I don't understand why this isn't all done
with repository_dependecies.xml alone.
If tool dependencies were defined in a repository_dependencies.xml file, the definition would be more complex than the current approach we are using.
1) A "simple repository dependency" defines a relationship between 2 repositories and does not consider any of the contents of either repository. This relationship is defined in a repository_dependencies.xml file. A good xample is the following repository_dependencies.xml file associated with the emboss5 repository at:
http://devteam@testtoolshed.g2.bx.psu.edu/repos/devteam/emboss_5
The relationship is between the emboss5 repository and its required repository named emboss_datatypes.
<?xml version="1.0"?>
<repositories description="Emboss 5 requires the Galaxy applicable data formats used by Emboss tools.">
<repository toolshed="
http://testtoolshed.g2.bx.psu.edu" name="emboss_datatypes" owner="devteam" changeset_revision="9f36ad2af086" />
</repositories>
2) A "complex repository dependency" defines a relationship between some of the contents of each of 2 repositories ( the relationship is usually between a tool (e.g., xml config and script combination) in the dependent repository and a tool component (e.g., 3rd party binary) in the required repository. This relationship is defined in a tool_dependencies.xml file. A good example is the following tool_dependencies.xml file in the same emboss5 repository at:
<?xml version="1.0"?>
<tool_dependency>
<package name="emboss" version="5.0.0">
<repository changeset_revision="9fd501d0f295" name="package_emboss_5_0_0" owner="devteam" toolshed="
http://testtoolshed.g2.bx.psu.edu" />
</package>
</tool_dependency>
The above definition defines only a portion of the relationship to the contents of the emboss5 repository. The remaing portion is the contents of the <requirements> tag set in the contained tool(s):
<requirements><requirement type="package" version="5.0.0">emboss</requirement></requirements>
For each contained tool that has the above <requirement> tag entry, the tool will find the binary dependency installed with the required package_emboss_5_0_0 repository when the tool is executed. Since this relationship is defined at the "tool" level and not the "repository" leve, it is defined in the tool_dependenciews.xml file.
All of this information is explained in the Tool Shed wiki at the following pages.
Let me know if this doesn't correct this problem.
Last night's Test Tool Shed run confirms this does NOT fix the problem,
which does indeed appear to be in the Galaxy upload tool which has
an implicit dependency on samtools for indexing BAM files as John
suggested.
Yes, we're working extensively on the Tool Shed's install and test framework, and we'll figure out the best way to handle this issue.