Efficient and flexible modelling of dynamical biochemical systems by Jan Bert van Klinken and Davide Chiarugi
A typical iteration of biological modelling 1. data gathering 2. formalising natural description 3. applying analysis methods 4. interpreting analysis results
Problems encountered 1. kinetic coefficients difficult to obtain 2. loss of overview with large models 3. finding efficient and informative analysis methods 4. interpreting analysis results
4. interpreting analysis results
What is our strategy to tackle these problems? --> Listen well to biologists! --> Realise a flexible interaction with the computer!
fast and many modelling iterations What is our strategy to tackle these problems? --> Realise a flexible interaction with the computer! fast and many modelling iterations rapid prototyping
In order for this to happen, we need to adopt the right piece of software . . . our choice --> the MATLAB environment
1. a technical computing language 2. an interactive environment for MATLAB is 1. a technical computing language 2. an interactive environment for - algorithm development - data visualisation - data analysis - numerical computation from http://www.mathworks.com/products/matlab/
Now let’s get practical! 1. data gathering 2. formalising natural description 3. applying analysis methods 4. interpreting analysis results
I. DATA GATHERING stoichiometric data --> directly from literature initial concentrations --> only look at pools and external substance concentrations kinetic coefficients
I. DATA GATHERING stoichiometric data --> directly from literature initial concentrations --> only look at pools and external substance concentrations kinetic coefficients --> use Gibbs standard free energies!
I. DATA GATHERING A B kinetic coefficients --> use Gibbs standard free energies!
I. DATA GATHERING A B kinetic coefficients --> use Gibbs standard free energies!
I. DATA GATHERING A B kinetic coefficients --> use Gibbs standard free energies! often known for metabolites! is determined intuitively
II. FORMALISING MODEL formal language --> reduced p calculus (CCS) basal rates --> kinetic coefficients + a vector of initial values for simulation
NOW HOW CAN WE BE SURE WE FORMALISED CORRECTLY?? II. FORMALISING MODEL formal language --> reduced p calculus (CCS) basal rates --> kinetic coefficients + a vector of initial values for simulation NOW HOW CAN WE BE SURE WE FORMALISED CORRECTLY??
A graph inferred from the process identities to gain insight into pathways and pools.
A graph inferred from the process identities to gain insight into pathways and pools.
A graph inferred from the process identities to gain insight into pathways and pools.
The list of reactions corresponding to the CCS description.
The list of reactions corresponding to the CCS description. external substances are replenished continuously
III. PERFORMING ANALYSES CCS is reducible to a matrix form --> a reactant and stoichiometric matrix columns are reactions rows are participating substances R ( i , j ) = r --> r substances of type i react in reaction j S ( i , j ) = s --> substance type i reacting in j is updated [x]inew := [x]iold + s
III. PERFORMING ANALYSES such that we can write the set of ODE’s as
III. PERFORMING ANALYSES such that we can write the set of ODE’s as in MATLAB code dx = S*v; v = diag(k)*exp(R’*log(x)); stochastic case uses similar computations stochastic case is similar
stochastic case is similar
take 10000 times more stochastic noise original Gillespie algorithm simulate for 100000 steps takes 16.8 seconds plot substance concentrations stochastic case is similar
Substance quantities are reconverted into actual concentrations! stochastic case is similar Substance quantities are reconverted into actual concentrations!
deterministic Euler simulation with large stepsize simulate for 100000 steps takes 9.0 seconds stochastic case is similar plot also reaction flows (/fluxes)
stochastic case is similar
III. PERFORMING ANALYSES Because of both process calculus and matrix representation, various other analysis methods could be applied --> FBA, MCA, modelchecking Also, various system biology toolboxes for MATLAB are available on the internet
IV. INTERPRETING RESULTS MATLAB provides various ways for further analysis or visualisation of the simulation results . . .
IV. INTERPRETING RESULTS MATLAB provides various ways for further analysis or visualisation of the simulation results . . . For instance, if we want to check if all reactions are active, or if we want to get an idea of the stiffness of the system . . .
type which calculates and plots the log10 activity of each reaction (i.e. log10(v1+v-1)) There is a difference in activity of almost 20 orders of magnitude (1020) !!! So we have to do with a very stiff system
IV. INTERPRETING RESULTS MATLAB provides various ways for further analysis or visualisation of the simulation results . . . Since the system is stiff, we would like to have an indication of how much time it will take to reach a steady state . . .
Let’s perform a deterministic simulation with implicit integration, and fix the timestep of a transition a priori to increase exponentially. . .
Then plot both concentration and time on a log scale Let’s perform a deterministic simulation with implicit integration, and fix the timestep of a transition a priori to increase exponentially. . . Then plot both concentration and time on a log scale Steady state is reached after about 1 second, whereas the first observable changes already happen after 10-11 seconds. Very stiff indeed!