Create an SBML-PHML hybrid model
On PhysioDesigner, an SBML model can be included in a module of a PHML model, which makes it possible to create a multilevel physiological function model based on two standard model description languages, i.e., SBML and PHML. In this approach, instead of modeling subcellular phenomena by PHML, we integrate models described in SBML on the PhysioDesigner framework. SBML (http://sbml.org/) is a pioneering model description language for systems biology, such as subcellular signaling pathways, metabolic pathways and gene regulation.
Once an SBML model is included in a module, the module will represent the subcellular phenomena modeled by the SBML. By linking the module to other modules by functional and structural edges, the SBML model can eventually be embedded in a PHML module network in the sense of both structural and functional relationships.
In SBML, there are "species" and "parameters" to represent the quantitative attributes of biochemical entities. At a module including an SBML model, it is possible to define physical quantities associated with those species or parameters to set or get numerical values. The PHML part can utilize the numerical information defined in the SBML model via the physical quantities with a "get" definition that acts as a kind of one-way bridge from the SBML part to the PHML part. Similarly, but in the opposite direction, physical quantities with a "set" definition can affect the SBML part from the PHML part by overriding the original definition of the species or parameters in the SBML model without modifying the SBML model itself. Through this definition of physical quantities, the SBML model can be effectively involved in the PHML model.
This tutorial shows how to create an SBML-PHML hybrid model on PhysioDesigner.
1. Modeling based on SBML with CellDesignerWe’ll start with a simple SBML model. Let’s assume that there is a protein A, which turns into protein B by some reaction with a reaction rate constant of 0.5.
This means that the concentration of protein A decreases as time passes. The dynamics can be described by
and the concentration of B increases by
On CellDesigner, which is available at http://www.celldesigner.org/, the reaction of protein A can be modeled as follows.
If we set the initial amount of protein A at 10, and that for B at 0, the simulation result appears as shown below.
The red curve shows the amount of protein A, which decreases exponentially. Oppositely, the amount of B shown by the yellow curve increases. Let’s save this file as "simple_sbml.xml".
Now let’s extend the model by considering protein A outside the cell. We’ll assume that the extracellular A permeates into the intracellular site. The dynamics of the concentration of intracellular A change to
where 0.8 is the velocity constant for membrane permeation of protein A from outside to inside. Naturally, for the extracellular A,
On CellDesigner, the extended model is represented as follows.
The simulation results appear as shown below.
In this case, because of the permeation of the extracellular A, the concentration of intracellular A increased at first and then took a downward turn as shown by the red curve.
In the next section, we show how to import the above simple SBML model, without the extension of extracellular A, into a PHML module. Then, we also show how to extend the model using the PHML framework (although everything can be done by CellDesigner and the SBML framework since the example model is so simple).
2. Import an SBML model into a moduleTo import an SBML model, we must first create a module into which the SBML model is imported. Here, let’s use "with_sbml" for its name. Then select "Integrate SBML Model..." in the context menu that appears by right-clicking on the module.
A dialog pops up in which an SBML model file can be selected by clicking the "Browse..." button. Clicking the "Import" button displays a table showing the species and parameters included in the SBML model.
Now, we must define the association between the physical quantities in the module and the species/parameters in the SBML model. Let’s define two physical quantities: p_A and p_B. There are two ways to do this. One is to go to the Physical quantity dialog, and the other is to simply click the "Add Physical quantity" button on this window. Let’s use the second method.
A dialog pops up in which a new physical quantity can be created by providing its type and name. We now create p_A and p_B as variable type physical quantities. Click the "Add" button after specifying the type and name of a physical quantity. The physical quantity is added to the table on the right. After creating both physical quantities, close the dialog by clicking the "OK" button. If the wrong physical quantities were created here, the mistakes can be fixed at the physical quantity dialog later.
Getting back to the SBML model dialog, we can define the association between species and physical quantity. Clicking on a cell in the columns "Action" and "Physical quantity", a combo box appears. In the case of "Action", there are two items: "get" and "set". For "Physical quantity", the names of physical quantities are listed in the combo box.
The action "get" means that the physical quantity receives the value defined on the species/parameter. Conversely, the action "set" means that the value defined on the physical quantity overwrites the definition of the species/parameter.
Let’s select "get" and the corresponding physical quantity as shown in the figure below.
Close the dialog by clicking the "OK" button at the bottom right corner.
3. Simulation of the embedded simple SBML modelLet’s see the dynamics of the model at this stage. Go to "Simulation" > "Flint" from the menu bar. Simulation length is 10 milliseconds, the time step is 0.01. Click the "Run" button.
Two physical quantities are listed in the leftmost table. Place them as shown below. You can see that the results are consistent with those obtained on CellDesigner.
4. Extension of the SBML model by PHML
4.1 Add an extracellular protein
In Section 1, the simple SBML model was extended by taking into consideration the extracellular protein concentration. Here, the extension is done by PHML.
First, let’s create a physical quantity representing the extracellular protein A. To do this, open the Physical quantity dialog by selecting "Edit Physical quantity..." in the context menu that appears by right-clicking on the module.
Create a state-type physical quantity with the name "p_Aout".
The dynamics of this physical quantity are
Hence, we define this at the “Implementation” tab as "ode" with "diff(p_Aout, time) = −0.8 * p_Aout".
Don't forget to set the initial value. At the “Initial value” tab, input "p_Aout = 20".
4.2 Modification of intracellular protein concentration dynamics
Next, since the dynamics of the intracellular protein A concentration are affected by that of the extracellular A, the definition of p_A must be modified.
Specifically, the governing equation must be changed from
The new dynamics are defined as the implementation of p_A.
First, the type of physical quantity must be changed to "state" from "variable-parameter".
Then let’s change the implementation of p_A accordingly. The definition type will be "ode" and the equation "diff(p_A, time) = -0.5 * p_A + 0.8 * p_Aout" should be set.
Finally, the initial value for p_A is 10.
That completes the modifications of physical quantities.
4.3 Association of species and physical-quantity
Let’s go back to the SBML dialog to change the definition of the association between species and physical quantity. Since the value defined in species s1 (name = A) in the SBML model must now be overwritten by the value of physical quantity p_A, the action should be "set", not "get".
Click the “OK” button. That's it!
5. Simulation of the extended SBML-PHML hybrid model
Let’s save the file as a new file before launching Flint for the simulation. Call up Flint from "Simulation" > "Flint" at the menu bar. Run a simulation with simulation length 10, and time step 0.01.
The simulation will be done in a wink, and the “Plot” tab graph can be drawn as
These are exactly the same as the previous simulation results on CellDesigner.