In order to use the SimWiz package, download one of the archive files
(I would recommend either SimWiz.zip or SimWiz.tar.gz) and install it (see below for installation instructions).
Running SimWiz requires JDK 1.4 or newer.
If you want to load/save SBML files you will have to download and install JDOM, an API for working with XML data,
and libSBML 2.3.5 (libSBML level 3 does not work with the current version at the moment)
Installation
Unpack the archive file:
Unix Users: tar -xvzf SimWiz.tar.gz
Windows Users: Use your local ZIP utility to unpack SimWiz.zip
If not already done, extend your PATH environment variable to include the bin directory of the JDK distribution
Extend your CLASSPATH to include the directory in which you have
unpacked the tar/zip file. Alternatively you can use the jar file to be
included in the CLASSPATH.
In order to load/save SBML files, download the jdom distribution,unpack the archive file and extend your CLASSPATH to include jdom.jar (under Linux e.g., you will find this file in $PATH_TO_JDOM_DIRECTORY/jdom-b8/build/jdom.jar)
For Windows Users!!! Start the program in the directory, where you have unpacked the file SimWiz.zip or write a .bat file like this one
Use
Animation of simulation results
You can invoke the animator with the following command
Using postprocessed STODE output:java -mxXXm org.eml.simulation.SimController graph-file simulation-data-file
Using COPASI output:java -mxXXm org.eml.simulation.SimController graph-file simulation-header-file simulation-data-file continuousUpdateP
The XX has to be replaced by the number of Megabytes the Java virtual machine will be allowed to use.
As the program buffers a certain amount of images showing graphs which represent consecutive simulation steps
it is a wise decision to set XX to 256
The parameter continuousUpdateP is optional. When used, it has to be replaced by one of the boolean values true or false. A value of true would mean that the maximum values specified in the header files are not correct (but just a copy of the values at the first time step) and therefor, SimWiz has to perform an update of the maximum values each time it encounters a higher value for a compund then already observed.
Alternatively you can leave out the file parameters and load the graph
and the simulation data file via the file menu after starting the
animator.
Creation of reaction graph
There are different ways to create a graph that can be load by the animator:
First of all the animator can read pure SBML (without layout information) and will create a very simple graph layout from it.
You can use the ReactionLayouter (see below) to create a graph with a
nicer layout. This tool can be invoked by the following command:
java org.eml.simulation.ReactionLayouter
After starting the ReactionLayouter you can load a file in either of the following formats (see below for examples) :
ASCII (reaction definitions of the form "A + B - C + D")
SBML ("pure" SBML or with layout information according to our specification)
Binary/Serialized (previously stored with ReactionLayouter)
SVG (previously stored with ReactionLayouter, because of icluded Processing Instructions)
You can modify the graph by e.g. moving nodes, changing the shape of
edges, joining or splitting nodes,etc. If you have finished editing the
graph and want to use the result for the animator, you can save the
graph in either SBML or binary form.
A graph that was created from scratch (i.e. starting with an empty graph) can only be saved in serialized/binary form.
Sorry, at the moment, it is not possible to apply the automatic layout algorithm as we use a proprietary graph library.
We are working on the replacement of this library but it will take some time until this will be available to the public. If you
are strongly interested in using the layout algorithm, please contact me.
Creation of simulation data file
The simulation data file used by SimWiz consists of two parts:
The header contains some general information about the content like for
example the names of the reactants and the maximum values for the
number of molecules or the concentration of the corresponding reactants.
The data part consists of (k + #numberOfReactantsSimulated)
columns of double values ( k=2 for STODE output, k=1 for COPASI output) which are separated by whitespaces.
The first column specifies the time steps (with each given in seconds).
FOR STODE output, the second column contains data specific to
this tool. As this column is ignored by SimWiz at the
moment any number could be placed there. The rest of the columns specify the numeric values for the concentration or the number of molecules for each rectant covered by the simulation.
While the data part is produced in a similar way by many applications
the header is more specific and usually will have to be created
seperately by a postprocessing step.
STODE output:
STODE puts the header information together with the data part in one file. As this software does not insert the maximum values for each compound as a default, these have to be added afterwards. Therefore,
in order to use the output generated by the STODE software, we have created a small C++ program which postprocesses the data and which is available for download.
COPASI output: Here, the simulation results are split into two parts which are stored in two different files: a header file and a data file. If you want to produce this output format from a different simulation software, have a look into the description of this format.
In
order to achieve compatibility to other applications which e.g. produce
sophisticated layouts for graphs showing pathways we developed an
extension for SBML that adds layout information to the model data that
is stored in a SBML file: