BACKGROUND
motivation
one goal of investigating the dynamic behavior of biochemical systems and processes is to understand biological causality in terms of regulation and control mechanisms.
computerized mathematical models of such dynamic behavior have become an important methodology in the pursuit of this goal.
many modeling and simulation tools have been reported in the literature.
the systems biology markup language  web site  <cit>  lists more than  <dig> such tools, all of which adhere to the sbml standard, facilitating the exchange of biochemical reaction network models.
in addition to systems modeling and simulation tools, the sbml site posts a large number of tools addressing other tasks, including tools to convert sbml files into other languages or formats , to modify and combine different sbml files , and to interactively analyze and explore a large number of already developed biological models .
several excellent tools have been developed for modeling and simulating biochemical networks, some of which provide sophisticated, gui-based design tools for visual model development.
most of these tools are freely available as software packages or as online tools.
examples include copasi  <cit> , virtual cell  <cit> , jdesigner  <cit> , cellware  <cit>  and celldesigner  <cit> , which are well developed and widely used in the systems biology community.
a critical weakness of the symbolic notations of these tools is their lack of supporting an integrative representation of biological transformation and transportation processes as well as biological information processing.
within the context of this work, we define species transformation as the alteration or change of species participating in biochemical processes.
examples of species transformation include stoichiometric reactions, enzymatic reactions, synthesis and degradation processes or modification processes such as methylation and phosphorylation.
biological transport refers to processes that transport organic, biochemical or inorganic substances between or within cells.
protein translocation across subcellular compartments or material flow through biological membranes are examples of biological transport.
biological information processing controls the processes involved in species transformation and species transport.
by processing the information provided by one or more information sources and by regulating biological transport and transformation processes accordingly, biological systems can control both the maintenance of a state and also state transitions from one state to the next.
based on this definition information sources can be of different biological and non-biological nature such as a set of transcription factors controlling the expression of a gene, or physical parameters influencing a biological process .
typical examples of biological information processing include gene regulatory processes and cell-cell or cell-environment interactions mediated through receptor proteins.
to simultaneously model species transformation and biological information processing is important because only this integrative approach can describe biochemical processes including the influencing factors that control such processes and their interplay.
for example, a model of osmotic shock in yeast should capture species transformation and information processing because it is not possible to formulate the causal dependencies of osmotic shrinking and swelling of yeast cells by defining transformation processes exclusively.
instead the processing of internal and external ion concentration levels is fundamental in the response processes initiated by the yeast cells and thus must be integrated into the model to provide contextual causality of the underlying system.
while the main focus of most existing tools is placed on the description of species transformation, the modeling of information processing which controls such transformations is an important feature missing in those tools.
the main novelty of the narrator tool is that it facilitates the integrative modeling and simulation of biological transformation, transport and information processing.
the following illustrative example is to demonstrate the necessity of an integrative modeling approach that combines transformation and information processing.
it is based on a model of osmotic shock in yeast and was developed by klipp and coworkers  <cit> .
this model, illustrated in figure  <dig>  integrates biochemistry  and biophysics .
while the control system involving signal transduction, gene regulation, metabolic transformation and glycerol transport, can be seamlessly described with the abovementioned tools, it is difficult to represent the biophysical system, which involves information or signal processing, with the graphical notations provided by these tools.
the development of the narrator software tool was driven by the need to model and simulate such multi-modal biological systems.
co-dependence models
the narrator tool presented in this paper implements the co-dependence methodology  <cit> , which consists of a set of concepts and tools facilitating the modeling and simulation of biological systems and processes.
among others, the development of this methodology was guided by the following needs: the methodology should
<dig>  enable life scientists to express the full complexity of biological functioning, including species transport, transformation and information processing which guides these processes.
<dig>  provide a visual or graphical notation suitable for use in informal pen-and-paper discussions and implementation as sophisticated graphical user interface of computerized modeling tools.
<dig>  be executable on a computer to enable the testing of proposed dynamics in silico.
the conceptual architecture of the co-dependence methodology can be divided into four layers .
narrator's notation layer at the top provides a flexible and intuitive visual or graphical notation facilitating the specification of a wide range of biological functioning and information processing mechanisms.
each model in narrator is captured at the canonical model structure layer, which represents the basic modeling abstractions and concepts .
the components at the model structure level are also used to realize the mapping  of the model into various formal or mathematical frameworks, schemes or languages.
finally, the formalism layer represents the different types of formal and mathematical languages in which models developed in narrator can be expressed to facilitate computation and sharing.
currently three of such formalisms are supported: ordinary differential equations, gillespie's direct method and sbml.
co-dependence notation
most notations currently used in systems biology tools facilitate the description of conventional biochemical pathways and are based on mathematical bipartite graphs or directed hypergraphs.
a bipartite graph  is defined by a set of graph vertices  decomposed into two disjoint sets such that no two graph vertices within the same set are adjacent, i.e., they are not joined by a graph edge .
a directed hypergraph is a graph in which generalized edges  may connect more than two nodes.
the two types of graphs have been shown to be equivalent when used for representing transport and transformation of chemical species  <cit> .
in bipartite graphs, there are two kinds of node, and no edge can relate nodes of the same kind.
this is useful for linking biological species to processes or reactants to products.
hyperarcs of directed hypergraphs can be used to relate sets of reactants to sets of products, where each set belong to the same kind of node.
additionally, both notations can represent inhibitory and stimulatory dependencies between chemical species and their transformation processes.
petri nets  <cit> , the e-cell process variable model or graphical notations used in jdesigner or cellware belong to this class of graph.
as illustrated in figure  <dig>  co-dependence methodology models comprise, similar to bipartite graphs, two different kinds of node, called species and process.
in their notational rendering, rectangles represent molecular species and clouds denote transformation or transport processes.
directed links are used to describe a dependency between two nodes and represent either material or informational flow.
thick-lined arrows represent material flow and are always connected between reaction and species nodes.
thin-lined, dashed links represent informational flow and can connect species with process nodes or directly relate two process nodes.
a novel aspect in the co-dependence notation is the explicit labeling of information sources using small, unfilled circles.
interpreted dynamically, information sources are considered as mathematical variables that are integrated into the function or rate law of their associated process.
this is illustrated in figure 3c by the small co-dependence model and its corresponding equations.
species a and species b, for instance, have an influence on the process transforming species a, b and c.
a thick arc in combination with a small circle indicates that there exists material as well as informational flow between a species and a process node.
in this co-dependent relationship between a species and a process, the species influences the process that is transforming the species.
co-dependence models are fully isomorph to systems of ordinary differential equations .
the rate of change of each species represents an ode and, as shown in figure 3c and figure 3d, it is the visual emphasis of information sources in the co-dependence notation  that enables the presentation of the individual factors playing a functional role in the odes.
process nodes that are representing the transformation of species are then describing the coupling of the odes.
an additional novel aspect of the co-dependence notation is the optional use of information processing nodes to represent constants or computed logical entities such as rate constants, external stimuli or genetic switches.
information processing nodes also belong to the class of process nodes, yet, as shown in figure 3d, they are rendered as large circles.
information processing nodes also serve as information sources and can be linked to other process nodes accordingly.
thus, links in co-dependence models cannot only connect species nodes with process nodes but can also directly relate two or more process nodes with each other.
this facilitates the representation of both species transformation and information processing within a single conceptual framework.
from a graph-theoretical point of view the visual representation of information processing is made possible by defining a link or edge type which is able to connect process and species nodes as well as relating two process nodes.
such an informational relation between two process nodes has no direct biochemical interpretation and therefore is not considered in notations derived from biochemical pathway diagrams.
yet, as we shall demonstrate, this extension is extremely useful when incorporating abstractions or additional information into models as is for example required when integrating biochemical and biophysical aspects in one model.
consequently, in co-dependence models, process nodes describe both the transformation of concentration levels of their participating species as well as the processing and supply of information.
in particular, the ability to link processes informationally is of considerable value in scenarios illustrated by the following four scenarios.
scenario 1: incorporating exogenous variables
a link between two process nodes can describe how exogenous factors affect a biological system.
for example, klipp et al.
describe the phosphorelay mechanism of the yeast high osmolarity glycerol  pathway which controls the transcriptional response of yeast cells to high osmolarity  <cit> .
in the phosphorelay model depicted in figure  <dig>  we present graphically the individual species and their state transitions of the phosphorelay mechanism.
we further show that species sln <dig> is directly affected by the turgor pressure which again depends on the internal and external osmotic pressure.
thus, we can visually describe which species is contributing as an osmosensor to the regulation of the hog pathway and how this species depends on various biophysical influences.
scenario 2: describing detailed steps of information processing
scenario 3: reducing diagram complexity with auxiliary processes
in ode-based modeling, differential-algebraic equations are often used to reduce the complexity of the differential equations by simplifying their right-hand expressions with auxiliary variables.
biochemical models frequently make use of this method.
however, although sbml's assignmentrule tag provides support for it, the process nodes in narrator can improve the readability of equation systems by structuring information processing in a similar way.
differential-algebraic equations thus translate to co-dependence models without any increase in diagram complexity.
in signaling models, auxiliary variables are sometimes used to describe the concentration, activity or any other property of a protein which is represented as multiple species due to the existence of protein modifications.
for example, in a model describing the mitotic activation of the tyrosine kinase src  <cit> , a process node called src_activity is used to calculate the total enzymatic activity of that kinase.
in the model depicted in figure  <dig>  src is represented in four different phosphorylation states.
due to allosteric effects each state contributes to kinase activity to a different degree .
the value of the src_activity node is then reused in processes that represent reactions catalyzed by this kinase .
similarly, in the co-dependence interpretation of the cell cycle model describing chemical oscillations in the early embryonic development of the frog xenopus laevis embryos  <cit>  , we also make use of an auxiliary process node to structure the composition and usage of the pool of all removed forms of cyclin:cdk <dig> dimers contained in the model.
this variable pool is defined as auxiliary variable in the differential-algebraic equation system  <cit>  and could be seamlessly translated into the co-dependence notation.
both examples  illustrate how the proliferation of links can be avoided by introducing auxiliary process nodes.
scenario 4: emphasizing important process parameters
quantitative models of biological processes strongly depend on constant parameters such as hill coefficients, half-saturation constants, rate constants or specific growth and degradation rates.
in a co-dependence model we can describe selected parameters explicitly with process nodes to emphasize their importance to the overall model or to allow direct manipulation of the parameter value via our software tool narrator.
in all abovementioned examples it is up to the modeler to decide which level of detail is appropriate for a model.
for example, if we incorporated only biochemical transformation processes into our model it would look very similar to other bipartite approaches such as hybrid object net  <cit>  or e-cell  <cit> .
on the other hand, information processing structures resemble the models of the system dynamics methodology.
in this method, developed by forrester  <cit> , dynamic system models are built with stock and flow diagrams which implement the principle of accumulation  <cit> .
here, dynamic behavior is described by flows that accumulate in stocks and a third node type called converter can be used to describe graphically the information processing in a system.
this graphical notation however is not suitable for modeling stoichiometric relations in metabolic reactions and thus is not applicable to biochemical modeling  <cit> .
as shown in figure 3e, the co-dependence methodology provides a mechanism for decomposing complex systems into simpler elements called compartments.
compartments may themselves contain other nested elements  <cit> .
this hierarchical structure allows to model systems of any appreciable complexity and is also implemented in narrator.
this mechanism can be used to encapsulate parts of a model that correspond to one cell compartment but it can be also useful to provide different levels of detail of a model or to integrate a set of models as submodels into one model.
implementation
narrator primarily implements the co-dependence methodology which comprises the four components depicted in figure 2: graphical notation, model structure, formalism mapping and, so far, three implemented mappings .
the visual or graphical notation defines the symbols and diagrammatic elements and the syntactic and semantic rules on how to use these to compose visual depictions of co-dependence models.
the model structure components describe the data and information structures facilitating the instantiation of graphically specified co-dependence models and their mapping into a mathematical formalism or representation language, providing computability  and shareability  of co-dependence models.
currently three mappings have been implemented.
details of the co-dependence methodology have been reported previously in the literature  <cit> .
the software architecture of narrator is depicted in figure  <dig>  in the diagram the four main conceptual elements of the co-dependence methodology are clearly visible.
architecture and workflow
narrator is implemented in java  <dig> on the basis of the model-view-controller design pattern, which separates core  model functionality from the presentation and control logic that uses this functionality  <cit> .
narrator models
each model created using narrator contains one root compartment, which in turn can contain additional compartments, processes and species.
the relationship among the classes link, process and species further enables the mapping to and execution of numerical simulations of narrator models directly within the model structure.
process objects coordinate via link objects the augmentation and depletion of the concentration levels represented by species objects.
as shown in figure  <dig>  link objects can associate node and process objects for this purpose.
similarly, the class structure can be used to instantiate and simulate stochastic processes.
currently, narrator implements gillespie's direct method  <cit>  where the runtime function values in the process nodes determine the probability of each reaction to occur in a certain time interval.
this time interval is also calculated probabilistically, and when a reaction occurs, all participating species objects are updated according to their stoichiometry, which can be defined through link objects.
reporters
narrator provides two reporting components to present the resulting dynamics data of a narrator model.
these are portraits and tables respectively.
portraits are based on the open-source chart library jfreechart  <cit>  and can either be used to generate time-series plots or phase plots.
tables present the time-dependent development of selected variables and can export their information as ascii-formatted files.
animation
the user can visually simulate the dynamics of the model by animating the species nodes of the graphical network.
as shown in figure  <dig>  species nodes are graphically filled and depleted during simulation and thus facilitate visual monitoring the overall dynamics of the system.
sbml export and import
to facilitate a standard-compliant exchange of co-dependence models, narrator provides an export and import mechanism for storing co-dependence models in sbml level  <dig> version  <dig>  <cit> .
however, narrator does only embrace elements of the sbml language that match to elements of the co-dependence methodology.
essentially, these are species, reactions, parameters, rules and the assignment of initial values or functions for these components.
narrator does currently not support unit and function definitions and provides no automatic mechanisms to layout imported sbml models.
consequently, narrator cannot read all sbml models created by other sbml-platforms, but sbml models created with narrator are sbml compatible.
for transforming mathematical string expressions into mathml we make use of the open-source library jeks  <cit>  and for reading mathml elements we us the class jigcell.sbml <dig> math.mathmlconvertor which is part of the open-source distribution jigcell  <cit> .
RESULTS
to evaluate narrator, we described and simulated a model of the protein kinase c  pathway taken from pettinen et al.
<cit>  which used this pathway model as a test case for comparing and evaluating different simulation tools for biochemical networks.
in their study pettinen et al.
emphasize the importance of usability and the benefits of exchanging standards, and conclude that simulation tools should support the integration of exogenous variables for the modeling of stimuli since biological systems are not separated from their environment.
another important feature discussed in this article is the automatic estimation of parameters where no information is available.
the pkc model contains  <dig> differential equations and two further reactants which are kept constant in the simulation.
based on the ode definition of the model  <cit>  we built the pkc model with narrator  and simulated its dynamics.
to evaluate the integration methods of narrator, we compared the simulation results of narrator using runge-kutta  <dig> and the numerical computation tool octave  <cit>  which uses the livermore solver for ordinary differential equations  <cit> .
as figure  <dig> shows, minimal differences between the two simulation runs could be observed.
for running this model, the simulation time of octave equals the simulation time of narrator when using the implemented runge-kutta  <dig> method and step size of  <dig>  seconds.
simulation time using copasi however, showed to be significantly faster.
a larger section of the pkc model described with narrator is shown in figure  <dig>  where we use the process castimulus linked to the reaction r <dig> to model the exogenous ca2+ stimulus for the pkc pathway following a sine wave with time period of  <dig> seconds.
we used the same model to evaluate the sbml compatibility of narrator.
the pkc narrator model was exported into sbml and the generated xml file was validated with the sbml validator available on the sbml web site  <cit> .
sbml confirmed that the exported file adhered with the sbml format.
we also imported this xml file successfully into the sbml platform copasi after setting the stimulus of ca2+ to a constant value.
in another recent study by alves and co-workers  <cit> ,  <dig> kinetic modeling tools of biochemical networks have been compared and evaluated according to a variety of criteria addressing systems requirements, cross-compatibility, diagrammatic user interfaces or analytical capabilities of the simulators.
as shown in table  <dig>  we have used these criteria to summarize the functions and features of narrator.
narrator provides a set of example models which are directly accessible via the menu bar.
some models are taken from klipp et al.
<cit>  and demonstrate narrator's ability to model and exchange small systems and to simulate their dynamic behavior.
the other models are example models developed for this study and in earlier work introducing the co-dependence methodology  <cit> .
discussion
in general, graphical notations of systems biology tools are designed to capture critical elements that determine the structure and govern the behavior of a biological system or process.
some of the existing notations and tools emphasize the structural and others the behavioral dimension.
typically, structure-oriented notations use a plethora of graphical symbols and notational conventions to characterize qualitative details of species types and their biochemical transformations.
dynamics-oriented notations, on the other hand, capture information relevant mainly to the dynamic aspects of a system and usually subsume different species and transformation types within a small collection of graphical symbols .
prominent structure-oriented notations include molecular interaction maps   <cit> , process diagrams  <cit> , and the edinburgh  <cit>  notation.
to ensure efficient and correct use of these notations, many have been implemented in graph-based modeling tools  and are accompanied by simulation environments .
mims however lack of software tools to assist the use of this graphical notation.
the graphical notation of the narrator software tool emphasizes the development and exploration of dynamic models.
this is explained by narrator's main focus on the dynamic structure and properties of a biological system.
with regard to sbml, structure-oriented notations correspond to sbml including systems biology ontology terms for the sbml model elements, while dynamics-oriented notations can be understood as the notational counterpart of pure sbml, focusing on the dynamic description of biochemical models.
in sbml level  <dig> version  <dig>  systems biology ontology  terms  <cit>  can be optionally integrated into sbml model elements.
the motivation of the sbo effort is to provide controlled vocabularies tailored to systems biology.
in addition to facilitating consistency and sharing, sbo will also support visual rendering of the biochemical reactions.
a recently initiated effort called systems biology graphical notation aims to develop and standardize a structure-oriented graphical notation for representing biochemical networks  <cit> .
once available, this standard is likely to make user interfaces, model development, sharing and communication, and system interoperation more effective and efficient  <cit> .
there are many methods listed in table  <dig>  such as methods for the automatic estimation of parameters values or steady-state analysis, that narrator currently does not support but which do other modeling tools support.
copasi for instance integrates diverse numerical methods used in systems biology comprising deterministic, stochastic and hybrid numerical integration methods.
theses methods can, for example, divide networks into deterministic and stochastic subnetworks which run significantly faster than pure stochastic networks, or can deal with the numerical integration of deterministic networks in the presence of stiffness  <cit> .
similarly, cellware provides an extensive algorithm library also comprising deterministic, stochastic and hypbrid integration methods  <cit> .
the very special feature of cellware however is that it is grid enabled supporting the distributed simulation of larger biochemical networks  <cit> .
for 2d and 3d simulations virtual cell provides integrations methods for solving odes and partial differential equations.
these methods can then be used for calculating the reaction and diffusion equation on arbitrary surfaces.
copasi, cellware and virtual cell also provide parameter estimation and parameter scan components.
some tools such as jdesigner and celldesigner have an interface to the systems biology workbench   <cit>  which is an open source framework for connecting different software applications for modeling, analyzing or visualizing biochemical network models.
via the sbw interface, jdesigner for example uses the script based biochemical network simulation tool jarnac  <cit>  as a simulation server.
while ongoing developments implement more features such as bifurcation analysis, the objective of narrator is not to cover the full spectrum of systems biology methods.
instead, the emphasis of narrator and one of its major advantages over similar tools lies in the expressiveness and intuitiveness of its graphical notation and the sophisticated and highly usable implementation of a gui supporting the use of this notation in the context of dynamics modeling and simulation.
the focus of copasi, for example, lies in the many numerical integration, parameter estimation and parameter scan methods.
the graphical user interface of copasi, however, is based on simple dialog boxes providing entry masks to define the chemical equation and rate expression for each reaction.
the dynamics-based graphical design tools of jdesigner, virtual cell and cellware, on the other hand, are based on directed hypergraphs or bipartite graphs.
as shown in figure  <dig> and discussed above , a possibility which is not explicitly allowed in such approaches is the ability to represent non-biological information sources such as temperature or osmotic pressure and their biological information processing accordingly.
as also demonstrated above, the unique feature of narrator, to link process nodes informationally, is a valuable modeling tool in many modeling scenarios and is not supported by the graphical notations of the abovementioned tools since edges in bipartite and hypergraph approaches can only relate biological species to processes or reactants to products.
the fundamental structure of the structure-based graphical notation of celldesigner is similar to directed hypergraphs and thus has the same restrictions in this respect.
CONCLUSIONS
narrator uses the simple, intuitive graphical notation of co-dependence models  <cit>  to express the dynamics of a biological system.
a co-dependence model describes dynamical relationships between the components of a system.
narrator simulates the behavior of such a system as an unfolding 'narrative' played out among the components.
narrator is a stand-alone java application for the graph-based modeling of dynamic network structures of biochemical systems.
it extends the visual description of species transformation with the notion of information processing and therefore introduces a new concept into the multitude of graphical modeling tools used in the field of systems biology.
here, the provided intuitive design tool, which implements the co-dependence notation, supports the model building in a way that is accessible without an advanced mathematical background but which is still more oriented to mathematical dynamic systems than to biochemical pathway diagrams.
this makes narrator also applicable to any discipline requiring dynamic modeling.
the primary purpose of narrator is to facilitate the creation and manipulation of computational models.
therefore, an ongoing effort in the development of narrator is to maintain and improve the tool's sbml compatibility allowing a further exploration of narrator models with simulation and analysis methods implemented in other tools.
availability and requirements
narrator is available at  <cit>  under the lesser gnu public license.
the tool is entirely written in java and runs with java  <dig>  it is platform-independent, which we have approved on windows, unix and mac os x machines.
additional information on installation and usage is also provided at  <cit> .
the source code for narrator is available at sourceforge .
authors' contributions
jjm and nmp developed the idea of co-dependence modeling and developed the software tool narrator.
hf was involved in the implementation and gave a realistic user perspective.
wd guided the development of this project.
all authors read and approved the final version of the manuscript

 motivation one goal of investigating the dynamic behavior of biochemical systems and processes is to understand biological causality in terms of regulation and control mechanisms. computerized mathematical models of such dynamic behavior have become an important methodology in the pursuit of this goal. many modeling and simulation tools have been reported in the literature. the systems biology markup language web site lists more than such tools, all of which adhere to the sbml standard, facilitating the exchange of biochemical reaction network models. in addition to systems modeling and simulation tools, the sbml site posts a large number of tools addressing other tasks, including tools to convert sbml files into other languages or formats, to modify and combine different sbml files, and to interactively analyze and explore a large number of already developed biological models. several excellent tools have been developed for modeling and simulating biochemical networks, some of which provide sophisticated, gui-based design tools for visual model development. most of these tools are freely available as software packages or as online tools. examples include copasi, virtual cell, jdesigner, cellware and celldesigner, which are well developed and widely used in the systems biology community. a critical weakness of the symbolic notations of these tools is their lack of supporting an integrative representation of biological transformation and transportation processes as well as biological information processing. within the context of this work, we define species transformation as the alteration or change of species participating in biochemical processes. examples of species transformation include stoichiometric reactions, enzymatic reactions, synthesis and degradation processes or modification processes such as methylation and phosphorylation. biological transport refers to processes that transport organic, biochemical or inorganic substances between or within cells. protein translocation across subcellular compartments or material flow through biological membranes are examples of biological transport. biological information processing controls the processes involved in species transformation and species transport. by processing the information provided by one or more information sources and by regulating biological transport and transformation processes accordingly, biological systems can control both the maintenance of a state and also state transitions from one state to the next. based on this definition information sources can be of different biological and non-biological nature such as a set of transcription factors controlling the expression of a gene, or physical parameters influencing a biological process. typical examples of biological information processing include gene regulatory processes and cell-cell or cell-environment interactions mediated through receptor proteins. to simultaneously model species transformation and biological information processing is important because only this integrative approach can describe biochemical processes including the influencing factors that control such processes and their interplay. for example, a model of osmotic shock in yeast should capture species transformation and information processing because it is not possible to formulate the causal dependencies of osmotic shrinking and swelling of yeast cells by defining transformation processes exclusively. instead the processing of internal and external ion concentration levels is fundamental in the response processes initiated by the yeast cells and thus must be integrated into the model to provide contextual causality of the underlying system. while the main focus of most existing tools is placed on the description of species transformation, the modeling of information processing which controls such transformations is an important feature missing in those tools. the main novelty of the narrator tool is that it facilitates the integrative modeling and simulation of biological transformation, transport and information processing. the following illustrative example is to demonstrate the necessity of an integrative modeling approach that combines transformation and information processing. it is based on a model of osmotic shock in yeast and was developed by klipp and coworkers. this model, illustrated in figure integrates biochemistry and biophysics. while the control system involving signal transduction, gene regulation, metabolic transformation and glycerol transport, can be seamlessly described with the abovementioned tools, it is difficult to represent the biophysical system, which involves information or signal processing, with the graphical notations provided by these tools. the development of the narrator software tool was driven by the need to model and simulate such multi-modal biological systems. co-dependence models the narrator tool presented in this paper implements the co-dependence methodology, which consists of a set of concepts and tools facilitating the modeling and simulation of biological systems and processes. among others, the development of this methodology was guided by the following needs: the methodology should enable life scientists to express the full complexity of biological functioning, including species transport, transformation and information processing which guides these processes. provide a visual or graphical notation suitable for use in informal pen-and-paper discussions and implementation as sophisticated graphical user interface of computerized modeling tools. be executable on a computer to enable the testing of proposed dynamics in silico. the conceptual architecture of the co-dependence methodology can be divided into four layers. narrator's notation layer at the top provides a flexible and intuitive visual or graphical notation facilitating the specification of a wide range of biological functioning and information processing mechanisms. each model in narrator is captured at the canonical model structure layer, which represents the basic modeling abstractions and concepts. the components at the model structure level are also used to realize the mapping of the model into various formal or mathematical frameworks, schemes or languages. finally, the formalism layer represents the different types of formal and mathematical languages in which models developed in narrator can be expressed to facilitate computation and sharing. currently three of such formalisms are supported: ordinary differential equations, gillespie's direct method and sbml. co-dependence notation most notations currently used in systems biology tools facilitate the description of conventional biochemical pathways and are based on mathematical bipartite graphs or directed hypergraphs. a bipartite graph is defined by a set of graph vertices decomposed into two disjoint sets such that no two graph vertices within the same set are adjacent, i.e., they are not joined by a graph edge. a directed hypergraph is a graph in which generalized edges may connect more than two nodes. the two types of graphs have been shown to be equivalent when used for representing transport and transformation of chemical species. in bipartite graphs, there are two kinds of node, and no edge can relate nodes of the same kind. this is useful for linking biological species to processes or reactants to products. hyperarcs of directed hypergraphs can be used to relate sets of reactants to sets of products, where each set belong to the same kind of node. additionally, both notations can represent inhibitory and stimulatory dependencies between chemical species and their transformation processes. petri nets, the e-cell process variable model or graphical notations used in jdesigner or cellware belong to this class of graph. as illustrated in figure co-dependence methodology models comprise, similar to bipartite graphs, two different kinds of node, called species and process. in their notational rendering, rectangles represent molecular species and clouds denote transformation or transport processes. directed links are used to describe a dependency between two nodes and represent either material or informational flow. thick-lined arrows represent material flow and are always connected between reaction and species nodes. thin-lined, dashed links represent informational flow and can connect species with process nodes or directly relate two process nodes. a novel aspect in the co-dependence notation is the explicit labeling of information sources using small, unfilled circles. interpreted dynamically, information sources are considered as mathematical variables that are integrated into the function or rate law of their associated process. this is illustrated in figure 3c by the small co-dependence model and its corresponding equations. species a and species b, for instance, have an influence on the process transforming species a, b and c. a thick arc in combination with a small circle indicates that there exists material as well as informational flow between a species and a process node. in this co-dependent relationship between a species and a process, the species influences the process that is transforming the species. co-dependence models are fully isomorph to systems of ordinary differential equations. the rate of change of each species represents an ode and, as shown in figure 3c and figure 3d, it is the visual emphasis of information sources in the co-dependence notation that enables the presentation of the individual factors playing a functional role in the odes. process nodes that are representing the transformation of species are then describing the coupling of the odes. an additional novel aspect of the co-dependence notation is the optional use of information processing nodes to represent constants or computed logical entities such as rate constants, external stimuli or genetic switches. information processing nodes also belong to the class of process nodes, yet, as shown in figure 3d, they are rendered as large circles. information processing nodes also serve as information sources and can be linked to other process nodes accordingly. thus, links in co-dependence models cannot only connect species nodes with process nodes but can also directly relate two or more process nodes with each other. this facilitates the representation of both species transformation and information processing within a single conceptual framework. from a graph-theoretical point of view the visual representation of information processing is made possible by defining a link or edge type which is able to connect process and species nodes as well as relating two process nodes. such an informational relation between two process nodes has no direct biochemical interpretation and therefore is not considered in notations derived from biochemical pathway diagrams. yet, as we shall demonstrate, this extension is extremely useful when incorporating abstractions or additional information into models as is for example required when integrating biochemical and biophysical aspects in one model. consequently, in co-dependence models, process nodes describe both the transformation of concentration levels of their participating species as well as the processing and supply of information. in particular, the ability to link processes informationally is of considerable value in scenarios illustrated by the following four scenarios. scenario 1: incorporating exogenous variables a link between two process nodes can describe how exogenous factors affect a biological system. for example, klipp et al. describe the phosphorelay mechanism of the yeast high osmolarity glycerol pathway which controls the transcriptional response of yeast cells to high osmolarity. in the phosphorelay model depicted in figure we present graphically the individual species and their state transitions of the phosphorelay mechanism. we further show that species sln is directly affected by the turgor pressure which again depends on the internal and external osmotic pressure. thus, we can visually describe which species is contributing as an osmosensor to the regulation of the hog pathway and how this species depends on various biophysical influences. scenario 2: describing detailed steps of information processing scenario 3: reducing diagram complexity with auxiliary processes in ode-based modeling, differential-algebraic equations are often used to reduce the complexity of the differential equations by simplifying their right-hand expressions with auxiliary variables. biochemical models frequently make use of this method. however, although sbml's assignmentrule tag provides support for it, the process nodes in narrator can improve the readability of equation systems by structuring information processing in a similar way. differential-algebraic equations thus translate to co-dependence models without any increase in diagram complexity. in signaling models, auxiliary variables are sometimes used to describe the concentration, activity or any other property of a protein which is represented as multiple species due to the existence of protein modifications. for example, in a model describing the mitotic activation of the tyrosine kinase src, a process node called src_activity is used to calculate the total enzymatic activity of that kinase. in the model depicted in figure src is represented in four different phosphorylation states. due to allosteric effects each state contributes to kinase activity to a different degree. the value of the src_activity node is then reused in processes that represent reactions catalyzed by this kinase. similarly, in the co-dependence interpretation of the cell cycle model describing chemical oscillations in the early embryonic development of the frog xenopus laevis embryos, we also make use of an auxiliary process node to structure the composition and usage of the pool of all removed forms of cyclin:cdk dimers contained in the model. this variable pool is defined as auxiliary variable in the differential-algebraic equation system and could be seamlessly translated into the co-dependence notation. both examples illustrate how the proliferation of links can be avoided by introducing auxiliary process nodes. scenario 4: emphasizing important process parameters quantitative models of biological processes strongly depend on constant parameters such as hill coefficients, half-saturation constants, rate constants or specific growth and degradation rates. in a co-dependence model we can describe selected parameters explicitly with process nodes to emphasize their importance to the overall model or to allow direct manipulation of the parameter value via our software tool narrator. in all abovementioned examples it is up to the modeler to decide which level of detail is appropriate for a model. for example, if we incorporated only biochemical transformation processes into our model it would look very similar to other bipartite approaches such as hybrid object net or e-cell. on the other hand, information processing structures resemble the models of the system dynamics methodology. in this method, developed by forrester, dynamic system models are built with stock and flow diagrams which implement the principle of accumulation. here, dynamic behavior is described by flows that accumulate in stocks and a third node type called converter can be used to describe graphically the information processing in a system. this graphical notation however is not suitable for modeling stoichiometric relations in metabolic reactions and thus is not applicable to biochemical modeling. as shown in figure 3e, the co-dependence methodology provides a mechanism for decomposing complex systems into simpler elements called compartments. compartments may themselves contain other nested elements. this hierarchical structure allows to model systems of any appreciable complexity and is also implemented in narrator. this mechanism can be used to encapsulate parts of a model that correspond to one cell compartment but it can be also useful to provide different levels of detail of a model or to integrate a set of models as submodels into one model. implementation narrator primarily implements the co-dependence methodology which comprises the four components depicted in figure 2: graphical notation, model structure, formalism mapping and, so far, three implemented mappings. the visual or graphical notation defines the symbols and diagrammatic elements and the syntactic and semantic rules on how to use these to compose visual depictions of co-dependence models. the model structure components describe the data and information structures facilitating the instantiation of graphically specified co-dependence models and their mapping into a mathematical formalism or representation language, providing computability and shareability of co-dependence models. currently three mappings have been implemented. details of the co-dependence methodology have been reported previously in the literature. the software architecture of narrator is depicted in figure in the diagram the four main conceptual elements of the co-dependence methodology are clearly visible. architecture and workflow narrator is implemented in java on the basis of the model-view-controller design pattern, which separates core model functionality from the presentation and control logic that uses this functionality. narrator models each model created using narrator contains one root compartment, which in turn can contain additional compartments, processes and species. the relationship among the classes link, process and species further enables the mapping to and execution of numerical simulations of narrator models directly within the model structure. process objects coordinate via link objects the augmentation and depletion of the concentration levels represented by species objects. as shown in figure link objects can associate node and process objects for this purpose. similarly, the class structure can be used to instantiate and simulate stochastic processes. currently, narrator implements gillespie's direct method where the runtime function values in the process nodes determine the probability of each reaction to occur in a certain time interval. this time interval is also calculated probabilistically, and when a reaction occurs, all participating species objects are updated according to their stoichiometry, which can be defined through link objects. reporters narrator provides two reporting components to present the resulting dynamics data of a narrator model. these are portraits and tables respectively. portraits are based on the open-source chart library jfreechart and can either be used to generate time-series plots or phase plots. tables present the time-dependent development of selected variables and can export their information as ascii-formatted files. animation the user can visually simulate the dynamics of the model by animating the species nodes of the graphical network. as shown in figure species nodes are graphically filled and depleted during simulation and thus facilitate visual monitoring the overall dynamics of the system. sbml export and import to facilitate a standard-compliant exchange of co-dependence models, narrator provides an export and import mechanism for storing co-dependence models in sbml level version. however, narrator does only embrace elements of the sbml language that match to elements of the co-dependence methodology. essentially, these are species, reactions, parameters, rules and the assignment of initial values or functions for these components. narrator does currently not support unit and function definitions and provides no automatic mechanisms to layout imported sbml models. consequently, narrator cannot read all sbml models created by other sbml-platforms, but sbml models created with narrator are sbml compatible. for transforming mathematical string expressions into mathml we make use of the open-source library jeks and for reading mathml elements we us the class jigcell.sbml math.mathmlconvertor which is part of the open-source distribution jigcell.  to evaluate narrator, we described and simulated a model of the protein kinase c pathway taken from pettinen et al. which used this pathway model as a test case for comparing and evaluating different simulation tools for biochemical networks. in their study pettinen et al. emphasize the importance of usability and the benefits of exchanging standards, and conclude that simulation tools should support the integration of exogenous variables for the modeling of stimuli since biological systems are not separated from their environment. another important feature discussed in this article is the automatic estimation of parameters where no information is available. the pkc model contains differential equations and two further reactants which are kept constant in the simulation. based on the ode definition of the model we built the pkc model with narrator and simulated its dynamics. to evaluate the integration methods of narrator, we compared the simulation results of narrator using runge-kutta and the numerical computation tool octave which uses the livermore solver for ordinary differential equations. as figure shows, minimal differences between the two simulation runs could be observed. for running this model, the simulation time of octave equals the simulation time of narrator when using the implemented runge-kutta method and step size of seconds. simulation time using copasi however, showed to be significantly faster. a larger section of the pkc model described with narrator is shown in figure where we use the process castimulus linked to the reaction r to model the exogenous ca2+ stimulus for the pkc pathway following a sine wave with time period of seconds. we used the same model to evaluate the sbml compatibility of narrator. the pkc narrator model was exported into sbml and the generated xml file was validated with the sbml validator available on the sbml web site. sbml confirmed that the exported file adhered with the sbml format. we also imported this xml file successfully into the sbml platform copasi after setting the stimulus of ca2+ to a constant value. in another recent study by alves and co-workers, kinetic modeling tools of biochemical networks have been compared and evaluated according to a variety of criteria addressing systems requirements, cross-compatibility, diagrammatic user interfaces or analytical capabilities of the simulators. as shown in table we have used these criteria to summarize the functions and features of narrator. narrator provides a set of example models which are directly accessible via the menu bar. some models are taken from klipp et al. and demonstrate narrator's ability to model and exchange small systems and to simulate their dynamic behavior. the other models are example models developed for this study and in earlier work introducing the co-dependence methodology. discussion in general, graphical notations of systems biology tools are designed to capture critical elements that determine the structure and govern the behavior of a biological system or process. some of the existing notations and tools emphasize the structural and others the behavioral dimension. typically, structure-oriented notations use a plethora of graphical symbols and notational conventions to characterize qualitative details of species types and their biochemical transformations. dynamics-oriented notations, on the other hand, capture information relevant mainly to the dynamic aspects of a system and usually subsume different species and transformation types within a small collection of graphical symbols. prominent structure-oriented notations include molecular interaction maps, process diagrams, and the edinburgh notation. to ensure efficient and correct use of these notations, many have been implemented in graph-based modeling tools and are accompanied by simulation environments. mims however lack of software tools to assist the use of this graphical notation. the graphical notation of the narrator software tool emphasizes the development and exploration of dynamic models. this is explained by narrator's main focus on the dynamic structure and properties of a biological system. with regard to sbml, structure-oriented notations correspond to sbml including systems biology ontology terms for the sbml model elements, while dynamics-oriented notations can be understood as the notational counterpart of pure sbml, focusing on the dynamic description of biochemical models. in sbml level version systems biology ontology terms can be optionally integrated into sbml model elements. the motivation of the sbo effort is to provide controlled vocabularies tailored to systems biology. in addition to facilitating consistency and sharing, sbo will also support visual rendering of the biochemical reactions. a recently initiated effort called systems biology graphical notation aims to develop and standardize a structure-oriented graphical notation for representing biochemical networks. once available, this standard is likely to make user interfaces, model development, sharing and communication, and system interoperation more effective and efficient. there are many methods listed in table such as methods for the automatic estimation of parameters values or steady-state analysis, that narrator currently does not support but which do other modeling tools support. copasi for instance integrates diverse numerical methods used in systems biology comprising deterministic, stochastic and hybrid numerical integration methods. theses methods can, for example, divide networks into deterministic and stochastic subnetworks which run significantly faster than pure stochastic networks, or can deal with the numerical integration of deterministic networks in the presence of stiffness. similarly, cellware provides an extensive algorithm library also comprising deterministic, stochastic and hypbrid integration methods. the very special feature of cellware however is that it is grid enabled supporting the distributed simulation of larger biochemical networks. for 2d and 3d simulations virtual cell provides integrations methods for solving odes and partial differential equations. these methods can then be used for calculating the reaction and diffusion equation on arbitrary surfaces. copasi, cellware and virtual cell also provide parameter estimation and parameter scan components. some tools such as jdesigner and celldesigner have an interface to the systems biology workbench which is an open source framework for connecting different software applications for modeling, analyzing or visualizing biochemical network models. via the sbw interface, jdesigner for example uses the script based biochemical network simulation tool jarnac as a simulation server. while ongoing developments implement more features such as bifurcation analysis, the objective of narrator is not to cover the full spectrum of systems biology methods. instead, the emphasis of narrator and one of its major advantages over similar tools lies in the expressiveness and intuitiveness of its graphical notation and the sophisticated and highly usable implementation of a gui supporting the use of this notation in the context of dynamics modeling and simulation. the focus of copasi, for example, lies in the many numerical integration, parameter estimation and parameter scan methods. the graphical user interface of copasi, however, is based on simple dialog boxes providing entry masks to define the chemical equation and rate expression for each reaction. the dynamics-based graphical design tools of jdesigner, virtual cell and cellware, on the other hand, are based on directed hypergraphs or bipartite graphs. as shown in figure and discussed above, a possibility which is not explicitly allowed in such approaches is the ability to represent non-biological information sources such as temperature or osmotic pressure and their biological information processing accordingly. as also demonstrated above, the unique feature of narrator, to link process nodes informationally, is a valuable modeling tool in many modeling scenarios and is not supported by the graphical notations of the abovementioned tools since edges in bipartite and hypergraph approaches can only relate biological species to processes or reactants to products. the fundamental structure of the structure-based graphical notation of celldesigner is similar to directed hypergraphs and thus has the same restrictions in this respect.  narrator uses the simple, intuitive graphical notation of co-dependence models to express the dynamics of a biological system. a co-dependence model describes dynamical relationships between the components of a system. narrator simulates the behavior of such a system as an unfolding'narrative' played out among the components. narrator is a stand-alone java application for the graph-based modeling of dynamic network structures of biochemical systems. it extends the visual description of species transformation with the notion of information processing and therefore introduces a new concept into the multitude of graphical modeling tools used in the field of systems biology. here, the provided intuitive design tool, which implements the co-dependence notation, supports the model building in a way that is accessible without an advanced mathematical background but which is still more oriented to mathematical dynamic systems than to biochemical pathway diagrams. this makes narrator also applicable to any discipline requiring dynamic modeling. the primary purpose of narrator is to facilitate the creation and manipulation of computational models. therefore, an ongoing effort in the development of narrator is to maintain and improve the tool's sbml compatibility allowing a further exploration of narrator models with simulation and analysis methods implemented in other tools. availability and requirements narrator is available at under the lesser gnu public license. the tool is entirely written in java and runs with java it is platform-independent, which we have approved on windows, unix and mac os x machines. additional information on installation and usage is also provided at. the source code for narrator is available at sourceforge. authors' contributions jjm and nmp developed the idea of co-dependence modeling and developed the software tool narrator. hf was involved in the implementation and gave a realistic user perspective. wd guided the development of this project. all authors read and approved the final version of the manuscript 
