Hi Peter,

On Mar 19, 2013, at 7:44 AM, Peter Cock wrote:

> Hi all,
> 
> I noticed today that there is a new yellow warning on the NCBI
> BLAST+ repository in the main Galaxy Tool Shed,
> http://toolshed.g2.bx.psu.edu/view/devteam/ncbi_blast_plus
> 
> Quote:
>> The settings for name, version and type from a contained tool
>> configuration file's requirement tag does not match the
>> information for the following tool dependency definitions in the
>> tool_dependencies.xml file, so these tool dependencies are
>> considered orphans within this repository.
>> * name: blast+, type: package, version: 2.2.26+
> 
> Is this complaining that none of the individual wrapper XML
> files reference the tool_dependencies.xml's package:
> 
>    <package name="blast+" version="2.2.26+">
> 
> Instead, the tool XML files just declare a simple binary
> dependency at the moment, e.g.
> 
>    <requirements>
>        <requirement type="binary">blastp</requirement>
>    </requirements>


You are correct.  A tool dependency definition is associated with a tool via 
the tool config's <requirement> tag set.  The combination of name, version and 
type is used to associated a tool with a tool dependency.  In this case, the 
name is "blast+", the version is "2.2.26+" and the type is "package".


> 
> Although it seems like unnecessary bookkeeping to me,


This bookkeeping is necessary in order to guarantee reproducibility.  
Associating a specific tool with a specific tool dependency via the combination 
of a name, version and type will always ensure that that specific tool version 
will always produce the same analyses.  Galaxy itself has never guaranteed this 
kind of reproducibility because it has never required the combination of name, 
version and type for tool dependencies.  The tool shed has always required this.


> is this new yellow warning suggesting each tool's XML
> should reference the package somehow?

The information that is missing is the version in this case, and the type 
should be "package".  The tool config's requirements tag set should be:

>    <requirements>
>        <requirement type="package" version="2.2.26+">blastp</requirement>
>    </requirements>



> If so, then the
> wiki needs updating as it only describes python-module
> and binary as requirement types:
> http://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax


The above wiki is the wiki for Galaxy, and does not pertain to the tool shed.  
As mentioned above, Galaxy itself does allow for tool config <requirement> tags 
to not include version information where the tool shed does require this.

The tool shed wiki that describes this is available at:

http://wiki.galaxyproject.org/ToolShedToolFeatures#Automatic_third-party_tool_dependency_installation_and_compilation_with_installed_repositories


Specifically, the following paragraphs:

The xml root is the <tool_dependency> tag, which contains a <package> tag set 
for each required dependency.  Each <package> tag set contains tag sets that 
define the installation process as well as an optional <readme> tag that can 
contain free text information about requirements for compiling the package.

A very critical part of the information in the <package> tag is the combination 
of the name and version attributes.  These values must match the values of the 
same attributes in the <requirements> tag set of at least one tool config file 
included in the repository in order for the tool dependency to be installed.

For example the name and version information in the following <package> tag...


<package name="freebayes" 
version="0.9.4_9696d0ce8a962f7bb61c4791be5ce44312b81cf8">
...matches the first <requirement> tag below whose type attribute value is 
package.  This tag set is included in the freebayes.xml tool config file in the 
repository.  Again, if a match is not found between type, version and name, the 
tool dependency will not be properly defined for the repository, so it cannot 
be automatically installed.


<requirements>
    <requirement type="package" 
version="0.9.4_9696d0ce8a962f7bb61c4791be5ce44312b81cf8">freebayes</requirement>
    <requirement type="package" version="0.1.18">samtools</requirement>
</requirements>

> 
> Thanks,
> 
> Peter
> ___________________________________________________________
> 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/

___________________________________________________________
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/

Reply via email to