Transcript SMBL2Murphy

SBML2Murphi: a Translator from
a Biology Markup Language to
Murphy
Andrea Romei
Ciclo di Seminari su Model Checking
Dipartimento di Informatica
Università di Pisa
Pisa, April 2009
Targets of this talk


Provide a quick look to Murphi
descriptive language
Show how a biological system can be
modelled as a Murhpi Finite State
System in an (semi-)automatic way.
2
Outline
I.
II.
III.
IV.
V.
VI.
VII.
Introduction
The Murphi Language
The “sort” Example
The Systems Biology Markup Language
SBML2Murphi Translator
An example of application
Final remarks
3
Introduction


Model checking is the process of checking
whether a given structure is a model of a
given logical formula.
Murphi is a formal verifier based on explicit
state enumeration.


Originally developed at Stanford, now
maintained at University of Utah.
It works on various versions of Unix/Linux.
4
Murphi in brief


Murphi takes a Finite State System S and checks that a
given invariant property for S is satisfied
An execution is a finite sequence of states s0,s1,…:




s0 is one of the start states
si+1 is obtained by applying one transition rule whose condition is
true in si and whose action transforms si in si+1
The invariants are applied whenever a state is explored
si can satisfy several conditions, the verifier must cover all
the possibilities
5
The Murphi Program

A Murphi program has the following structure




constant, type, and variable declarations
procedure and function declarations
rules, start states, and invariants
A Murphi program implicitly determines a state
graph (i.e. an assignment of a value to each global
variable)
6
Constants, types and variables

Murphi supports the specification of
constants, variables and types



The simple types are boolean, enumerations,
finite sub-ranges of integers
The compound types are arrays or records of
compound or simple types
Sub-ranges and enumerations are important to
avoid memory consumption
7
Constants, types and variables
8
Functions and procedures

Functions and procedures can have side
effects


Formal parameters declared “var” are passed by
reference.
Formals that are not declared “var” are passed
by reference, but the function or procedure is
not allowed to modify them.
9
Rule

A rule determines a transition
from one state of the finite
automaton to another


It consists of a body and a
condition
A program must have at least
one rule
10
Start State

A start state is a special type of rule


It is only executed at the beginning of an
execution
A start state must assign a value to every global
variable
11
Invariant



An invariant is a boolean expression that
references the defined variables
Its value doesn’t change during the program
execution
An invariant is a special rule
12
Example: sorting by swapping
Array of integers 0..N-1 and
pointers for swapping
Increases the
input pointer
mod N
Swaps the positions
“i” and “j” of the
array
13
Example: sorting by swapping
Increments the “i” pointer
Increments the “j” pointer
Swaps the elements
pointed by “i” and “j” if
they are not in the right
order
14
Example: sorting by swapping
The program violates invariant when the data is sorted
15
Example: sorting by swapping

Murphi usage:




Write sort.m
Run the Murphi compiler over it by typing “./mu
sort.m”; this yields a file “sort.C”
Run the C++ compiler over “sort.C” together
with the verifier code
Run “sort.exe –ta”
16
Example: sorting by swapping
17
SBML (from wikipedia)

The Systems Biology Markup Language (SBML)
is a machine-readable language for
representing models of biochemical reaction
networks


It is based on the XML technology
SBML can represent metabolic networks, cellsignaling, pathways, regulatory networks and
other kinds of systems studied in systems
biology
18
SBML purposes

SBML has three main purposes




enabling the use of multiple software tools
without rewriting models for each tool
enabling models to be shared and published
ensuring the survival of models beyond the
lifetime of the software used to create them
SBML serves as a “lingua franca”
19
SBML Hierarchy
20
Species and Reactions


A specie is a substance or entity that takes part
in a reaction (e.g. the glucose molecule)
A reaction is a statement describing some
transformation that can change the amount of
one or more species


It describes how certain entities (reactants) are
transformed into certain other entities (products)
It has associated a kinetic rate expression
describing how quickly it takes place
21
SBML Example

The reactions of human CO hemoglobin



An equation used in enzyme characterizations
formulated by A. Hill in 1910 to describe the
sigmoidal binding curve of hemoglobin
Five species: S0 , S1 , S2 , S3 , S4
Four reactions:
22
Why an SBML2Murphi
translator?

Reactions are driven by empirical laws


Species in a model change their values along
the time
The target may be to verify some basic
properties of a biological model

E.g. verify the consistency of the model when
the initial concentrations of the species varies in
a computed range
23
The Law of Mass Action

It states that the rate of a chemical reaction
is proportional to the probability that the
reacting molecules will be found together in
a small volume


Produces a differential equation for each distinct
specie belonging to a reaction
The system of differential equations can be
solved to determine how species change values
against the time
24
The Law of Mass Action:
Example
Reactants
Products
Kinetic Rate
The law of Mass Action:
Example
26
Reactions in SBML
27
The Role of the Translator
Murphi
SBML
How
Variables &
Constants
Species
Directly by parsing the SBML model
State transitions
Reactions
Computed by means of a procedure that implements
the computation of the law of mass action
Start states
?
?
Invariants
?
?
28
The “Hill” model in Murphi
29
The “Hill” model in Murphi
30
The “Hill” model in Murphi

The start states in the Hill model indicate
what happens when the initial
concentrations vary.


I used about 500 assignments to S1, S2 and S3
by varying three parameters.
I got about 500 starting states each of them
corresponds to a different experiment (i.e. an
initial concentration).
31
The “Hill” model in Murphi


The invariant is used to test the consistency
of the model by varying the initial
concentrations
I assigned to “Hill.m” ranges in which the
species must fall into during the experiment



0 <= S1 < 16
0 <= S2 < 0.5
0 <= S3 < 0.5
32
Conclusion
Murphi
SBML
How
Variables &
Constants
Species
Directly by parsing the SBML model
State transitions
Reactions
Computed by means of a procedure that implements
the computation of the law of mass action
Start states
-
Empirical assignments
Invariants
-
Ranges in which the species fall into
33
References
34
References
35