Structural Analysis Tool GUI Tutorial

The Structural Analysis Tool is a graphical interface to the Structural Analysis Module which implements the Household QR algorithm.

Here we show how this application can be used with JDesigner (It should be noted that this tool will work from CellDesigner or any other SBW compatible application). For this purpose we use a model of the repressilator shown below. The blue colored nodes (Waste_1, Waste_2, Waste_3, Waste_4, Waster_5 and Waste_6) are boundary nodes while the orange colored nodes (tetR0, tetR1, tetRr, tetRp, cIr, cIp, lacIr, lacIp, cI1, lacI1, cI0 and lacI0) are internal to the network.

 Model of Repressilator

After opening this model in JDesigner, the user can invoke the Structural Analysis Tool by selecting it from the SBW menu option. (This step assumes that the user has already installed the latest SBW version - 2.4 or above - which supports Conservation Analysis). This menu is shown below.

 Calling StructAnalysis GUI from JDesigner

The model is communicated as a SBML file from JDesigner to the Structural Analysis Tool. This starts the Graphical Interface that in turn calls the edu.kgi.StructAnalysis module through SBW. Results from the module are communicated back to the graphical front end and appear as shown below. The user sees the name of the model, the number of species, the number of reactions and the rank of the model as computed by the Structural Analysis module using Householder QR method. The display has four panels of which the bottom left panel lists a selection of options that the user can choose from. These include the Stoichiometry matrix N, NR matrix, N0 matrix, L0 matrix, L matrix, Gamma matrix, K0 and Nullspace.

 Structural Analysis User Interface

Selecting any of these displays the corresponding matrix in grid form in the right bottom panel. These matrices can also be displayed by clicking on the buttons at the bottom. The top right panel is used to display text items such as the summary and the listing of conservation laws.

 Structural Analysis User Interface

It can be seen that the summary panel lists the number of conservation laws along with a the list of Independent and dependent species. In this case, these are given by

Independent Species: 
    cIp, lacIp, tetRp, lacIr, tetRr, cIr, lacI0, tetR0, cI0
 
Dependent Species : 
    tetR1, lacI1, cI1

There are three conservation laws given as

    1: + tetR0 + tetR1
    2: + lacI0 + lacI1
    3: + cI0 + cI1

In addition, the user has the ability to test the validity of these conservation laws by running five tests. This can be done by using the “Run Validation Tests” button. In this case, the following output is shown in the summary panel.

    Testing Validity of Conservation Laws.
    Passed Test 1 : Gamma*N = 0 (Zero matrix)
    Passed Test 2 : Rank(N) using SVD (9) is same as m0 (9)
    Passed Test 3 : Rank(NR) using SVD (9) is same as m0 (9)
    Passed Test 4 : Rank(NR) using QR (9) is same as m0 (9)
    Passed Test 5 : L0 obtained with QR matches Q21*inv(Q11)

It can be seen that these tests check the rank of the generated matrices in a number of ways to ensure their correctness. If the generated conserved cycles have an error, the resultant matrices would not allow the ranks to match, and in particular, the product of the conservation matrix Gamma and the Stoichiometric matrix N would not be a zero matrix.

Multiple models can be added to the Structural Analysis tool. The user can in fact select multiple SBML files for input at a time. This allows for the Structural Analysis to be carried out on a number of models. The results from each of these models are stored internally in data sets, and the user can revisit them at any time (as long as the interface is open).

 Analysis on multiple models

In addition, the user interface has a visual option that allows the stoichiometry and other conservation matrices to be displayed. This is shown below for the case of a simple model.

 Visual display for conservation matrices

This is a very useful option when analyzing large models, where the matrices can be large. An example of such a large model is shown below.

 Visual display for large models