OVERVIEW TUTORIAL ABOUT DOWNLOAD SQUAD (v2.0)

SQUAD Tutorial

Introduction

SQUAD is a software for the dynamic modelling of regulatory networks using a standardized qualitative dynamic approach. Briefly, this methodology uses a Boolean modelling technique to identify all the stady states of a network solely based on the topology (i.e. without the need of fitting kinetic data). A system of standardized ordinary differential equations is then used to simulate the dynamic behaviour of the network in time. This detailed tutorial provides details on how to use SQUAD. If you are using software for the first time we reccomend using the QUICK-START istructions before looking at the detailed tutorial.

The methodology can be divided in four parts, accessible through the links below:

For a description of the file formats used by ENFIN:SQUAD:

LOADING A NETWORK

There are three tab windows, named General info, Dynamic simulation and Simulation data. You are able to navigate among them at any time, but their buttons and actions might be deactivated until some appropriate data appear. By default, SQUAD presents to you the General info tab, where data regarding the loaded data is displayed.

Data describing the topology of the network can be loaded into squad using the Load network button or using the File menu. After loading a network, the General info tab of SQUAD will display three basic information items: the name of the loaded file, the number of nodes and the number of edges (interactions) of the network.

Squad main windowenfin:squad:squad_loading_network.jpgenfin:squad:squad_loaded_network.jpg

SQUAD supports three different file formats: net, mml and xml:sbml. The SAMPLES FOLDER in the SQUAD installation directory provides examples of all of these file formats. A description is provided in the FILE FORMATS section of the tutorial.

Network visualization

Once the network has been loaded, it is possible to display its graphical representation by selecting the View|Graph menu option.

enfin:squad:squad_view_graph_menu.jpg

In this representation:

                                 > nodes are shown as circles
                                 > positive interactions as green arrows
                                 > negative interactions as red arrows
                             

enfin:squad:graph_visualization.jpgenfin:squad:graph_visualization_pick.jpg

When the Mouse mode is set to transform The Graph Visualizer allows to ZOOM and PAN, while in the picking mode the NODES CAN BE MOVED. The Save layout button saves the layout of the nodes in memory. Importantly, the layput will be lost when SQUAD is closed. To save the layout, the network has to be saved in mml format, using the file menu. The Save image button allows to save the visualization as a file.

IDENTIFICATION OF STEADY STATES

Using SQUAD we can analyze the long-term dynamical properties of the network, through the identification of steady states. This can be done by pressing the Run analysis button or selecting Run|Analysis of on the menu. A progress bar appears during the computation.

SQUAD identifies all the steady states of the netowrk usign a Reduced Order Binary Decision Diagram (ROBDD) algorithm. Using this methodology we can compute a set of subsequent states from an array of network states a in a single step. Hence, the state-space traversal can be performed very efficiently. Our implementation optimises the use of ROBDDs by finding steady states without testing all the possible states of the network, allowing analysis of large regulatory networks.

The steady states are identified using a discrete boolean model, where the nodes are described as active (value =1) or inactive (value=0). In order to identify the corresponding steady state in a continuous model (i.e. where the activity can also be expressed by intermediary values comprised between 0 and 1) SQUAD automatically performs a dynamic simulations for each steady state identified. This feature can be disabled using the Analysis|Settings menu. Once the analsysis is finished the dynamic simulation panel will appear.

enfin:squad:squad_steady_state_button.jpg The number of identified steady states are reported on the top right corner of the panel. To view the details of each steady state, click on the Load States button, the steady state selector panel will appear. For each steady state a table lists all the nodes with value > 0. To graphically overlay the steady state on the network graph click on the View button. The following color codes apply

                          > RED, Node value = 1 
                          > YELLOW, Node value < 1 AND > 0
                          > WHITE, Node value = 0

enfin:squad:squad_steady_state_selector.jpg

DYNAMIC SIMULATION

Running simulations

While the number and location of the stable steady states of the network constitutes the central information on the dynamical behavior of the system under analysis, it is possible to study its transitory behavior from a given initial state until it reaches a steady state. This can be done by indicating the initial values of all the variables representing the activation state of the nodes.

Below is a screenshot of the dynamic simulation panel, showing the sequence of events to perform a simulation.

enfin:squad:dynamic_simulation_panel.jpg

By default, SQUAD takes as initial state one of the steady states of the system, but you can select a different initial state using the (1)Steady state selector and/or change any state values (in the closed interval between 0 and 1) using the (2)nodes parameters table. Additionally if the data is available the parameters for the Decay and the Gain of each node can be modified.

Once the initial state of the dynamical has been set, it is possible to run a simulation, by pushing the (3) Initialize button. At this point the parameters are loaded into the SQUAD ODE solvers, the parameters table becomes un-editable and two new windows appear, a plot and a network graph. Following the initialization of the display you can launch the simulation using two options complete or progressive, depicted below.

enfin:squad:squad_complete_simulations.jpg enfin:squad:squad_progressive_simulations.jpg

  • Complete simulation: runs the entire simulation until a steady state is reached, or a user-set timepoint
  • Progressive simulation: runs the simulation in a step-wise manner

