Skip to content

Generate repository_dependencies.xml from *.ga file(s) #118

@peterjc

Description

@peterjc

Although there are some rough edges with installing workflows from the Tool Shed (e.g. http://dev.list.galaxyproject.org/Installing-workflows-from-the-Tool-Shed-is-very-confusing-tc4666888.html ) the ability for the workflow author to include a repository_dependencies.xml file ought to help with ensuring the workflow dependencies can be automatically installed by a Galaxy Administrator.

In principle, by parsing *.ga file (or set of files if you wanted to publish several workflows in a single ToolShed repository), the repository_dependencies.xml file could be auto generated - and this might be a useful feature for planemo.

(Alternatively this kind of logic might be better in the Tool Shed code, or in Galaxy's *.ga import code?).

For example with https://github.com/peterjc/galaxy_blast/tree/master/workflows/blast_top_hit_species I created the repository_dependencies.xml by hand, turning these lines in the *.ga file:

            "tool_id": "toolshed.g2.bx.psu.edu/repos/peterjc/sample_seqs/sample_seqs/0.2.1", 
            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastx_wrapper/0.1.01", 
            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/fasta_to_tabular/fasta2tab/1.1.0", 
            "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/unique/bg_uniq/0.3", 

into:

    <repository owner="devteam" name="ncbi_blast_plus" />
    <repository owner="devteam" name="fasta_to_tabular" />
    <repository owner="peterjc" name="sample_seqs" />
    <repository owner="bgruening" name="unique" />

Upon upload to the Tool Shed as https://toolshed.g2.bx.psu.edu/view/peterjc/blast_top_hit_species these were filled in to point at the latest tool revisions (which at the time would have been the right version numbers):

    <repository changeset_revision="2fe07f50a41e" name="ncbi_blast_plus" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" />
    <repository changeset_revision="9d189d08f2ad" name="fasta_to_tabular" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" />
    <repository changeset_revision="02c13ef1a669" name="sample_seqs" owner="peterjc" toolshed="https://toolshed.g2.bx.psu.edu" />
    <repository changeset_revision="7ce75adb93be" name="unique" owner="bgruening" toolshed="https://toolshed.g2.bx.psu.edu" />

Note that a single workflow may contain tools installed from multiple Tool Shed repositories, but at the time of writing the repository_dependencies.xml file can only be used for dependencies within the same Tool Shed. Assuming the dependencies were from the same Tool Shed, then the revisions could be examined for suitable changeset_revision entries providing the desired version string of the tool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions