Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Maltab for Biologists

Lecture 6: Getting started with the Simbiology toolbox

May 26th 2010

1. Introduction to biological modeling and ordinary differential equations


1.1. A simple Reaction
As an example of a chemical reaction we can take the following example:

k
A→B
The change in the concentration of A varies as the product of A multiplied by the rate
constant:

∂ [A]
= −k [A]
∂t
It is possible to solve this derivative and we obtain that:

A = A0 e(−kt)
Once this formula is known it is straightforward to calculate the evolution of A as function of
time and plot the outcome with a very simple Matlab code

%Variable initialization
Ao = 100;
k = 0.1;
t = [0:100];

%Calculate A(t) and plot it


A = Ao.*exp(-k.*t);
plot(t,A)

However if the number of reaction increases and therefore the differential equation
systems becomes more complex, There might be no more analytical solution to this
problem. One has to apply numerical approximation to calculate the probable evolution of
the system. Matlab has developed a number of ODE solvers to apply in these cases.

2. SimBiology Toolbox GUI overview

Also since the generation of the ordinary differential equation system increases in
complexity with the number of species and reactions. Matlab has developed a tool that
automatically generates the set of ODE to solve based on the reactions defined by the
user.

To open the SimBiology GUI type at the command line

simbiology
The SimBiology GUI appears. It is now possible to create a new project. In the SimBiology

Drawing board for your model

Definitions of
parameters of the
model

Drag Species and Reactions

Model view, you can now define your set of reactions.


You can then edit the amount of the various species:

And define which type of reactions kinetics and rate constants you want to use.
Note also that now you will find your rate constant in the parameters window.
Depending on the type of reactions kinetics that you choose, you will have to provide more
than one rate constant per reactions.

Under the Model Variable settings, you can chose the type of solver that you want to use
and the simulation time
When all settings are entered you can finally press the Run button to perform the
simulation...

3. More options...

3.1. Diagram
Change reaction direction by specifying reactant / product or both
You can make a reaction reversible
Add compartment to restrict species to sub-region of the cell
3.2. Compartments / species
You can specify the appropriate initial concentrations and units.
3.3. Reactions
You have the choice between a large variety of reaction kinetics
3.4. Rules
You can apply algebraic rules to set the concentration of a species or of a rate
constant
3.5. Events
You can define an event that will happen at a given time or once a species has
reached a given concentration, which will change a rate constant or a species
concentration
3.6. Solvers
Stiff: If some variables change rapidly while other slowly, the ode problem is called
Stiff. Use Ode15s or Sundials
Non-Stiff: All variable vary with similar kinetics. Use ode45 or Sundials
Stochastic: Simulate system with random reactions dynamics. Use only integer
number of molecules and only mass action kinetics. You can run ensemble
simulations to observe the general behavior of the system.

3.7.Data Logging
In the Data Logging Tab you can choose which variables you would like to be
displayed and saved in the variable

4. SimBiology at the command line

Once you have run your model, Matlab automatically creates a number of variables in
your workspace:
x: matrix containing the evolution of the species
t: vector time axis
tobj: structure containing the results of the simulation
obj: Simbiology model object containing all the information about your model definition.

As always in Matlab, you can also use the command line and write script to work with your
model. You can use the get and set functions to modify properties in you model object.
For instance, below is a script which tests the influence of the rate constant on the
evolution of A.
%Set range of values for rate constant
k1 = [0.01, 0.03, 0.1, 0.3, 1];

%loop through all Time constants


for i = 1:length(k1)
%Define in the model object the current value of the time
constant
set(obj.Reactions.KineticLaw.Parameters, 'Value', k1(i))
%Perform simulation
[t,x] = sbiosimulate(obj);

%Plot A as function of time


hold all
plot(t,x(:,1))
end

5. Exercise

You can now try to simulate your favorite biological pathway. As an example a simplified
MAPK cascade:
Input

MAP3K MAP3K-P

3K-Pase

MAP2K MAP2K-PP

2K-Pase

MAPK MAPK-PP

K-Pase
Reactions a1 d1 r1

MAP3K activation 1000 150 150

MAP2K activation 1000 150 150

MAPK activation 1000 150 150


Reactions a1 d1 r1

Dephosphorylations 1000 150 150

Species Initial amount µM

Input 3.00E-04

MAP3K 0.003

MAP2K 1.2

MAPK 1.2

3K-Pase 3.00E-04

2K-Pase 3.00E-04

K-Pase 0.12

Possible Model Refinements:


- Add an event that activate the Input after 10 sec
- Model a distributive enzyme kinetic for the double phosphorylation of the MAP2K and
MAPK
- Add a negative feed-back loop that leads to the shut-down of the pathway upon MAPK
activation
- Add a nuclear pool of MAPK which triggers protein expression

Adapted from: Huang and Ferrell. Ultrasensitivity in the mitogen-activated protein kinase
cascade. Proc Natl Acad Sci USA (1996) vol. 93 (19) pp. 10078-83

You might also like