Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
peterjc opened this issue Apr 7, 2015 · 1 comment · Fixed by #134
Closed

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

peterjc opened this issue Apr 7, 2015 · 1 comment · Fixed by #134

Comments

@peterjc
Copy link
Contributor

peterjc commented Apr 7, 2015

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.

@jmchilton
Copy link
Member

This definitely needs to be easier - we could do it in planemo - that would be the quickest win - especially if we implement some of your other ideas for dealing with repositories (hopefully I will find some time to get to them). It would be cool if Galaxy could just figure this stuff out when installing these workflows too though.

jmchilton added a commit to jmchilton/planemo that referenced this issue Apr 23, 2015
Currently just creates .shed.yml files from command-line arguments. Arguably the tool author could just open this file and start editing but at least --help provides some sort guidance of what fields are available and validates categories for instance. The real reason to add this however is as a stepping stone toward galaxyproject#118.
jmchilton added a commit to jmchilton/planemo that referenced this issue Apr 23, 2015
Builds out a repository_dependencies.xml from the specified workflow. If needed, this also copies the workflow into the target repository.

Closes galaxyproject#118.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants