1 / 35

SBML2Murphi: a Translator from a Biology Markup Language to Murphy

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

waldo
Download Presentation

SBML2Murphi: a Translator from a Biology Markup Language to Murphy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Targets of this talk • Provide a quick look to Murphi descriptive language • Show how a biological system can be modelled as a MurhpiFinite State System in an (semi-)automatic way.

  3. Outline • Introduction • The Murphi Language • The “sort” Example • The Systems Biology Markup Language • SBML2Murphi Translator • An example of application • Final remarks

  4. Introduction • Model checking is the process of checking whether a given structure is a model of a given logical formula. • Murphiis 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 • Murphitakes 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 Murphiprogram has the following structure • constant, type, and variable declarations • procedure and function declarations • rules, start states, and invariants • A Murphiprogram implicitly determines a state graph (i.e. an assignment of a value to each global variable)

  7. Constants, types and variables • Murphisupports 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 Increases the input pointer mod N Swaps the positions “i” and “j” of the array

  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 • Murphiusage: • Write sort.m • Run the Murphicompiler 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:

  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

  25. The Law of Mass Action: Example Kinetic Rate Reactants Products

  26. The law of Mass Action: Example

  27. Reactions in SBML

  28. The Role of the Translator

  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

  34. References

  35. References

More Related