By default in the complete simulation the simulation stops when a steady state is reached. Altenratively the user can un-check the stop at steady state checkbox and specify a maximum timepoint to be reached together with the number of steps/time point. At the end of the simulation the results tab will appear. In the progessive simulation you can start or stop the simulation using the appropriate buttons. the speed slider allows to control the speed of the simulation. To view the numerical results, press the results button. Alternatively the reset button allows to reset the simulation.

The simulations are associated to two type of visualizations:

  • The activity plot, shows the activity of each node in function of the simulation time

enfin:squad:squad_plot.jpg

  • The graph plot, shows the activity of the nodes through the graph visualiation, where the color of the nodes ranges from white (activity = 0) to black (activity = 1).

enfin:squad:pathway_animation.gif

In the progressive mode the graph plot is particularly useful to visualize how a signal propagates through the network. By default the graph plot is shown with each new simulation, this can be disabled by un-checking the Always display network during simulations checkbox in the options group.

Viewing the results

Data is presented in tabular form, with the values of the variables presented for a series of small discrete time steps, starting from the indicated initial state, until the system reaches a steady state. This table is not editable, but the values can be saved, in a plain text file with tab-separated values, either by pushing the Save time series button, or selecting the File | Save simulation data menu option.

enfin:squad:squad_results_tab.jpg

Besides the numerical data, which is very useful for mathematical analysis, it is also possible to visualize the behavior of the dynamical system. SQUAD provides two visualization methods. The first is the canonical time-series plot, which appear in a separate window by pressing the Show time series plot button or selecting the View | Simulation as a time-series plot option.

enfin:squad:squad_plot.jpg

This plot can be printed and/or saved and/or customized by changing colors, axis labels, title and scale with a context menu that appears when right-clicking inside the plot.

The second form of visualization provided by SQUAD is what we call a VirtualBlot, which appears by pushing the Show VirtualBlot button or selecting the View | Simulation data as VirtualBlot option. The VirtualBlot represents the data in the same tabular form presented before, but instead of presenting the levels of activation as numbers, the values are presented as blots (as in dot-blots, phospho-blots, western-blots, etc.), where the width and intensity of bands are proportional to the activation of the nodes.

enfin:squad:squad_virtualblot.jpg

Up to now, we have described a continuous analysis pipeline starting from a network topology, up to the visualization of the dynamical behavior of the dynamical system describing such network. But, as we mentioned, data can be saved at different points of the analysis. This characteristic permits to start the analysis from different starting points, or from different variants of a given model. Indeed, in the File menu option you can see that it is possible to load not only a network topology, but also a previously saved files such as time series or virtual blots.

Since SQUAD needs only the time series data to make a graphic display, either a time series plot or a VirtualBlot, the software can be used not only as a network analysis tool but also as a visualization software of any time series that you might have as a tab-separated text file.

PERTURBATIONS

Perturbator Tool

The Perturbator tool allows to change the properties of a network during the simulation. The tool can be opened using the Advanced|Perturbator menu. The perturbations can affect all the aspects of the continuous system such as the state of a node, it's decay rate or the gain. It is thus possible to study complex network behaviours by performig sequential modifications during the simulations. The perturbations are defined in a file named Protocol which can be created using the Edit protocol button or loaded using the Load Protocol button. Below is a screenshot of the perturbator tool

enfin:squad:squad_perturbator.jpg

Protocol Editor Tool

The protocol Editor tool that helps to create or modify a Protocol File. We have designed this tool to quickly generate protocol files without the need manually edit the raw protocol files. The structure of the underlying protocol file can viewed by clicking on the Text View tab.

enfin:squad:squad_perturbator_editor_tool.jpg

If a protocol file has not been loaded in the Perturbator tool, the editor will display a default set of parameters (see Protocol File format for the details). If the steady states analysis has been performed, the steady found will be listed in the default protocol file to be used as initial state for the simulations.

Using the Editor you can:

  • Add a new Perturbation: Each perturbation will generate a new simulation. click on the perturbations node and click Add
  • Add a new Action-Node: Action nodes are associated to a perturbation and describe the modification to be performed to the network. click on the perturbation to which the node needs to be added, choose the type of action node to be added and click Add
  • Add a new State: A state defines an initial configuration used to start the simulations. click on states node and click Add
  • Add a new Active-Node: Each active-node element is associated with a state and defines the activation state of a node. click on states node to which the node needs to be added and click Add

It is also possible to modify the properties of an existing node by selecting the node and clicking on the Edit button. Alternatively the node can be deleted with the Delete button.

Upon exit, the changes in the protocol can be saved to file. If you choose NOT to save the protocol to file, the modified protocol will remain in memory and be used in the for the simulations, but will be lost upon exiting the Perturbator tool.

enfin:squad:squad_perturbator_editor_tool._save.jpg

Protocol file format