they permit the user to represent the transport and transformation of chemical species and to define inhibitory and stimulatory dependencies. software tools that model and simulate the dynamics of biological processes and systems are becoming increasingly important. such guis are based on symbolic or graphical notations used to describe, interact and communicate the developed models. typically, these graphical notations are geared towards conventional biochemical pathway diagrams. narrator's gui is based on an expressive graphical notation which forms an integral part of the co-dependence methodology. behind the user-friendly gui, narrator hides a flexible feature which makes it relatively easy to map models defined via the graphical notation to mathematical formalisms and languages such as ordinary differential equations, the systems biology markup language or gillespie's direct method. narrator is a software tool facilitating the development and simulation of biological systems as co-dependence models. it is specifically intended for users aiming to construct and simulate dynamic models of biology without recourse to extensive mathematical detail. a critical weakness of existing tools is their lack of supporting an integrative representation of transport, transformation as well as biological information processing. the co-dependence methodology complements the representation of species transport and transformation together with an explicit mechanism to express biological information processing. thus, co-dependence models explicitly capture, for instance, signal processing structures and the influence of exogenous factors or events affecting certain parts of a biological system or process.
 software tools that model and simulate the dynamics of biological processes and systems are becoming increasingly important. some of these tools offer sophisticated graphical user interfaces, which greatly enhance their acceptance by users. such guis are based on symbolic or graphical notations used to describe, interact and communicate the developed models. typically, these graphical notations are geared towards conventional biochemical pathway diagrams. they permit the user to represent the transport and transformation of chemical species and to define inhibitory and stimulatory dependencies. a critical weakness of existing tools is their lack of supporting an integrative representation of transport, transformation as well as biological information processing.  narrator is a software tool facilitating the development and simulation of biological systems as co-dependence models. the co-dependence methodology complements the representation of species transport and transformation together with an explicit mechanism to express biological information processing. thus, co-dependence models explicitly capture, for instance, signal processing structures and the influence of exogenous factors or events affecting certain parts of a biological system or process. this combined set of features provides the system biologist with a powerful tool to describe and explore the dynamics of life phenomena. narrator's gui is based on an expressive graphical notation which forms an integral part of the co-dependence methodology. behind the user-friendly gui, narrator hides a flexible feature which makes it relatively easy to map models defined via the graphical notation to mathematical formalisms and languages such as ordinary differential equations, the systems biology markup language or gillespie's direct method. this powerful feature facilitates reuse, interoperability and conceptual model development.  narrator is a flexible and intuitive systems biology tool. it is specifically intended for users aiming to construct and simulate dynamic models of biology without recourse to extensive mathematical detail. its design facilitates mappings to different formal languages and frameworks. the combined set of features makes narrator unique among tools of its kind. narrator is implemented as java software program and available as open-source from. 