- until now, lastz will (mostly) ignore alignments in masked regions since soft-masking has been enabled.  Now the default has changed to disable soft masking, and an option has been added to the tool to enable it if desired.
- the functional test framework now allows for a new "sort" attribute in the output tag for functional tests.  For example:  <output name="output1" file="lastz_wrapper_out4.tabular" sort="True" />
If set to True, the output dataset will be sorted prior to comparing.  This is needed for the lastz tool since multiple threads generate output randomly if the input file has more than 1 sequence.  The default is False.
- Decode the id of a folder prior when retrieving from the database - fixes the bug reported by Guru.
- history sharing is now modeled after workflow sharing - fixes ticket # 63.
- all history features pass encoded history ids between requests
- new, empty histories are no longer created when a user logs in, instead their last accessed history is displayed
- some other things I'm forgetting, I'm sure
This commit also includes a fix for remote user authentication where private roles and default permissions were not created for users ( Ross's and Assaf's issues ).
Many functional test enhancements.
#) An "xy_plot" tool and a new "build_ucsc_custom_track" tool that
demonstrate the various features added here.
#) Grouping constructs for tool parameters:
- "repeat" element allows for a set of parameters to be repeated an
arbitrary number of times
- "conditional" element allows choosing a set of parameters to display
based on the value of another parameter
These constructs can be arbitrarily nested. Their values are structured
and can be used in hooks, validation, et cetera
#) Support for generating arbitrary config files to pass to a tool
#) Command lines are now full Cheetah templates
#) Better job error reporting, includes tracebacks for internal errors
preparing the job (database change required, see below!)
#) Preparation of command line, config files, exec_before_job hook moved
into job execution stage
#) Parameter values now jsonified before storing in database (this is much
more rigorous that before, and restoring from the database now works
properly)
DATABASE CHANGE:
alter table job add column traceback text;