Design Space Toolbox
====================

The design space of biochemical systems is a representation of the
relationships between system parameters, environmental variables, and
phenotypic behavior. In design space, the qualitatively distinct phenotypes of
a biochemical system can be identified, counted, analyzed, and compared.
Boundaries in design space indicate a transition between phenotypic behaviors
and can be used to measure a system's tolerance to large changes in parameters.
Moreover, the relative size and arrangement of such phenotypic regions can
suggest or confirm global properties of the system. The Design Space Toolbox
provides tools to automatically construct and analyze design spaces using
MATLAB.

Requirements
------------

The Design Space Toolbox requires the object oriented features released in
MATLAB 7.6 (R2008a).  It has been tested with MATLAB 7.8 (R2009a).


Known Issues
------------

- The MATLAB Symbolic Toolbox behaves inconsistently between releases.
  Workarounds are added to the Design Space Toolbox as they are encountered
  (i.e. for R2009a). MATLAB R2009b (and possibly other versions) will fail
  the tests related to symbolic operations and will not handle models with
  variable kinetic orders.  However, initial experiences suggest that models
  with constant kinetic orders should work reliably in MATLAB 2009b (and
  possibly other versions).


Installation
------------

To install the Design Space Toolbox,

1. Unzip the archive.
2. Copy the directory design_space_toolbox to the desired
   location (<INSTALL_PATH>).
3. Add the design_space_toolbox directory to the MATLAB search path
   (type 'help path' at the prompt or choose 'File > Set Path...' in
   the toolbar).


Help
----

To see available functions in the Design Space Toolbox, execute the
following command.

>> help dspace 


Demos
-----

To walk through a demonstration of the Design Space Toolbox, execute the
following commands.

>> cd <INSTALL_PATH>/design_space_toolbox/demos/
>> echodemo demo_example_1

To see all available demos, list the contents of the demos directory.

>> ls demo*


Usage
-----

To avoid namespace conflicts, the Design Space Toolbox is completely
contained in its own package.  When using the toolbox, prepend all commands
with 'dspace.'.

>> gma = dspace.parse_gma('X1 - X2');
>> kases = dspace.enumerate_cases(gma);

Alternatively, you can import the package into the base workspace and work
with the commands directly.

>> import dspace.*
>> gma = parse_gma('X1 - X2');
>> kases = enumerate_cases(gma);


Tests
-----

The Design Space Toolbox includes unit tests written for the MATLAB xUnit
Test Framework.  To run the tests, first download and install the MATLAB
xUnit Test Framework.

http://www.mathworks.com/matlabcentral/fileexchange/22846-matlab-xunit-test-framework

Then, execute the following commands.

>> cd <INSTALL_PATH>/design_space_toolbox/tests/
>> runtests
