sbml2murphi: a translator from a biology markup language to murphy
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
SBML2Murphi: a Translator from a Biology Markup Language to Murphy
Andrea RomeiCiclo di Seminari su Model
CheckingDipartimento di Informatica
Università di PisaPisa, April 2009
2
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.
3
OutlineI. IntroductionII. The Murphi LanguageIII. The “sort” ExampleIV. The Systems Biology Markup
LanguageV. SBML2Murphi TranslatorVI. An example of applicationVII. Final remarks
4
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.
5
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
6
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)
7
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
8
Constants, types and variables
9
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.
10
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
11
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
12
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
13
Example: sorting by swapping
Array of integers 0..N-1 and pointers for swapping
Swaps the positions “i” and “j” of the array
Increases the input pointer mod N
14
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
15
Example: sorting by swapping
The program violates invariant when the data is sorted
16
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”
17
Example: sorting by swapping
18
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, cell-signaling, pathways, regulatory networks and other kinds of systems studied in systems biology
19
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”
20
SBML Hierarchy
21
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
22
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:
Hill-l2.xml
23
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
24
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
The Law of Mass Action: Example
Reactants
Products
Kinetic Rate
26
The law of Mass Action: Example
27
Reactions in SBML
28
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 ? ?
29
The “Hill” model in Murphi
30
The “Hill” model in Murphi
31
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).
32
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
33
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
34
References
35
References