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

Doc and XSD Updates #559

Merged
merged 5 commits into from Sep 14, 2016

Conversation

Projects
None yet
3 participants
@jmchilton
Copy link
Member

jmchilton commented Sep 14, 2016

No description provided.

Static Outputs Determinable from Inputs
---------------------------------------------------------

In cases when the number of output files varies, but can be determined based upon a user's parameter selection, the use of the filter tag can be used. The text contents of the ``<filter>`` tag are ``eval`` ed and if the expression is ``True`` a dataset will be created as normal. If the expression is ``False``, the output dataset will not be created; instead a ``NoneDataset`` object will be created and made available. When used on the command line the text ``None`` will appear instead of a file path. The local namespace of the filter has been populated with the tool parameters.

This comment has been minimized.

@mvdbeek

mvdbeek Sep 14, 2016

Member

parameter selection, the use of the filter tag can be used. -> parameter selection, the filter tag can be used.


There are times when a single history item is desired, but this history item is composed of multiple files which are only useful when considered together. This is done by having a single (``primary``) output and storing additional files in a directory (single-level) associated with the primary dataset.

A common usage of this strategy is to have the primary dataset be an HTML file and then store additional content (reports, pdfs, images, etc) in the dataset extra files directory. The content of this directory can be referenced using relative links with in the primary (HTML) file, clicking on the eye icon to view the dataset will display the HTML page.

This comment has been minimized.

@mvdbeek

mvdbeek Sep 14, 2016

Member

s/with in/within/

<br/>
<img src="image1.jpg" >
The (now unmaintained) Galaxy Tool Factory includes code to gather all output files and create a page with links and clickable PDF thumbnail images which may be useful as a starting point - eg see https://bitbucket.org/fubar/rgalaxy/src/9932187787e592238c2c6fb514a39ff3a705a9af/tools/rgenetics/rgToolFactory.py?at=default

This section discusses the case where the number of output datasets cannot be determined until the tool run is complete. If the outputs can be broken into
groups or collections of similar/homogenous datasets - this is possibly a
case for using dataset collections. If insted the outputs should be treated

This comment has been minimized.

@mvdbeek

mvdbeek Sep 14, 2016

Member

s/insted/instead/


There are times when the number of output datasets varies entirely based upon the content of an input dataset and the user needs to see all of these outputs as new individual history items rather than as a collection of datasets or a group of related files linked in a single new HTML page in the history. Tools can optionally describe how to "discover" an arbitrary number of files that will be added after the job's completion to the user's history as new datasets. Whenever possible, one of the above strategies should be used instead since these discovered datasets cannot be used with workflows and require the user to refresh their history before they are shown.

Discovering datasets (arbitrarily) require a fixed "parent" output dataset to key on - this dataset will act as the reference for our additional datasets. Sometimes the parent dataset that should be used makes sense from context but in instances where one does not readily make sense tool authors can just create an arbitrary text output (like a report of the dataset generation).

This comment has been minimized.

@mvdbeek

mvdbeek Sep 14, 2016

Member

s/require/requires/

@mvdbeek

This comment has been minimized.

Copy link
Member

mvdbeek commented Sep 14, 2016

Excellent job, this is a good resource @jmchilton.

bgruening and others added some commits Sep 14, 2016

@jmchilton

This comment has been minimized.

Copy link
Member Author

jmchilton commented Sep 14, 2016

Thanks for the review @mvdbeek - I've incorporated your comments into the pull request.

I'm just waiting on one passing Travis check for any of these.

@jmchilton jmchilton merged commit 9ecc837 into galaxyproject:master Sep 14, 2016

1 check was pending

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment