T U T O R I A L - BioModel Engineering with Petri Nets
latest update: July 11, 2016, at 06:24 PM
under construction
a collection of material (papers, slides and biochemically interpreted Petri nets) illustrating selected aspects of BioModel Engineering
Index
Basic materials
- [BHM15]
MA Blätke, M Heiner and W Marwan:
BioModel Engineering with Petri Nets;
In Algebraic and Discrete Mathematical Methods for Modern Biology, (R Robeva, Ed.), Elsevier Inc., pages 141–193, March 2015. [ url ] [ doi ] [ BibTeX ]
(Textbook chapter, introducing QPN, SPN, CPN, HPN and its coloured counterparts, without any formal definitions.)
- all pn's for the figures in [BHM15]
- [HGD08]
M Heiner, D Gilbert and R Donaldson:
Petri Nets for Systems and Synthetic Biology;
In SFM 2008, (M Bernardo, P Degano and G Zavattaro, Eds.), Springer, pages 215–264, 2008. [ pdf ] [ doi ] [ BibTeX ]
(Textbook chapter, introducing QPN, SPN, and CPN; provides also formal definitions for most technical notions.)
- [BHM11]
MA Blätke, M Heiner, and W Marwan:
Tutorial - Petri Nets in Systems Biology;
Technical report, Otto von Guericke University Magdeburg, Magdeburg Centre for Systems Biology, August 2011. [ pdf ] [ BibTeX ]
(A self-contained tutorial, Chapter 8 might also serve as a brief Charlie manual.)
Tools
- Snoopy - to construct, animate and simulate Petri nets
- Charlie - QPN analysis by standard Petri net theory
- Marcie - QPN and SPN analysis, including model checking
- MC2 - simulative model checking
INTRODUCTION
Slides
- Systems and Synthetic Biology, a brief introduction (slides)
- Petri nets in a nutshell (slides)
- Developing Bio Petri nets (slides)
Petri nets of some basic structures
- (pn)
- to introduce the firing rule: 2H2 + O2 -> 2H2O
- (pn) - some basic scenarios
- (pn) - metabolic vs. signal transduction networks
Petri nets of some case studies
- (pn) - combined glycolysis/pentose phosphate pathway in erythrocytes [Reddy 1994], [H98.sld], ..., Invalid BibTex Entry!
- (pn) - apoptosis [GON 2003], [HKW04], [HK04]
- (pn) - RKIP/ERK signalling pathway, inspired by [Cho 2003]; [GH06], [HDG10]
- (pn) - signalling cascade, inspired by [Levchenko 2000]; [GHL07b], [HGD08]
- (pn) - self-powered biosensor template [GHR+08]
- (pn) - repressilator (web browser animation of logical transitions buggy), inspired by [Phillips 2008]; [LH14]
- (pn) - circadian clock, inspired by [Vilar 2002]; [BHM15]
QUALITATIVE PETRI NETS
structural and behavioural properties
- (pn) - static vs dynamic conflicts
- (pn) - various boundedness and liveness degrees
- (pn) - a simple example, see Fig. 12 in [HGD08] for its reachability graph
- (pn) - net classes (SM, SG, FC/EFC, ES); for formal definitions see Def. 7 in [HGD08]
place/transition invariants
- for formal definitions see Def. 8 in [HGD08]
- (pn) - ex mass-action component
- (pn) - another example, compare Fig. 8 in [HGD08]
- (pn) - (slides) - transition invariants / elementary modes / extreme pathways
- (pn) - basic structures of P/T-invariants
- structured T-invariant representation using atomic fragments
- pseudo-code algorithm for invariant computation, Algorithm 1 in [H09]
- modular computation of invariants
siphon / trap / bad siphon
- for formal definitions see Def. 9, 10, and Theorem 1 in [HGD08]
- (pn) - siphon / trap / bad siphon
model checking
STOCHASTIC PETRI NETS
Slides
CONTINUOUS PETRI NETS
Slides
- from Petri nets to Ordinary Differential Equations (ODEs)
HYBRID PETRI NETS
Slides
COLOURED PETRI NETS
Slides
- from Petri nets to Partial Differential Equations (PDEs)
-
MINI PROJECTS
General rules
- deadline (strict): 30 September 2016
- you can work in groups of up to two students
- please submit a short report (3-5 p.) summarising:
- Task (a paragraph describing the task)
- Material (any input you started from, such as Petri nets, tools, etc.)
- Methods (any methods you applied to obtain the results)
- Results (summary of the main findings)
- References
- Appendix (List of any complementary sources and a description how to use them)
- provide any complementary sources, required to reproduce your results, e.g.
- Petri nets developed
- source code/scripts developed
- movies produced
Project proposals, overview
- DNA walker
- Converting an ODE model into a discrete model, 1
- Converting an ODE model into a discrete model, 2
- Snoopy mini clips
- Charlie mini clips
- Comparing the tool suite Snoopy/Charlie/Marcie with Monalisa
- Charlie regression testing
- Parameter scanning /sensitivity analysis over Marcie traces
- Debug Snoopy's web-based Petri net animation NEW
- If you have an own idea of a suitable project, please contact me so we can discuss it. NEW
Project allocation
Project proposals, more details
(1) DNA walker
For a summary see MCC modell form which also provides two references with more background info for the model (let me know when you don't get access to the papers).
The model itself is available here in PNML, a format which can be read by snoopy (via marcie).
The task is
- to understand the model,
- to apply all analysis techniques introduced in the course (as far as possible), and
- to represent it in a more condense way using coloured pn (which will be introduced in the last week), see Section 7.7.
(2) Converting an ODE model into a discrete model, 1
The paper xyz comes with an ODE model provided in the SBML exchange format. The task consists in converting this model into a sound discrete model (qpn, spn). You can check if you got it right by comparing the averaged stochastic behaviour with the continuous behaviour.
(3) Converting an ODE model into a discrete model, 2
As the previous task, but for the paper:
(4) Snoopy mini clips
The textbook chapter [BHM15] contains a couple of exercises enumerating in detail the steps required for certain Snoopy scenarios, see, e.g., 7.1-7.3, 7.8, 7.11/7.17/7.24, 7.12. Additionally, the answers for some other exercises are best given by showing how it has to be done with the Snoopy tool, see e.g., 7.4, 7.13, 7.15, 7.18, 7.25, 7.27, 7.28.
See also [BHM11] for some basic use cases.
There are simple public tools around which allow you to record what happens within a window on your machine, even combined with voice recording (requires good english), and by this way to produce tiny video clips making up together a kind of tutorial how to operate a tool, compare
demo1
demo2
demo3 ,
or without voice recording, as done in demo4 .
Finally, the clips to be produced should be uploaded to youtube, and a website summarising the links could be the final product, to be added to the Snoopy website (if quality permits).
Having done this, you might come up with a list of further scenarios which should be provided (in the future) to assist an advanced user.
(5) Charlie mini clips
See previous task, but for Charlie.
Hints:
- [BHM11] provides some basic use cases and explains quite detailed Charlie's interface.
- See also [Fran09] for additional background information.
(6) Comparing the tool suite Snoopy/Charlie/Marcie with Monalisa
The task is to compare the tool suite Snoopy/Charlie/Marcie with Monalisa with respect to
- functionality (net classes supported, tool features)
- performance
Test cases: all examples used during the course may serve, additional more expensive ones are provided.
references
(7) Charlie regression testing
The task is to develop a user test framework, which supports regression testing. Such a test framework can take advantage of Charlie's command line interface, which seems not to be mentioned on Charlie's website, but is explained in all details in [Fran09]. Some example calls:
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=props > siphon_trap_test2.log
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=pinv --exportFile=siphon_trap_test_p2.inv
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=siphon --computeBadSiphons=1 --exportFile=siphon_trap_test_badSiphon2.res
but, the exportFile is not generated, the result is given on stdout; ie, has to be called as:
tCharlie.sh --netfile=siphon_trap_test.andl --analyze=siphon --computeBadSiphons=1 --exportFile=siphon_trap_test_badSiphon.res > bs-log.txt
Likewise for all analysis engines. This obviously allows the integration of such a call in a test framework to iterate over a test suite (collection of test pn's), and to compare the obtained results with the expected results.
(8) Parameter scanning /sensitivity analysis over Marcie traces
requires scripting and some programming to analyse the generated traces.
(9) Debug Snoopy's web-based Petri net animation NEW
Snoopy supports the animation of Petri nets within a standard web browser (for some examples see above), which however is buggy. Further obstacles are caused by the constantly evolving web browser technology.
The task consists in testing the animation with a set of standard web browsers, which are currently in use over different platforms, and in correcting at least one of the bugs known related to:
- animation of logical transitions
- visualisation of inhibitory arcs
- dealing with hierarchies
Requires java scripting.
Allocated mini projects
- (4) - Heider Wahsheh, and Mohsin Raza Jafri
- (6) - Mauro Tempesta and Marco Fiorucci
Interest indicated
- (7) - Francesco Palmarini