latest update: November 06, 2018, at 11:00 AM
This page provides a collection of material (papers, slides and biochemically interpreted Petri nets) illustrating selected aspects of BioModel Engineering, as used for the PhD course held at the Graduate School of the Ca' Foscari University Venezia/Italy in July 2016.
hints re web-based animation:
hints re web-based animation:
. . . from Petri nets to Ordinary Differential Equations (ODEs)
. . . from Petri nets to Partial Differential Equations (PDEs)
. . . more case studies
(slides) - BioModel Engineering for genome-scale models
Hint: Please contact me immediately, if you should encounter major problems while working on the project. If required, project allocation can be changed, but only once.
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's stand-alone format converter).
The task is
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.
As the previous task, but for the paper:
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
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.
See previous task, but for Charlie.
The task is to compare the tool suite Snoopy/Charlie/Marcie with Monalisa with respect to
Test cases: all examples used during the course may serve, additional more expensive ones are provided.
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
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.
requires scripting and some programming to analyse the generated traces.
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:
Snoopy files can be stored in ANDL format (see Marcie manual for syntax), which is a compact form and can be read and processed by Marcie. These files effectively describe graphs, and it can be useful to edit them automatically; Prolog is an effective language to achieve this, due to its logical basis and database capabilities.
The task consists in creating a program to convert between ANDL files and Prolog. The Prolog to be used is gprolog (gnuprolog), available from http://www.gprolog.org.
The definition of the pProlog format to be used is illustrated by the file prolog demo file.