Files
galaxy/tools/visualization/build_ucsc_custom_track_code.py
T
James Taylor 7bfc238304 Many changes related to tool interfaces and jobs (DATABASE CHANGE, READ)
#) 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;
2007-05-19 16:40:55 +00:00

17 lines
686 B
Python

# runs after the job (and after the default post-filter)
from sets import Set as set
def validate_input( trans, error_map, param_values, page_param_map ):
dbkeys = set()
tracks = param_values['tracks']
for track in tracks:
if track['input'] is not None:
dbkeys.add( track['input'].dbkey )
if len( dbkeys ) > 1:
# FIXME: Should be able to assume error map structure is created
if 'tracks' not in error_map:
error_map['tracks'] = [ dict() for t in tracks ]
for i in range( len( tracks ) ):
error_map['tracks'][i]['input'] = \
"All datasets must belong to same genomic build"