Commit Graph
6 Commits
Author SHA1 Message Date
John Chilton c247b38b3d Fixup simple_constructs.yml... 2022-04-19 11:23:44 -04:00
Nicola Soranzo 1652e0ceed Add EDAM topics to tools and expose in API 2016-05-24 12:17:39 +01:00
Nicola Soranzo 42219575e3 Annotate test yaml tool with edam_operations 2016-05-19 17:27:05 +02:00
John Chilton b4c77b7617 Introduce "Format 2" workflow definitions.
This is a slight tightening up of the ad-hoc, experimental workflow YAML definition used by the test framework (and by Kyle, but lets just admit Kyle is part of Galaxy's test framework).

This format is still defined entirely client side by transcoding the YAML or python object description into real (or format 1) Galaxy workflows - so these cannot realisticaly be declared part of Galaxy's public interface and can remain experimental and subject to change.

In addition to refactoring the code implementing these workflows for upstream modifications to explore new features, the format itself has been made slightly more stringent in two ways:

 - 'steps' must now be explicit (previously converted auto-convert list to dict).
 - Ensure the workflow declared a 'class' is defined and the class is 'GalaxyWorkflow'.

This will help with discovery of workflow objects with downstream tooling (planemo for workflows?) and brings the Galaxy definition slightly more inline with the CWL definition for workflows (very slightly).
2015-11-18 10:50:43 +00:00
John Chilton 652bd0fc30 Support selections in interface dict rep of tools.
Expose and test through experimental YAML representation of tools. This doesn't represent official support of (vastly superior) YAML tools, this representation continues to serve as an easy way to exercise the abstract tool parsing interface.

Brings simple_constructs.yml and simple_constructs.xml further in line also.

Test:

    ./run_tests.sh -framework -id simple_constructs_y
2015-10-20 13:49:24 +01:00
John Chilton ec24396140 Refactoring: Start abstracting XML processing out of Tool and param classes.
Long term this could allow Galaxy to support - multiple tooling formats (Galaxy-like YAML, CWL http://bit.ly/cwltooldesc, etc...). But I think it is also important from a purely design perspective - this is a core logic class integrating different components - they should not also be doing XML parsing.

To verify the interface for parsing tools is expressive enough to allow multiple useful implementations, I built a test YAML tool description that implements many of the same features as Galaxy but smooths out rough edges (uses exit codes for job failure by default for instance). Loading these tools is disabled by default and it is not documented how to enable them because they are not intended to be part of Galaxy's public API.
2014-12-11 00:26:13 -05:00