Menu specifications

One of the intrinsic elements of bioLegato is that menus for setting parameters and running programs are not hard-coded, but rather, are read when the application launches. GDE read these specifications from the .GDEmenus file, which had a crude syntax for setting parameters and generating a Unix command from a template.

We need to redesign this capability from scratch, using contemporary programming approaches that are flexible enough to accommodate as many different ways of running external programs as possible, and are consistent with modern concepts such as XML, ontologies, controlled vocabularies, etc. There may be examples to be found in other software systems, particularly in web services and the semantic web.

What does it take to run a program?

Job control
Sanity checking - before a program is run, there need to be checks to make sure that the input given is reasonable and sufficient for running the job that has been requested. Where these criteria are not met, bioLegato should have defaults to fall back upon, and/or should abort the job, giving the user messages that describe in a meaningful way the reasons for aborting.