Comparator core module
The Comparator core module contains the Comparator front end, Comparator back end, and basic tools for data entry, transformation, and analysis.
Comparator front end
- Plugin system for adding tools to the Comparator
- User interface support for tools
- Interface for external data visualization tools
Comparator back end
- Data storage for tools (organized as a Blackboard)
- Tool configuration
- Simplified platform support for printing, clipboard, and file I/O
- Complex structured data types
- Error reporting and diagnostics
- MIME and data type mapping
- Expands the Java Beans persistence framework
- Additional primitives for synchronization
Data entry and viewing
The data entry tools allow users to view and directly input data sets. Sets are organized in a spreadsheet interface with rows representing independent data. Data can have complex structured types, with checking for structural conformance and validity. A small library of data types is included with the Comparator, and custom data types and validators are supported. Data can be entered and viewed inline, or by using popup editors that adapt to the data type structure. A lightweight XML persistence mechanism is provided for data sets.
Data transformation
The transformation tools allow the user to create stored procedures for generating and processing data. Basic building blocks, called transforms, are Java classes that provide structured output, and optionally take structured input. A small library of transforms is included with the Comparator, and custom transforms are supported. Transforms are currently all sequential or functional in structure, but more complex forms such as iteration and conditionals are possible. Users can compose and customize transforms to perform more complex processes in a graphical Transform Editor. A Transform Debugger tool is also provided to help transform creators test their routines. A lightweight XML persistence mechanism is provided for transforms.
Data analysis
The analysis tools allow the user to create stored procedures for analyzing data. The fundamental analysis procedure uses objective functions which map a set of data values to a non-negative real number. This objective result represents the acceptability of the data set, with zero being perfect and larger values indicating less acceptable fits.
Objective functions are constructed similar to transforms but their use is simpler. Objective functions have a fixed structure for input and output, and cannot be composed. There is a graphical Objective Editor for customizing objective functions, but there is no equivalent to the transform debugger. A small library of objective functions is included with the Comparator, and custom objective functions are supported. A lightweight XML persistence mechanism is provided for objective functions.
Cellcycle module
The cellcycle module is a customized Comparator module for use with JigCell. It contains tools to support cell cycle modeling, especially the evaluation of model correctness.
Changes from core module
- Customized interfaces and configuration for supporting cell cycle modeling
- Data entry tools for linking a stored transformation and objective function with an experimental data set
- Coordination betwen data entry, transformation, and analysis tools to act like a single application
- Expands library of data types, transforms, and objective functions
Collecting data from models
The cellcycle module adds the ability to dynamically generate data from a model. This is exposed to the user by a transform that uses the JigCell Run Manager. The transform is customized by specifying a run file and run created by the Run Manager. When invoked, the transform contacts the Run Manager to simulate a model. A time series of observations taken from the model is the output of the transform.