The Protocol for perturbations is described in xml format as shown in the example below or downloaded (THelper Perturbation). The file describes two simulations (IL-4 Pulse and Perturbation of Th2 state), both use the state TH0 as an initial state for the simulations. In the first simulation IL-4 is added at time 3.5. In the second simulation, after addtion of IL-4, IFN-g is added at time 10.0.

<protocol level="1.0"> <perturbations> <perturbation id="IL-4 Pulse" initialstate="TH0"> <singlepulse parameter="state" target="IL-4" time="3.5" value="1.0" /> </perturbation> <perturbation id="Perturbation of Th2 state" initialstate="TH0"> <singlepulse parameter="state" target="IL-4" time="3.5" value="1.0" /> <singlepulse parameter="state" target="IFN-g" time="10.0" value="1.0" /> </perturbation> </perturbations> <states> <state id="TH0" /> <state id="TH2"> <activenode id="GATA3" state="1.0" /> <activenode id="IL-10" state="1.0" /> <activenode id="IL-10R" state="1.0" /> <activenode id="IL-4" state="1.0" /> <activenode id="IL-4R" state="1.0" /> <activenode id="STAT3" state="1.0" /> <activenode id="STAT6" state="1.0" /> </state> <state id="TH1"> <activenode id="IFN-g" state="1.0" /> <activenode id="IFN-gR" state="1.0" /> <activenode id="IL-12R" state="0.0" /> <activenode id="SOCS1" state="1.0" /> <activenode id="T-bet" state="1.0" /> </state> </states> </protocol>

The protocol file is devided in two parts:

  • the perturbations section contains a list of perturbations to perform. For each perturbation a simulation will be performed
  • the states sections contains a list of states that can be used to as starting states for the simulation

Perturbation Element

Specifies an initial state and list of modifications to perform. Each perturbation element describes a separate simulation. The perturbation node contains Action-Node sub-elements that describe all the modifications to perform. <perturbation id="IL-4 Pulse" initialstate="Th0"> Attributes:

  • id → contains a descrition of the perturbation.
  • initialstate → refers to a state id that is used as an initial state for the simulation.

ActionNode Element

Describes a modification of the properties of the network at a given timepoint during the simulation. Different type of action nodes exist according to the duration of the modification:

SINGLEPULSE The modification is performed once, at a given timepoint <singlepulse parameter="state" target="IL-4" time="3.5" value="1.0" />

RANGEPULSE The modification is perfomed constanly through a specified time lapse <rangepulse parameter="state" target="IL-4" timestart="3.5" timestop="5" value="1.0" />

CONSTANTPULSE The modification is perfomed throughout the simulation, starting at a specified timepoint <constantpulse parameter="state" target="IL-4" time="3.5" value="1.0" />

Attributes:

  • parameter → the parameter to modify [state, decay, gain].
  • target → the name of the target node to modify (has to match the name in the network file.
  • time → the time at which the modification starts (for singlepulse and constantpulse).
  • timestart → the time at which the modification starts (for rangepulse).
  • timestop → the time at which the modification stops (for rangepulse).
  • value → the modified value to set.

State Element

Describes a network state that can be used as an initial state for the simulation. The state tag contains a list of Active-Node elements that describe the state of each node in the network. If the node is not specified it's value by default is 0 (inactive). <state id="TH1"> Attributes:

  • id → name of the state.

ActiveNode Element

Describes the state of a node, if not specified the node's default state is 0. <activenode id="GATA3" state="1.0" /> Attributes:

  • id → name of the node.
  • state → state of the node (between 0 and 1).

INPUT FILE FORMATS

net file format (.net)

This is the simplest input format. The contents of the file are lines describing signaling interactions between two nodes of the network, as follows:

A -> B
B -> C
A -> D
D -| C
C -| A

In this notation, it is possible to have only two types of interactions; namely, activations and inhibitions, represented by → and -| respectively. Also, notice that this format allows for the inclusion of self-interactions by repeating the name of a node at both left and right of an interaction. Finally, avoid using spaces in the name of the nodes.

mml file format (.mml)

This is an xml formatted file that contains information on the node connectivity in additon to data concerning the dynamic simulations such as the decay rates and the weight of the relationships. When saving network information from SQUAD, the mml file format will be used. This allows to save all the current simulation data. an example of mml file can be found in the samples folder of the squad application.

SBML celldesigner file format (.xml)

We integrated into SQUAD the possibility to read Celldesigner files. Celldesigner is a free graphical software for drawing biochemical pathways. It uses an extended version of SBML (systems biology markup language) to save the network data. When files deriving from Celldesigner are loaded into SQUAD, the layout of the nodes is mantained making the visualization and the study of the dynamic network more intuitive.

Celldesigner has orignally been designed for describing biochemical pathways and therefore contains an exhaustive list of possible biochemical interactions. For Boolean networks we use only two type of reaction tags Activation → and Inhibition -|.

Below is a screenshot of the Thelper network drawn in Celldesigner 3.5, the underlying sbml file can be dowloaded here: THelper_SBML.

enfin:squad:squad_celldesigner.jpg

 
enfin/squad/tutorial.txt · Last modified: 2010/01/05 12:47 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes 
RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid 
CSS Driven by DokuWiki