Discrete Visualizer of Dynamics Tutorial

  • Description
  • What is number of states per node input?
  • What is the number of nodes input?
  • Format of the input functions
  • What is update schedule
  • Format of input functions
  • Analysis of the state space
  • Trajectory of one initialization
  • Viewing the graphs
  • Limitations
  • Credits

  • Description

    DVD is a web-based tool for the visualization of the dynamics of multi-state, discrete models of biological networks. Multi-state discrete models are characterized by a collection of functions. For a network of n nodes, the corresponding discrete model will have n functions, where the i-th function describes the state transitions of the i-th node in the network. The user of the software provides the size of the state space, by indicating the number of nodes (n) and the number of possible states per node (m), and a text file containing transition (polynomial) functions. DVD computes the transition states from all possible initializations and outputs the analysis results as well as the graph of the state space.
    Return to the top

    What is number of states per node input?

    We will refer to this field as the m value. It is a number that denotes the cardinality of the state set of the user's discrete network. The software accepts positive integers upto 99. This value gives the total number of states that a node in the network can have. For example, if m value = 3, then the possible states for any node are 0, 1, and 2. Currently the software will not display the graph of the state space if m value is very high (see Limitations).
    Return to the top

    What is the number of nodes input?

    We will refer to this field as the n value. The number of nodes is the number of agents/nodes/constituents in the user's network. Since biological systems are finite in the number of agents/nodes/constituents, then number of nodes is assumed to be finite.
    Return to the top

    Format of the input functions

    Each node of the user's network is represented by a variable. Variable names are x1, x2, etc. Function names are f1, f2, etc. The convention is that fk is the function which describes the state transitions of the node represented by xk. The user can either upload a function file or edit/type functions in the text box provided. DVD wil use the functions from the input text box only when the user DOES NOT select a file to upload The functions should follow the following formatting rules:

    Figure a : Option to input functions by uploading a file or editing the functions in the input box
    Return to the top

    What is the update schedule input?

    This will determine the order in which to evaluate the functions.
  • Synchronous: all functions get evaluated at the same time
  • Sequential: the functions are evaluated in some specified order. The function indices must be entered in the input box provided with each index used exactly once and should be in the range 1 to n (number of nodes)
  • Return to the top

    Format of input functions

    The software provides the user withs the option to specify how the operations in the function file should be interpreted. For example, 'x1*x2' could be interpreted as polynomial multiplication of variables or as the Boolean AND operation. If the user provides functions that are in the Boolean format, DVD will convert the Boolean functions to polynomial functions to do the computations. The Boolean function file must adhere to the following format:

    Boolean operator Written as
    AND
    *
    OR
    +
    NOT
    ~

    The Boolean functions should also be fully bracketed infix expressions. For example, the Boolean function

    x1 OR x3 OR (x2 AND NOT x3)

    should be entered as

    ((x1+x3)+(x2*(~x3)))

    or

    (x1+(x3+(x2*(~x3))).

    In particular, please do not use unnecessary parenthesis. For example, the following is interpreted wrongly because of the extra parenthesis around x1:

    (x1*((x1)+x2)).
    Return to the top

    Analysis of the state space

    If the user selects the option to view the All trajectories from all possible initial states, the software computes the number of connected components in the state space, as well as some statistics of the components. It displays the number of states in a component and the length of the cycle. (Since these discrete models are finite, each component necessarily has a cycle. Because the models are deterministic - they are characterized by a set of rules, given by functions - there is only one cycle per component.) If there are fixed points (i.e., cycles of length 1), then it prints the state, along with the size of its component. If the user selects the option to view the graphs, the corresponding links will be displayed which will show the graph. Below is a snapshot of the output once the user enters the values in the interface and clicks on 'Generate'



    Figure b : Analysis of the state space generated using example functions from Figure a
    Return to the top

    Trajectory of one initialization

    The user can view the trajectory of one initialization only, if he selects that option. The input text box next to the option is where the user needs to provide the initialization. The states in the initialization should be separated by spaces. For example 1 0 0 0 1 , 2 0 3 2 1 or 11 12 10 0 1. It is important to separate the states by spaces in order for the software to distinguish between the different states. On clicking Generate, the trajectory will be printed in a vertical fashion (one on each line) and will stop once it finds a repeated pattern. If the user has selected the option to view the state space graph, a link will be displayed which will show the graph and the cycle will be colored. The initial states provided by the user will be in the box shaped node. Below is a snapshot of the trajectory generated using example functions from Figure a with initialization 2 0 1


    Figure c : Trajectory of a single initialization (2 0 1) generated using example functions from Figure a
    Return to the top

    Viewing the graph

    The user has an option to view the graph of the entire state space or a single trajectory in the state space, AND the dependency graph of the network described by the input functions. The user can also select the format of the image file from the list of formats (gif, jpg, png and ps) Based on the users selection, a link to view the selected graph is available Fig (d) graph below is an example state space graph, Fig (e) graph below is the trajectory generated using initialization 2 0 1 and Fig (f) graph below is an example dependency graph

    Fig d

    Fig e

    Fig f
    Return to the top

    Limitations

    The drawing of the state space is done by the graphics software GraphViz. Due to limitations in viewing, we restrict the total number of states in the state space to 1000; that is, m^n <= 1000, where m = m value and n = number of nodes.
    Return to the top

    Credits

    Hussein Vastani (Developer)
    Nick Eriksson (Developer)
    Reinhard Laubenbacher
    Abdul Jarrah
    Brandilyn Stigler
    Franziska Hinkelmann (Please email us if you have any problems)