Home

CSR14_2_Swapnil

image

Contents

1. Threads 1 Runs 1 Threads 1 Runs 100 100 r T T 1000 Stocnkt Marcie Cain 10 F 100 1E 3 8 8 E 0r o o E E 01 5 5 3 ar E E 6 001 a out 0 001 0 0001 i i i 0 01 i i 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 1 Runs 1000 Threads 1 Runs 10000 10000 T d T 10000 d Zen 1000 1000 E 8 s ot S 2 E F mr 5 2 10 s E H o 10 F iF 04 i H i 1 i i 1 10 100 1000 10000 1 10 100 1000 Figure 24 REPRESSILATOR Simulation time comparison for Thread 1 72 Threads 4 Runs 1 Threads 4 Runs 100 100 r 1000 r r r Snoopy Snoopy StochKit Stochkit Marcie x Marcia amp Cain Cain 10 j 100 j 8 8 ib J tl J 2 P E E E E Ei 5 S out 4 ib J E E D a 0 01 4 ol 4 0 001 0 01 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 4 Runs 1000 Threads 4 Runs 10000 1000 r 1000 r r Snoopy EE StochKit DE Marcia amp Cain 100 4 g ol el 8 8 ri ri ot 4 E 3 3 3 3 D G 1L 4 iL 1 01 1 i i 1 10 100 1000 10000 1 10 100 1000 N N Figure 25 REPRESSILATOR Simulation time comparison for Thread 4 Threads 8 Runs 1 Threads 8 Runs 100 100 1000 T T T7 Snoopy T T 177 Snoopy Stochkit Stochkit M
2. Marcie Cain Cain e 3 g eL J 2 2 E 100000 J E 8 5 i a 2 100000 8 8 H H EET 2 2 5 5 2 10000 4 2 3 a amp 1000 i J 1000 i i i 1000 i i 1 10 100 1000 10000 1 10 100 1000 N N Figure 29 Repressilator Peak Memory comparison for Thread 4 Threads 8 Runs 1 Threads 8 Runs 100 10406 Y i x 1e407 i y Snoopy mi Snoopy mi Stochkit Stochkit Marcie Marcie amp Cain Cain 3 g Tes 4 2 2 5 E 400000 J E H E 2 100000 8 8 E gt 3 3 2 2 Z oL 4 2 3 3 10000 4 1000 i i i 1000 i i i 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 8 Runs 1000 Threads 8 Runs 10000 10406 e u 18407 s y Snoopy Snoopy Stochkt StochKit Marcie Marcle ain E 3 g eL 4 2 2 S 100000 F J t E E 2 2 100000 8 8 E H 3 3 2 2 5 5 10000 4 E H i 10000 4 1000 i i i 1000 i i i 1 10 100 1000 10000 1 10 100 1000 10000 N N 30 Repressilator Peak Memory comparison for 76 Thread 8 Threads 16 Runs 1 Threads 16 Runs 100 10406 i 1e407 i d Snoopy Snoopy StochKit Stochkit Marcie amp Marcie amp Cain Cain 5 S eL 4 2 2 E 100000 4 E s 5 t E E E 1000 4 8 8 2 gt 3 3 2 2 5 5 2 10000 F 4 2 E oeb 1 1000 i i i 1000 i i
3. protein b blocked c block c generate b blocked b unblock b degrade b Figure 8 The repressilator Petri net for three genes in a regulatory cycle Scaling parameter e N initial number of tokens on the coloured place Gene in the Figure 9 we have N 3 as you can see in the gene place we have three black tokens dots Model size The model is parameterized and the size of its structure depends on the parameter value see Table 5 Simulation parameters e interval start time 0 e interval end time 10000 e interval steps 100 38 generate Gene blocked proteine degrade Figure 9 A colored Petri net model for the repressilator N Place Number Transition Number Standard Arc 3 9 12 30 30 90 120 300 100 300 400 1000 300 900 1200 3000 3000 9000 12000 30000 N 3N 4N 10N Table 5 Model Size for Repressilator value of N 3 30 100 300 3000 no of runs 1 100 1000 10 000 no of experiments per run 10 3 for Cain due to limited time no of threads 1 4 8 16 39 5 Performance Comparision System configuration details e Hardware Workstation Apple MacPro RAM 8GB 1066 MHz DDR3 Processor 2 x 2 26 GHz Quad Core Intel Xeon Total no of cores 8 L2 Cache per core 256 KB L3 Cache per processor 8 MB e Software Operating System CentOS release 6 5 64bit and Mac OS X version 10 6 8 40 5 1 Results 1 BioNetGen vs
4. Perform simulation on a particular benchmark for a particular value of scaling parameter thread and run This is termed as one experiment Perform 10 trials of each experiment Note the simulation run time displayed by the tool on paper export the traces Close the tool and record its peak memory usage If simulation runtime gt 3 600 seconds Terminate the simulation Perform 10 trials for each experiment A spreadsheet is created manually and the memory consumption and simulation runtime are entered manually The average runtime and peak memory comsumption can be calculated using the functions avail able in the spreadsheet 89 B 5 Marcie and StochKit e Shell script for benchmark is created The benchmark shell script stops the simulation once the simulation runtime is gt 3 600 seconds The shell script stores the output of the terminal for a particular experiment in a out file This shell script calls the memory usage script in order to compute the peak memory consumption A csv is created where the memory consumption and out is creates where the runtime of the tool is written e Once the csv file containing the memory consumption and out file containing the runtime is created we parse all these files and note down all these data in spreadsheet e Shell script for StochKit and Marcie is created which calls the bench mark shell script along with the command line syntax for Marcie and StochKit Command line syntax for
5. Runtime in sec Disk Consumption in Kb Runs 1 Snoopy BioNelGen SSC 1000 Runs 100 Sien BioNetGen SSC 0 1 cy 8 E 0 01 0 001 0 01 4 0 0001 L L 0 001 L L L L 1 1000 100000 1e 06 1 10 100 1000 100000 1e 06 N N Runs 10000 1000 T F T Snoopy BioNetGen SSC 100 8 ri 10H E 5 1 10 100 1000 10000 N Figure 12 ERK Simulation time comparison Runs 1 Runs 100 100 7 T 10000 T e T T Snoopy Shoopy BioNetGen BioNetG SSC ssc 1000 e 2 10 E 100 A 8 a 10 e 1 1000 100000 1e 06 10 100 1000 100000 1e 06 N N Runs 10000 1e 06 E e e SE BioNetGen ssc 100000 g 10000 5 100 8 100 10 10 100 1000 10000 N 48 Figure 13 ERK Disk Consumption comparison 5 1 3 Benchmark Levchenko Simulation in BioNetGen The average simulation time and the disk consumption recorded for BioNet Gen for this model is given in Table 19 and Table 20 respectively N Run_l Run 100 Run 10000 Run 1000000 1 0 2 2 7 278 7 gt 1hr 10 0 2 3 2 309 2 gt 1hr 100 0 2 3 6 362 3 gt 1hr 1000 0 2 9 0 910 2 gt 1hr Table 19 BioNetGen simulation time in sec for Levchenko N Run 1 Run 100 Run 10000 Run 1000000 1 107 Kb 10 2Mb 1 02 Gb gt Ihr 10 111 Kb 10 6 Mb 1 06 Gb gt 1hr 100 111 Kb 10 6 Mb 1 06 Gb gt 1hr 1000 111 Kb 10 6
6. Brandenburgische U Technische Universit t Cottbus Senftenberg Faculty of Mathematics Natural Sciences and Computer Science Institute of Computer Science COMPUTER SCIENCE REPORTS Report 02 14 July 2014 STOCHASTIC SIMULATION EFFICIENCY Chiru Swapnil Computer Science Reports Brandenburg University of Technology Cottbus Senftenberg ISSN 1437 7969 Send requests to BTU Cottbus Senftenberg Institut f r Informatik Postfach 10 13 44 D 03013 Cottbus Chiru Swapnil http dssz informatik tu cottbus de Stochastic Simulation Efficiency Computer Science Reports 02 14 July 2014 Brandenburg University of Technology Cottbus Senftenberg Faculty of Mathematics Natural Sciences and Computer Science Institute of Computer Science Computer Science Reports Brandenburg University of Technology Cottbus Senftenberg Institute of Computer Science Head of Institute Prof Dr Petra Hofstedt hofstedtOtu cottbus de BTU Cottbus Senftenberg Institut f r Informatik Postfach 10 13 44 D 03013 Cottbus Research Groups Headed by Computer Engineering Prof Dr H Th Vierhaus Computer Network and Communication Systems Prof Dr H K nig Data Structures and Software Dependability Prof Dr M Heiner Database and Information Systems Prof Dr I Schmitt Programming Languages and Compiler Construction Prof Dr P Hofstedt Software and Systems Engineering Prof Dr C Lewerentz Theoretical Computer Science
7. Marcie marcie path simulative net file net file path sim stop sim stop time sim out steps no of interval steps const value of scalableParameter gt threads value of thread sim result file output file path output file name Note The net file provided to Marcie is in apnn format For more information on using marcie commands please refer 18 StochKit lt stochkit driver name m model name t end time interval r no of runs i interval step count p thread value label out dir output file path output file name For more information about the StochKit commands please refer the user manual for StochKit 90 C Everything you need to know about Plots C 1 Runtime Memory Consumption and Disk Con sumption Plots e Runtime graphs are plotted for a specific value of thread and specific value of runs The x axis denotes the scaling parameter and the y axis denotes the simulation runtime in sec e For graphs which donot have a specific value of thread like the BioNet Gen and SSC they are plotted for a specific value runs The x axis denotes the scaling parameter and the y axis denotes the simulation runtime in sec e Memory consumption graphs are plotted for a specific value of thread and specific value of runs The x axis denotes the scaling parameter and the y axis denotes the memory consumption in KB e Disk Consumption graphs which donot have
8. 10 10 100 N Figure 17 Gradient Simulation time comparison for Thread 4 Threads 8 Runs 1 Threads 8 Runs 100 100 Marcie Marcie StochKit StochKit n 2 ag ei E 10 F d i i E 1 10 100 10 100 0 1 1000 Simulation time in sec 3 S Threads 8 Runs 1000 Marcie StochKit 100 Figure 18 Gradient Simulation time comparison for Thread 8 59 Simulation time in sec Simulation time in sec Threads 16 Runs 1 10 Marcie StochKit 1 4 0 1 10 N Threads 16 Runs 1000 1000 Marcie StochKit 100 4 10 10 Figure 19 100 Simulation time in sec Simulation time in sec Threads 16 Runs 100 100 Marcie StochKit 10 F j 1 10 100 N Threads 16 Runs 10000 10000 Marcie Stochkit 1000 4 100 10 100 Gradient Simulation time comparison for Thread 16 60 And for peak memory consumption of the tools refer Figure 20 Fig ure 21 Figure 22 and Figure 23 which is plotted using Table 27 and Table 29 Threads 1 Runs 1 Threads 1 Runs 100 100000 100000 Marcie Marcie StochKit StochKit 10000 10000 Peak Memory Consumption in Kb Peak Memory Consumption in Kb 1000 1000 10 100 10 100 Threads 1 Runs 1000 100000 Marcie StochKit 10000 4 Peak Mem
9. Figure 29 Figure 30 and Figure 31 which is plotted using Table 31 Table 33 Table 35 and Table 37 Peak Memory Consumption in Kb N Peak Memory Consumption in Kb 10 06 100000 10000 10 06 100000 10000 F Threads 1 Runs 1 Snoopy Stochkit Marcie in i 10 100 1000 N Threads 1 Runs 1000 Snoopy Soos Cain s N N 10 100 1000 10000 10000 Peak Memory Consumption in Kb Peak Memory Consumption in Kb 18 07 Threads 1 Runs 100 StochKit x Marcie E 100000 H A 10000 LL 1000 x T 1 10 100 1000 10000 N Threads 1 Runs 10000 1e 08 T Snoop I StochKit larcie Cain e 1e 07 1e 06 A ai 100000 q Be SEH A 1000 1 10 100 1000 Figure 28 Repressilator Peak Memory comparison for Thread 1 75 Threads 4 Runs 1 Threads 4 Runs 100 16406 r r 16407 r r Snoopy Snoopy Stochkit Stochkit Marcie x Marcie Cain Cain 3 g er d E E E 100000 I 4 E 8 5 i a H 2 100000 8 8 gt gt B 5 H E 5 5 2 4000 4 E amp 10000 4 1000 i i i 1000 i i i 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 4 Runs 1000 Threads 4 Runs 10000 16406 r r r 16407 r r Snoopy Snoopy Stochkit Stochkit Marcie
10. Dependent Propensities Hybrid Direct Tau Leaping ODE Integration OANA 9 VG o oc e Model class This discussion is beyond the scope of this report e Data exchange formats Imports and Exports t stores models simulation parameters and simulation results in an XML format It supports XML import as well as export n addition it also supports SBML imports and exports The level and versions are not explicitly mentioned in the manual The results generated can be exported in gnu plot files and it also exports the script for gnu plot to plot the result file There is a csv export of the simulation result which exports result in the csv format e The handling of the tool was easy There are separate panels which make simulation analysis easy The complete model is described in a single window within their respective panels E g Model Panel Method Panel Reaction Panel Species Panel etc e Interface It is a GUI tool 19 d Applators Places se RO GE um um um um ij d ueMay 6 5 09PM aman File Help nDEBBO 2 X O pon DEUS Species Reactions GR N re dief 2 x Jo l se aa P B FID Re Model method Tajectaries Species Reactions k Parameters 5 a ala Ela d ID Amount ID Reactants Products MA Propensity ID Value 1 RaflStar 10000 i n RaflStar RaflStar D 1 0 c1 fs N 1 ffs 25 2 RKP 10000 2 nm Raflstar Ri RaflStar H 1 0 c2 2 N 10009 3 Raflster RIO 3 n Raflstar Ri RafLstar Ri
11. Mb 1 06 Gb gt 1hr Table 20 BioNetGen disk Consumption for Levchenko Simulation in SSC The average simulation time and the disk consumption recorded for SSC for this model is given in Table 21 and Table 22 respectively N Run_l Run 100 Run 10000 Run 1000000 1 0 003 0 222 21 888 2213 1464 10 0 003 0 223 23 666 2298 6547 100 0 006 0 464 46 874 gt 1hr 1000 0 029 2 777 280 324 gt 1hr Table 21 SSC simulation time in sec for Levchenko Note for The problem with SSC is that if we perform simulation more than once then for each run a trj file will be created So if we have 100 runs then 100 trj files are created Then for plotting the graph we need a file which is the average of those 100 files Since trj is some sort of binary file therefore we need to convert those files to readable format so that we can take the average of those 100 files But converting a file from trj to txt format using ssc trj reader 0 01 jar requires huge amount of time Just to give you an idea converting 1 levchenko trj file to txt requires 2 sec 100 49 files require 127 sec and 10000 files require 12826 sec So you can just figure out converting a million trj file would need 100 x 12826 sec or approx 356 hrs which is very large So for 1 million run simulation was performed but graph was never plotted N Run 1 Run 100 Run 10000 Run 1000000 1 24 Kb 19Mb 188 Mb 18 35 Gb 10 24 Kb 1 9Mb 188 Mb 18 3 Gb 100 24Kb 2
12. Meaning or Function abs acos asin atan ceil cos exp floor log log10 pow sqr sqrt sin tan absolute value of x arc cosine of x in radians arc sine of x in radians arc tangent of x in radians smallest number not less than x whose value is an exact integer cosine of x e where e is the base of the natural logarithm the largest number not greater than x whose value is an exact integer natural logarithm of x base 10 logarithm of x TY T JE sine of x tangent of x Table 3 Predefined functions in SBML level 1 However SBML Level 2 Version 4 places the following restrictions on annot ations Within a given SBML annotation element there can only be one top level element using a given namespace An annotation element can contain multiple top level elements but each must be in a different namespace No top level element in an annotation may use an SBML XML names pace either explicitly by refer encing one of the SBML XML names pace URIs or implicitly by failing to specify any namespace on the annotation As of SBML Level 2 Version 4 the defined SBML names paces are the following URIs http www sbml org sbml levell http www sbml org sbml level2 http www sbml org sbml level2 version2 http www sbml org 2001 ns basis http www sbml org 2001 ns biocharon http www sbml org 2001 ns bioreactor http www sbml org 2001 ns biosketchpad http www sbml org 2001 n
13. The latest release of StochKit is StochKit 2 0 10 on 20 November 2013 The latest release of StochKit was downloaded and used for performing simulation The tool was downloaded on 02 April 2014 Ease of installation The link for StochKit can be found at the SBML website http sbml org SBML Software Guide SBML Software Summaryttcat 9 The above link directs to the StochKit website on http www engineering ucsb edu cse StochKit The above link will be directed to sourceforge for the download option http sourceforge net projects stochkit StochKit2 was downloaded and extracted In the extracted folder there is a StochKit2 manual The installation steps written in the manual were followed StochKit was installed successfully However for importing SBML files we need SBML converter The SBML converter was found in the tools sub folder The documentation was read and the steps to install the SBML converter were followed It needs an additional library libSBML which needs to be installed After performing the steps written int the documentation file the SBML con verter was installed successfully The installation was found to be difficult 28 4 The Benchmark Suite Model form The following sections summarise all benchmark examples The information is structured into Description a brief description of the example including a figure show ing the Petri net model and some references where it has been pub lished Scaling pa
14. a specific value of thread like the BioNetGen and SSC they are plotted for a specific value of runs The x axis denotes the scaling parameter and the y axis denotes the disk consumption in KB e You may find certain graphs which contains less number of points than the others for example consider the Figure 26 you can clearly see that for thread value 8 and runs 10000 the cain contains only 3 points whereas its companion tool contains more points This is because here cain had less datapoints to be plotted as it lost its data points because of Cain crash e The graphs are log scaled e Graphs are plotted using gnuplot e We have some figures which donot contain the plots for run 10000 this is because they did not had enough datapoints with them Some data points represent either the tool crash and the others represent that they take took more than 3600 sec for simulation Hence we are left with very few datapoints And hence no plots for them 91
15. el 1 i i 1 10 100 1000 N Figure 14 Levchenko Simulation time comparison Runs 1 Runs 100 1000 T 100000 T T Snoopy Snoopy BioNetGen BioNetGen ssc ssc 10000 3 100 F 3 9 El E1000 5 4 8 10 J 100 L J 1 i i 10 i i 1 10 100 1000 1 10 100 1000 N N Runs 10000 1007 T T z noopy BioNetGen ssc 10 06 100000 4 8 E 10000 L 4 H 8 Z 1004 4 100 F 4 10 i i 1 10 100 1000 N 51 Figure 15 LEVCHENKO Disk Consumption comparison 5 1 4 Conclusion So if look all the previous graphs we can say that for Simulation time e If we compare BioNetGen and SSC then SSC is always a clear winner i e SSC takes less time in doing simulation e Snoopy turns out to be the fastest if N is small e However it loses to SSC as the value of N increases but then also it performs better than BioNetGen Disk Consumption For this we always have a clear picture i e Snoopy consumes least amount of disk space whereas BioNetGen consumes the most Therefore the ranking are as follows e Snoopy e SSC e BioNetGen However the results are as expected because both BioNetGen and SSC out put the result file for each run rather than giving one averaged result file Hence the ranking 52 5 2 Results 2 Cain Marcie Snoopy and Stochkit for the coloured benchmarks In this section the remaining tools i e CAIN Marcie Snoopy and StochKit are compared with each other 5o the fi
16. functionDefinition gt lt listOfFunctionDefinition gt lt listOfReactions gt lt reaction id reaction 1 gt lt kineticLaw gt lt math xmlns http www w3 org 1998 Math MathML gt lt apply gt ci pow3 lt ci gt ci S1 lt a gt lt apply gt lt math gt lt kineticLaw gt lt reacton gt lt listOfReaction gt lt model gt 2 1 3 Reserved v s non reserved namespace for annotations Annotation element is a container for optional software generated content not meant to be shown to humans Every object derived from SBase can have its own value for annotation The use of XML Namespaces permits mul tiple applications to place annotations on XML elements of a model without risking interference or element name collisions The application developers should choose a URI Universal Resource Identifier Harold and Means 2001 W3C 20002 reference that uniquely iden tifies the vocabulary that the application will use for such annotations and a prefix string to be used in the annotations Although XML Namespace names http www sbml org 2001 ns basis for example must be URIs references an XML Namespace name is not required to be directly usable in the sense of identifying an actual retrieval document or resource on the Internet 2 The name is simply intended to enable unique identification of constructs and using URIs is a common and simple way of creating a unique name string Name
17. parameter After making the appropiate changes in bngl file and writing the specific actions which you want to perform Now you have the real bngl file with you Save that bngl file with appropaite name Open the terminal And move into the directory where you have saved your bngl file model file Then write the following command perl lt BNGroot gt BNG2 pl lt modelfile gt bngl 84 BNGroot is the complete path where you have saved your BioNetGen package e If everything goes well you ll get your output Note the simulation time Now the catch is if 100 runs are performed the tool will output 100 result files and not the average of those 100 files So this requires a large disk space if simulation run is a million times because it will output a million files However for plotting the graphs not the comparision one we have considered the average of those 100 files in case if runs 100 And for taking the average of those 100 files a JAVA code was written e After the simulation its time for computing the average For averaging as told earlier a JAVA code was written e Now we can proceed for plotting the cuve This can also be done in two ways First way is when you do the averaging of files you can save your averaged file in cdat format then you can use the PhiBPlot which comes with BioNetGen package PhiBPlot is basically a jar file You can open your cdat file with it and look the curves Or the seco
18. runs are performed the tool will output 100 result files and not the average of those 100 files So this requires a large disk space if simulation run is a million times because it will output a million files And its we who have to do the averaging But anyways as I said we will still compare Snoopy with these tools just because I want to know how Snoopy performs and to keep Snoopy in the game 42 5 1 1 Benchmark Angiogenesis Simulation in BioNetGen The average simulation time and the disk consumption recorded for BioNet Gen for this model is given in Table 7 and Table 8 respectively N Run1 Run100 Run 10000 Run 1000000 1 0 4 5 0 494 7 gt Ihr 5 0 4 5 4 525 7 gt Ihr 10 0 4 5 7 541 4 gt Ihr 50 0 5 8 1 785 gt 1hr Table 7 BioNetGen Simulation time in sec for Angiogenesis N Run 1 Run 100 Run 10000 Run 1000000 1 181 Kb 17 2 Mb 1 72 Gb gt 1hr 5 181 Kb 17 2 Mb 1 72 Gb gt 1hr 10 181 Kb 17 2 Mb 1 72 Gb gt 1hr 50 181 Kb 17 2 Mb 1 72 Gb gt 1hr Table 8 BioNetGen Disk Consumption for Angiogenesis Simulation in SSC The average simulation time and the disk consumption recorded for SSC for this model is given in Table 9 and Table 10 respectively N Run_l Run 100 Run_10000 Run 1000000 1 10 003 0 2365 23 6842 2366 5412 5 0 0047 0 3187 32 0567 3218 6714 10 0 0059 0 428 43 762 gt 1hr 50 0 0150 1 413 142 892 gt 1hr Table 9 SSC Simulation time in sec for Angiogenesi
19. the differences between Levels 1 and 2 3F In the following we will discuss each point in Table 1 in detail So let s start with our first point of differences 2 1 1 Text string math notation v s MathML subset Formulas are used in the definitions of kinetic laws and in rules When a species name occurs in a formula it represents the concentration i e substance volume of the species When a compartment name occurs in a formula it represents the volume of the compartment The formula strings may contain operators function calls symbols and white space characters The allowed white space characters are tab and space Formulas in SBML Level 1 are expressed in text string form Mathemat ical formulas in SBML Level 1 are not expressed using MathML Maths Markup Language an XML based mathematical formula language as it would require simulation software to use fairly complex parsers to read and write the resulting SBML Level 1 Example in Rule Use model lt listOfRules gt lt parameterRule name k formula k2 k3 gt lt speciesConcentrationRule species s2 formula kxz 1 k gt compartment VolumeRule compartment A formula 0 10 k4 gt lt listOfRules gt lt model gt Level 1 Example in Kinetic Law Use model lt listOfReaction gt reaction name J1 gt lt listOfReactants gt lt speciesReference species X gt lt listOfReactants gt lt listOfProduc
20. tool The results obtained by each tool are compared The latter portion of this report is an extension of work which was carried out by Aman Sinha 19 Note In this report you will find the use of blue colour Like the one which I just used This colour is for my readers if anything is so important that I don t want you to miss it I will paint that text in blue 2 Exports Two types of SBML 11 exports have been considered export of plain i e non coloured Petri nets and the export of coloured Petri nets which require an unfolding first Both exports will be discussed in the following two sections 2 1 Export for Stochastic Petri Nets to SBML Level 1 We already have export from stochastic Petri nets to SBML level 2 So before we start lets understand what are the differences between SBML level 1 and SBML level 2 This will help us not only in making the necessary changes to SBML level 2 codes but with this we will also save huge amount of time in performing export to SBML level 1 SBML Level 1 SBML Level 2 Text string math notation MathML subset predefined math functions user defined functions reserved namespaces for annotations no reserved namespaces for annotations no controlled annotation scheme RDF based controlled annotation scheme no discrete events discrete events able 1 Differences between SBML levels 1 and 2 If you want to learn more please visit http sbml org Documents FAQHWhat are
21. ulations on non coloured Petri nets Then we compare the remaining four tools i e Cain Marcie Snoopy and Stochkit with each other by performing simulation on coloured Petri nets This work builds on results by Aman Sinha 19 Keywords Petri Nets coloured Petri nets stochastic Petri nets SBML stochastic simulation biochemical reaction networks export MathML Contents 1 2 Introduction Exports 2 1 Export for Stochastic Petri Nets to SBML Level 1 2 1 1 Text string math notation v s MathML subset 2 1 2 Pre defined maths function v s user defined function 2 1 3 Reserved v s non reserved namespace for annotations 2 1 4 Non controlled v s RDF based controlled annotation BEHORE ate tet cd A no RW O A Res Clo a Sy AO BoB aps 2 1 5 No discrete v s discrete events 2 1 6 Code changes eu een ale ep 2 2 Export for Coloured Petri Nets Tools 3 4 Bieklett enia v5 2 ME m eee Da oe ae Sa 9 2 EE EE NEEN Do JIN tia tes aan ME ade nk Sad Be ee EN A EA Pati SE BAR e 3 05 SNOOPY EERS OPEN ba Se ete recette Roms d te 3 65 StOch Kite ak 2 acd bla de eee The Benchmark Suite 41 ANGIOGENESIS 2 23 te ie a de bie ee aa eee RES 42 ERR Sn Vise Ee a t s e ta dU SPI to ds 43 LEVCHENKO 2 22D57 ss 4A GRADIENT mad pa A An Et Gy Ga de we yy dlr 4 5 REPRESSIEATOR 4 25 Soe Sih een Performance Comparision 5 1 Results 1 BioNetGen vs SSC for the uncol
22. ve 154 153 e ren keo wi N E Pipa N D ve ai p iae AktStar Figure 3 Petri net representation of the ANGIOGENESIS model 3l 4 2 ERK Description The RKIP inhibited ERK pathway was originally published in 12 and discussed as qualitative and continuous Petri nets in 4 and as three related Petri net models comprising the qualitative stochastic and continuous paradigms in 7 see Figure 4 Scaling parameter e N the initial number of tokens on the places ERK MEKPP RaflStar RKIP and RP Model size e number of places 11 e number of transitions 11 e number of arcs 34 Although the model is parameterized the size of its structure does not depend on the parameter values Simulation parameters e interval start time 0 e interval end time 100 e interval steps 100 e value of N 1 100 10 000 1 000 000 e no of runs 1 100 10 000 1 000 000 32 RafiStar RKIP RafiStar RKIP MEKPP ERK RKIPP RP Figure 4 Petri net representation of the ERK model 33 4 3 LEVCHENKO Description The mitogen activated protein kinase MAPK cascade was published in 13 This is the core of the ubiquitous ERK MAPK pathway that can for example convey cell division and differentiation signals from the cell membrane to the nucleus It has been used in 5 and 8 as running example to discuss three related Petri net models comprising the qualitative stochastic and continuous paradigm see Figure 5 Scaling param
23. 0Mb 196 Mb gt 1hr 1000 24 Kb 2 0 Mb 196 Mb gt 1hr Table 22 SSC disk Consumption for Levchenko Simulation in Snoopy The average simulation time and the disk consumption recorded for Snoopy for this model is given in Table 23 and Table 24 respectively N Run 1 Run100 Run_10000 Run 1000000 1 0 0 0105 1 0379 104 4715 10 0 0011 0 1114 11 3115 1066 5433 100 0 0115 1 1429 112 4734 gt 1hr 1000 0 1166 11 3270 1152 1005 gt Ihr Table 23 Snoopy Simulation time in sec for Levchenko N Run_l Run 100 Run_10000 Run_1000000 1 4 8 Kb 17 6 Kb 19 6 Kb 19 3 Kb 10 5 4 Kb 17 2Kb 18 3 Kb 18 4 Kb 100 6 7 Kb 17 0 Kb 17 9 Kb gt Ihr 1000 8 3 Kb 17 0 Kb 17 5 Kb gt Ihr Table 24 Snoopy Disk Consumption for Levchenko Performance comparison For runtime comparison of the tools refer Figure 14 which is plotted using Table 19 Table 21 and Table 23 For disk comparison of the tools refer Figure 15 which is plotted using Ta ble 20 Table 22 and Table 24 50 Runtime in sec Disk Consumption in Kb Runs 1 Runs 100 1 T T E 100 T T 3 noo noopy BioNetGen BioNetGen ssc ssc 10 E 04 e L E 0 01 ok 4 0 001 0 01 i i 1 10 100 1000 1 10 100 1000 N N Runs 10000 10000 T T r noopy BioNetGen ssc 1000 L 4 8 FE d E E 10
24. 10000 1000 10 06 100000 10000 1000 Threads 16 Runs 100 Marcie StochKit 10 100 N Threads 16 Runs 10000 Marcie StochKit 10 100 Gradient Peak Memory comparison for Thread 16 63 5 2 2 Benchmark Repressilator Simulation in Cain The average runtime and the peak memory consumption recorded for Cain for this model is given in Table 30 and Table 31 respectively Note For Table 30 and Table 31 signifies that either Cain crashes during simulation or it crashes while exporting data to csv format N Threads Runs 1 Runs 100 Runs 1000 Runs_10000 3 1 0 0227811 0 1029339 0 7970706 7 4205718 4 0 0231064 0 0870712 0 4392889 3 675791 8 0 0233402 0 1232316 0 473155 3 787557 16 0 0227331 0 210041667 0 589227 4 0476 30 1 0 027182 0 751430333 7 127259 69 606281 4 0 026804333 0 374263333 2 852957667 27 68598067 8 0 027535333 0 390929333 2 952203 28 14462533 16 0 028904333 0 529854667 3 132413 28 87133467 100 1 0 06481 2 598667 25 10264333 248 4859203 4 0 065613333 1 112333667 9 663518 94 14641733 8 0 064176333 1 169748 9 772885667 95 089383 16 0 064053333 1 460976333 10 089256 96 282014 300 1 0 231117333 8 604342667 82 39522033 821 9003437 4 0 240179 4 161969 37 11558467 7 8 0 230506333 4 299662333 35 51482167 16 0 234675 4 944599333 35 70754067 3000 1 11 19500667 262 6925763 4 11 46225467 107 7790243 8 11 25181633 124 2901567 16 11 1
25. 26437 78 95675 764 2567 gt L br 8 4 861952 43 61127 404 6536 gt 1 br 16 4 842285 33 26937 288 1078 2834 773 Table 28 STOCHKIT average runtime in sec for Gradient N Threads Runs 1 Runs_100 Runs 1000 Runs_10000 10 1 4668 4672 4692 4696 4 4668 4868 6556 6556 8 4664 6932 6936 6936 16 4668 9080 9080 9080 50 1 56004 56004 56004 gt ddr 4 56004 56196 56004 gt 1 hr 8 56004 56240 56004 gt hr 16 56004 62468 58384 58384 Table 29 STOCHKIT peak memory consumption in KB for Gradient 57 Performance comparison For runtime comparison of the tools refer Figure 16 Figure 17 Figure 18 and Figure 19 which is plotted using Table 26 Table 28 Threads 1 Runs 1 Threads 1 Runs 100 10 1000 Marcie Marcie StochKit StochKit Simulation time in sec T i Simulation time in sec 3 8 0 1 10 10 100 10 100 Threads 1 Runs 1000 10000 Marcie StochKit 1000 4 Simulation time in sec 100 Figure 16 Gradient Simulation time comparison for Thread 1 58 Simulation time in sec Simulation time in sec Threads 4 Runs 1 Threads 4 Runs 100 100 Marcie Marcie StochKit StochKit F 8 L JE ol 1 S s E i 3 10 100 10 100 N N Threads 4 Runs 1000 1000 Marcie StochKit E B ow S 5 E
26. 30265 16 0 03125842 0 1593174 0 8036006 7 165044 100 1 0 1058777 3 973354 38 17591 380 8624 4 0 1062088 1 117741 10 010083 98 28253 8 0 1113469 0 678797 5 073894 49 23492 16 0 1113071 0 689728 4 343678 41 51228 300 1 0 5148289 24 13415 236 8992 2370 306 4 0 5194753 6 748251 61 57599 608 1067 8 0 5177906 3 730049 31 2567 304 4749 16 0 5128759 3 934516 28 75998 277 4131 3000 1 9 992275 170 4117 1572 279 gt 1hr 4 9 969124 50 35427 418 8726 gt 1hr 8 9 974653 31 85645 234 1409 2153 288 16 9 999077 34 01938 222 2411 2036 905 Table 36 Stochkit average runtime in sec for Repressilator 70 N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 3020 3020 3020 3020 4 3020 4936 4936 4936 8 3020 7020 4984 7024 16 3020 5076 9172 9184 30 1 3612 3612 3616 3648 4 3612 4996 4996 5592 8 3648 7080 9124 7676 16 3648 9236 9792 9236 100 1 5432 5436 5440 5464 4 5436 7280 7280 7280 8 5436 9368 9364 7328 16 5436 11484 11488 13528 300 1 10588 10592 10612 10612 4 10588 12172 12172 16248 8 10588 14260 12220 14260 16 10588 16408 18448 16404 3000 1 81564 81564 81560 gt 1hr 4 81564 89108 91060 gt 1hr 8 81564 89052 88936 89052 16 81564 89160 89088 89144 Table 37 Stochkit peak memory consumption in KB for Repressilator 71 Performance comparison For runtime comparison of the tools refer Figure 24 Figure 25 Figure 26 and Figure 27 which is plotted using Table 30 Table 32 Table 34 Table 36
27. 6 N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 3284 3284 3284 3280 4 3284 5344 9424 5340 8 3284 5552 5552 5548 16 3284 5952 5960 5956 30 1 4172 4172 4172 4196 4 4172 6884 6884 6908 8 4168 7948 7956 7976 16 4172 10092 10096 10161 5 100 1 6312 6316 8352 6344 4 6312 10852 10832 10868 8 6312 14124 14132 14248 16 6312 20720 22764 20768 300 1 12832 12836 14868 12872 4 12832 22124 22148 22152 8 12832 31788 31820 31832 16 12832 51128 51152 51180 3000 1 100636 101844 102524 gt 1hr 4 100636 174384 176340 176364 8 100636 270036 270092 272016 16 100636 461372 461384 462944 Table 33 Marcie peak memory consumption in KB for Repressilator 67 Simulation in Snoopy The average runtime and the peak memory consumption recorded for Snoopy for this model is given in Table 34 and Table 35 respectively N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 0 0007 0 0584 0 5725 5 5719 4 1 0016 1 0064 1 0067 2 0066 8 1 0015 1 0135 1 0126 1 2132 16 1 0017 1 0254 1 025 7 4262 30 1 0 0073 0 7119 7 0995 70 8236 4 1 002 1 006 2 0064 18 00878 8 1 0018 1 0146 1 4131 10 0137 16 1 0017 1 0257 1 0258 7 4262 100 1 0 0268 2 6495 26 4528 264 1104 4 1 002 1 0074 7 5076 69 5144 8 1 0016 1 0141 4 1147 36 7179 16 1 0019 1 0268 3 1278 27 6283 300 1 0 0935 9 1666 89 3235 881 4462 4 1 0024 3 0074 22 9105 230 7623 8 1 0021 2 0158 13 7156 119 8251 16 1 0024 2 0292 10 0295 90 3363 3000 1 1 506 14
28. 6 8005 1359 6467 gt Ihr 4 2 0038 38 219 367 358 3341 7593 8 2 0038 25 8315 202 1269 1806 2736 16 2 004 19 656 152 8652 1331 4382 Table 34 Snoopy average runtime in sec for Repressilator 68 N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 37336 39020 39132 37156 4 38236 38316 38464 38404 8 37248 37560 40672 40688 16 37212 39096 43176 43268 30 1 40820 40008 39504 39000 4 38960 40896 40532 41008 8 39160 43712 43580 49992 16 38916 45712 48072 48488 100 1 44988 45800 43792 45852 4 44028 46620 48236 49320 8 45188 51992 51964 53580 16 45856 61008 60920 62414 300 1 61364 60324 58232 60256 4 59532 63716 68324 68540 8 58532 75580 80336 80312 16 61768 97088 100056 100020 3000 1 284300 252656 256192 gt 1hr 4 252408 341496 340196 340164 8 252704 439116 438988 440604 16 255688 633172 633260 635688 Table 35 Snoopy peak memory consumption in KB for Repressilator 69 Simulation in Stochkit The average runtime and the peak memory consumption recorded for StochKit for this model is given in Table 36 and Table 37 respectively N Threads Runs 1 Runs_100 Runs 1000 Runs 10000 3 1 0 009098244 0 05042284 0 4172069 4 080088 4 0 00940475 0 02780769 0 1202634 1 044103 8 0 009073304 0 03137051 0 08045206 0 5418112 16 0 009230327 0 0476595 0 08379927 0 4242532 30 1 0 03096062 0 7450247 7 214039 71 0286 4 0 03173159 0 2252811 1 846212 18 03295 8 0 03026337 0 1527049 1 001117 9 1
29. 8200933 167 562019 Table 30 CAIN average runtime in sec for Repressilator 64 N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 108832 110528 118368 185900 4 110872 115700 122168 188196 8 109000 120076 128124 196812 16 114752 121948 142768 211036 30 1 111872 118232 180704 818036 4 111892 123496 187264 820320 8 109804 131952 196384 828104 16 111800 145132 213224 842352 100 1 113200 139316 349136 2463932 4 114680 147084 355168 2471004 8 114680 159860 370076 2477624 16 114704 252748 396852 2496256 300 1 125620 197292 832008 35572996 4 121984 221352 847688 8 124044 243052 864436 16 126964 287344 924780 3000 1 276732 1031784 s 4 276668 1200552 t 8 276828 1407192 X 16 276832 1668128 Table 31 CAIN peak memory consumption in KB for Repressilator 65 Simulation in Marcie The average runtime and the peak memory consumption recorded for Marcie for this model is given in Table 32 and Table 33 respectively N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 3 1 0 0 0 4 4 0 0 0 1 8 0 0 0 0 16 0 0 0 0 30 1 0 0 6 60 4 4 0 0 1 15 8 0 0 0 7 1 16 0 0 0 6 4 100 1 0 2 22 225 6 4 0 0 6 66 3 8 0 0 3 31 2 16 0 0 2 22 300 1 0 7 1 11 2 764 9 4 0 2 19 2 194 5 8 0 1 9 97 1 16 0 1 8 75 2 3000 1 2 126 2 1207 4 gt 1hr 4 2 33 4 312 7 3032 3 8 2 21 7 155 4 1529 1 16 2 17 1 123 3 1117 8 Table 32 Marcie average runtime in sec for Repressilator 6
30. AIN the granularity and priority slid ers are kept to their default value While performing simulation on Marcie only the total elapsed time is noted The total elapsed time is the runtime of the simulation Stochkit uses a SSA driver for performing stochastic simulation It selects appropriate simulation method to achieve the best performance For more details see 17 and refer StochKit manual 54 Tools Read Simulate Plot Write Cain No Yes No No Marcie Yes Yes No Yes Snoopy No Yes Yes No Stochkit No Yes No No Table 25 CPU time interpretation of tools The runtime of the tools are interpreted in the Table 25 The above table means that the simulation runtime of a particular tool is determined by the above steps e g simulation runtime for snoopy includes the simulation time of the direct gillespie algorithm as well as plotting of the curve It doesn t include the reading time of the SBML file and the time spend in writing the result into a file in this case csv file In case of Marcie the total processing time includes time for reading simulation and writing However we are only interested in the time for sim ulation The simulation time displayed in Marcie is the total elapsed time We record the total elapsed time for the experiments 95 5 2 1 Benchmark Gradient Note Before we start with Gradient I have a confession to make I had very limited time and thats the reason why I could not complete the simula
31. Prof Dr K Meer Graphics Systems Prof Dr D Cunningham Systems Prof Dr R Kraemer Distributed Systems and Operating Systems Prof Dr J Nolte Internet Technology Prof Dr G Wagner CR Subject Classification 1998 1 6 3 1 6 8 G 4 G 3 D 2 2 D 2 8 D 4 8 Printing and Binding BTU Cottbus Senftenberg ISSN 1437 7969 Stochastic Simulation Efficiency INTERNSHIP REPORT May 15 2014 to July 15 2014 Author Chiru Swapnil Department of Computer Engineering Sardar Vallabhbhai National Institute of Technology Surat India Supervisors Prof Dr Ing Monika Heiner Dipl Inf Christian Rohr Department of Computer Science Brandenburg Technical University Cottbus Germany Thursday 145 August 2014 Abstract The work described in this report can be broadly divided into two sections The first section considers two export features We describe how the export for stochastic Petri nets to SBML level 1 has been added to the Petri net modelling and simulation tool Snoopy This task was accomplished by making appropriate changes to the existing export code to generate SBML level 2 Also we demonstrate in detail how the direct export for coloured Petri nets to both levels i e 1 and 2 of SBML was realised The next section summarises the performed comparison of differ ent stochastic simulation tools for biochemical reaction networks We first compare BioNetGen and SSC with each other by performing sim
32. SB pages 281 295 2009 K R Sanft S Wu M K Roh J Fu R K Lim and L R Petzold Stochkit2 software for discrete stochastic simulation of biochemical sys tems with events Bioinformatics 27 17 2457 2458 2011 M Schwarick Manual Marcie An analysis tool for Generalized Stochastic Petri nets B TU Cottbus Dep of CS 2011 A Sinha Comparison of Stochastic Simulation Tools Technical report Brandenburg University of Technology Computer Science Dep June 2014 8l Appendices A Accuracy A 1 Correctness of exports In order to perform an export we must be sure about its correctness We have incorporated two exports in our report So how do we know that our exports are actually right or wrong This is a question which could and always will be raised So here s a proof for correctness Export for Stochastic Petri Nets In this export we exported the stochastic Petri nets to SBML level 1 and not the level 2 we already had the export to SBML level 2 So we were only concerned about the cor rectness of SBML level 1 file There s a tool on the market called Dizzy a stochastic simulation tool which has a feature of importing SBML Level 1 file We already know the results that the Snoopy will produce if we simu late our given Petri net So what we did we performed our export to Level 1 using Snoopy and then we imported those files in Dizzy If Dizzy could simulate those files SBML leve 1 and could produce t
33. SSC for the uncoloured benchmarks Before we compare these two tools with each other we will quickly go through the criteria and assumptions made for comparison Comparison Criteria The comparison criteria are based on the following parameters 1 Time taken by a tool for performing simulation 2 Disk consumption of the result files The assumptions and constraints while performing simulation are e We are interested in the mean value of the species e The interval start will be at 0 time units and the interval end will be 100 time units The simulation algorithm used is Direct Gillespie We define an experiment as simulation carried out for a particular value of N and number of Runs Linux command du sh is used for calculating disk consumption The threshold simulation time for a particular model is 3 600 seconds 1 hour If the simulation time for a particular model is more than 3 600 seconds 1 hour then we terminate the simulation e No process is running when simulation is being performed For BioNetGen simulation time is displayed by the tool itself at the end and for SSC date command is used for calculating the time The simulation time for the tools are interpreted in Table 6 Tools Read Simulate Plot Write BioNetGen Yes Yes No Yes SSC Yes Yes No Yes Snoopy No Yes Yes No Table 6 CPU time interpretation of tools This Table 6 lets us determine the simulation time of a particular tool e g simul
34. ab format Write network specific CVode integrator with Matlab interface Write reaction network in MDL format for CellBlender MCell e Tool features and handling The tool was found to be easy in handling All the necessary commands which are used while performing simula tions and running the BioNetGen tool are given in the link https docs google com spreadsheet ccc key 0Avcdx Kz jXHAdGhLZW1ZZ1VGSmYzbOZvRGOza3 gid 0 http bionetgen org index php Installation_Guide respectively One main feature of this tool or rather I should say a major draw back of BioNetGen is that it can only perform a single simulation run Unfortunately there s not a simple argument that you can pass for running multiple simulations But if we use parameter scan action for multiple simulation then each simulation run will generate namely cdat gdat and net files respectively for each run Therefore if a sim ulation is performed for a million runs then it would generate three million files which requires a huge amount of disk space e Interface It is a command line tool e Evaluation of results Whenever any simulation like ssa is performed Trajectory data are written into two multicolumn output files for each simulation a gdat file that reports the value of each defined observable at each sample time and a cdat file that reports the population level of every species in the network at each sample time Both data file types are in ASCII
35. able 11 Snoopy Simulation time in sec for Angiogenesis N Run1 Run 100 Run_10000 Run_1000000 1 84 Kb 30 3Kb 35 9 Kb 34 4 Kb 5 8 4Kb 32 Kb 33 9 Kb 33 Kb 10 85 Kb 31 4 Kb 32 6 Kb gt Ihr 50 9 2 Kb 30 3 Kb 31 3 Kb gt Ihr Table 12 Snoopy Disk Consumption for Angiogenesis Performance comparison For runtime comparison of the tools refer Figure 10 which is plotted using Table 7 Table 9 and Table 11 For disk comparison of the tools refer Figure 11 which is plotted using Ta ble 8 Table 10 and Table 12 44 Runtime in sec Disk Consumption in Kb Runs 1 Snooj BioNelGen SSC Runs 100 r SSES Sc 0 1 F 8 0 01 5 E 0 001 0 0001 L 0 01 L 1 10 100 1 10 100 N N Runs 10000 1000 T TES A E ssc 100 4 cy 8 ri E 5 E 10 Fr E 1 10 100 N Figure 10 ANGIOGENESIS Simulation time comparison Runs 1 Runs 100 1000 T 1e 06 e Snoopy Snoopy BioNetGen BioNetGen ssc ssc 100000 100 9 E 1000 5 a 5 8 1000 10 100 H 1 4 10 1 10 100 1 10 100 N N Runs 10000 18407 e P m i ssc 1e406 4 100000 4 E 10000 4 8 Z 1004 4 100 H d 10 L 1 10 100 N Figure 11 ANGIOGENESIS Disk Consumption comparison 45 5 1 2 Benchmark Erk Simulation in BioNetGen The average simulation time
36. and the disk consumption recorded for BioNet Gen for this model is given in Table 13 and Table 14 respectively N Run1 Run100 Run 10000 Run 1000000 1 0 1 1 9 211 1 gt 1hr 100 0 1 3 8 385 6 gt 1hr 10000 0 1 6 1 635 7 gt 1hr 1000000 4 4 426 7 gt 1hr gt 1hr Table 13 BioNetGen Simulation time in sec for Erk N Run 1 Run 100 Run 10000 Run 1000000 1 14 Kb 12Mb 1249 Mb gt Ihr 100 55 Kb 5 3 Mb 534 5 Mb gt Ihr 10000 55 Kb 5 3 Mb 534 5 Mb gt Ihr 1000000 55 Kb 5 3 Mb gt Ihr gt 1hr Table 14 BioNetGen Disk Consumption for Erk Simulation in SSC The average simulation time and the disk consumption recorded for SSC for this model is given in Table 15 and Table 16 respectively N Run_l Run100 Run 10000 Run 1000000 1 0 003 0 209 20 863 2088 1034 100 0 003 0 223 22 549 2243 1789 10000 0 035 3 309 329 206 3304 9832 1000000 3 037 304 194 gt Ihr gt 1hr Table 15 SSC Simulation time in sec for Erk Note for The problem with SSC is that if we perform simulation more than once then for each run a trj file will be created So if we have 100 runs then 100 trj files are created Then for plotting the graph we need a file which is the average of those 100 files Since trj is some sort of binary file therefore we need to convert those files to readable format so that we can take the average of those 100 files But converting a file from trj to txt format using ssc trj reader 0 01 jar requir
37. arcie Marcie Cain Cain e 10 4 100 J 8 8 amp 1E 7 E E J 2 2 E E E E E 3 s out 4 s 1E Jl E E 0 01 J ok J 0 001 0 01 1 10 100 1000 10000 1 10000 N Threads 8 Runs 1000 Threads 8 Runs 10000 1000 T T T 10000 T T T Snoopy Snoopy Stochkit StochKit Marcie e n amp 100 J 1000 J 8 8 E up J E 100 a 2 2 E E E E 3 3 s 1E 4 s 10 4 E E ok i J 1E J 0 01 i i 04 1 10 100 1000 10000 1 10 100 1000 10000 N N Figure 26 REPRESSILATOR Simulation time comparison for Thread 8 73 Threads 16 Runs 1 Threads 16 Runs 100 100 a z 1000 r r r Snoopy Snoopy Stochkit StochKit Marcie Marcie amp Cain s Cain 10 J 100 J E ip E 10 J 2 2 E E E E 5 5 ot 4 s iE J E E 001 1 ok 1 0 001 0 01 i i i 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 16 Runs 1000 Threads 16 Runs 10000 1000 r i 10000 r Snoopy Snoopy StochKit StochKit Marcie Marcie in B Cain 100 J 1000 J g 8 E E tof 4 E mt 4 2 2 E E E E E 4 EI 1 4 E 10 H 4 E E G 01 i 4 ih J 0 01 i i 04 1 10 100 1000 10000 1 10 100 1000 10000 N N Figure 27 REPRESSILATOR Simulation time comparison for Thread 16 74 And for peak memory consumption of the tools refer Figure 28
38. ased in the Department of Computational and Systems Biology at the University of Pittsburgh School of Medicine with contributions from collaborators at the Theoretical Division and Center for Nonlinear Studies at Los Alamos National Laboratory the Departments of Biology and Computer Science at the University of New Mexico the Center for Cell Analysis and Modeling at the Univer sity of Connecticut Health Center and the Department of Biological Chemistry at the Johns Hopkins University School of Medicine This tool can be downloaded from http bionetgen org index php BioNetGen Distributions And in order to perform the simulation the following link was used http bionetgen org index php BNGManual Simulating a Network e Modelling Paradigm 1 Simulate reaction networks as a set of ODEs 2 Simulate reaction network using Gillespies stochastic simulation algorithm 3 Simulate reaction network using the partitioned leaping algorithm tau leaping variant 4 Simulate rule based model using network free stochastic simulator NFsim e Model class This discussion is beyond the scope of this report e Data exchange formats Imports and Exports 14 Import file formats bngl net Export file formats Write rule based model in BNGL format Write rule based model in BNG XML format read by NFsim Write reaction network in NET format Write reaction network in SBML format Write reaction network in MatL
39. ation time for BioNetGen includes the reading of the bngl A file simulating that bngl file using the direct gillespie algorithm as well as writing the result file ie cdat gdat net It does not include the plotting of the curve Note However if you go through the results of each benchmarks in the following pages you may wonder if this section was about the comparision of BioNetGen and SSC then why we have Snoopy results lying here Dear readers this is because Snoopy is our favourite tool or I should say its my favourite tool So I just want to see how my tool performs with respect to other two tools The simulation time thread 1 is taken into account taken by Snoopy for each benchmarks are taken directly from 19 And the size of the result file of Snoopy i e csv file is calculated using linux command du sh Though Snoopy is not the appropiate tool for comparison because these tools are entirely different from each other see Table 6 Also Snoopy has the ability of performing more than one simulation runs and it can give output as the average of it whereas both BioNetGen and SSC can only perform single simulation run There is no support for averaging over multiple simulation runs Also there s not a simple argument for running multiple SSA simula tions So for example say if we need to perform simulation 100 times i e run 100 then we have to write a script or think of some other strategy Now the catch is if 100
40. ay also be possible that Cain may quit unexpectedly or it may kill the process or it may give segmentation error If it does this for more than twice continously we will term this as Cain crash This can happen while doing simulation or when you are exporting the data One more thing which I would like to state is that Cain takes huge amount of time in exporting data This is just for the record Even if exporting takes more than 3600 sec we have to continue with the simulation because the constraint is on the simulation time and not in the exporting time 88 B 4 Snoopy Open the tool in the terminal along with memory usage script e g home chiru Desktop benchmarks memusg snoopy2 sh The memory script memusg calculates the peak memory usage by any application Open the coloured petri net By selecting File gt open from the menu bar Then select the appropiate constant value for the benchmark under the declaration section in Snoopy Start the simulation by clicking View gt Start Simulation Mode in the menu bar Since it is a coloured Petri net a a dialog box will appear which will ask you to unfold the given net Select thread count 8 and then click the start button If the net is very large then it may take some time to unfold Go to Current view gt edit of the recently opened window Move all the elements from the Overall place to the Selected Place by clicking gt gt this button Then hit save button
41. clicking start direcly link under the SSC 3D viewer section on ths page http web mit edu irc ssc Also we have ssc trj reader 0 01 a jar file which allows converting SSC generated trj files to Matlab readable format 17 Implementation Language No information was given on the website Platforms It supports only Linux However the installation manual say that they support Mac OS X but unfortunately they no longer provide a Mac OS X release Hardware architecture 64 bit version was downloaded and installed License Copyright 2008 MIT Tool version The version downloaded was ssc 0 6 Linux x86_64 tar bz2 It was downloaded from http web mit edu irc ssc Ease of installation The installation of SSC was easy However in order to run SSC 3D Viewer one has to change the security of java If the java security is high it won t run on your machine 18 3 3 CAIN e This tool was developed at California Institute of Technology Pasadena California United States In order to perform simulation the doc umentation of CAIN was referred which can be found on http cain sourceforge net The tool is available for download on http cain sourceforge net e Modelling Paradigm It supports stochastic deterministic as well as hybrid models Its simulation method include Discrete Stochastic Simulations Direct Method First Reaction Method Next Reaction Method Tau Leaping SAL Tau Leaping Direct Method with Time
42. d 0 whereas in MathML only true and false count as boolean values Csymbol elements MathML csymbol element is used to denote certain built in mathematical entities without introducing reserved names into the component identifier namespace such as simulation time and delay function The XML fragment below encodes the formula x t where t stands for time math xmlns http www w3 0rg 1998 Math MathML gt apply lt plus gt lt ci gt x lt ci gt lt csymbol encoding text definition URL http www sbml org sbml symbols time gt 5 t lt csymbol gt lt apply gt lt math gt And the following XML fragment encodes the equation k delay x 0 1 math xmIns http www w3 org 1998 Math MathML gt lt apply gt lt plus gt lt ci gt k lt ci gt lt apply gt lt csymbol encoding text definition URL http www sbml org sbml symbols delay gt delay lt csymbol gt lt ci gt x lt ci gt lt cn gt 0 1 lt cn gt lt apply gt lt apply gt lt math gt Level 2 Example in Rule Use ee lt model gt lt listOfRules gt lt assignment Rule variable s1 gt lt math xmlns http www w3 0rg 1998 Math MathML gt apply lt divide gt SOT lt a gt apply lt plus gt lt cn gt 1 lt cn gt lt ci gt k lt d gt lt apply gt lt apply gt lt math gt lt assignmentRule gt listOfRules gt model gt And simila
43. e And finally for simulation write the following command modelName T 1 e 100 c modelName cfg o outputFile trj So this command will perform only one simulation run Inorder to perform more than one simulation run a script was written But we can use this script for performing one simulation run also The script automatically computes the time taken in performing simulation which is displayed in the terminal Note this time Note However the problem with SSC is that if we perform simulation more than once then for each run a trj file will be created So if we have 100 runs then 100 trj files are created Then for plotting the graph we need a file which is the average of those 100 files Since trj is some sort of binary file therefore we need to convert those files to readable format so that we can take the average of those 100 files But converting a file from trj to txt format using ssc trj reader 0 01 jar requires huge amount of time So for million runs simulation was performed however the averaging was not done e Now the next step is to convert trj trajectory file to txt file If we have one trj file then we can directly plot it using SSC 3D Viewer this can be downloaded by clicking start direcly link under the SSC 3D viewer section on ths page http web mit edu irc ssc However for 100 files in case if runs 100 we need ssc trj reader 0 01 a jar file which allows converting SSC generated trj files to Matlab readab
44. ec 50100020 0030 0040 62502060 0070 0083 0250 000 00 Time M Selectideselect all Close t e e El bin File Browser BI aman iadin Downl EB Snoopy 2 E unnamed Ilog window E Figure 2 Snoopy Screenshot e Tool features and handling The tool was found to be easy in handling The tool provides a special animation mode where you can play the token game which helps in better understanding of the model The simulation window is very easy to handle The graphs are plotted auto matically The simulation control panel contains the different functions sets parameters simulators etc e Interface It is a GUI tool e Evaluation of results The default is the graphical plot which appears on the simulation window The results can be exported in csv format as well as image can also be exported e g gif bmp etc The viewer view panel has three options xy plot histogram and tabular The xy plot shows the graphical lines in the simulation window the histogram shows the graphical histogram representation in the simulation window and the tabular view shows the result in the tabular format in the simulation window It does not support model checking e Parallel computing Yes implementation principle unknown e Implementation language Snoopy is implemented in C wxWid gets Xerces 25 Platforms It supports all the three platforms namely Linux Windows and Mac OS Hardware architecture O
45. ed explicitly 93 We define an experiment as simulation carried out for a particular value of N number of runs and threads A total of 10 trials is performed for each experiment and for each bench mark model After performing 10 trials the mean value of the simulation runtime and the corresponding peak memory consumption is calculated The threshold simulation runtime for a particular model is 3 600 sec onds 1 hour If the simulation runtime for a particular model is more than 3 600 seconds 1 hour then we terminate the simulation The memory is calculated using a shell script It calculates memory consumption in KB and has a sampling time of 0 1 seconds For a GUI tool in order to calculate the memory consumption the tool has to be reopened before each experiment For unfolding the coloured petri net thread 8 is used 10 trials are carried out keeping the scaling parameter no of runs and no of threads constant Simulation runtime for each trial is noted The memory consumption for each trial is also recorded and the max imum peak memory consumption is taken into account The runtime of each trial is recorded Such 10 trails are recorded and the average runtime is calculated The average runtime calculated is the runtime of a particular experiment This average runtime and the peak memory consumption is the simula tion runtime and memory consumption of an experiment respectively While performing simulation on C
46. er screencast mov However the video as well as Installation manual say that they sup port Mac OS X but unfortunately they no longer provide a Mac OS X release Modelling Paradigm As the name suggest the Stochastic Simulation Compiler SSC is a tool for creating exact stochastic simulations of biochemical reaction networks SSC compiles the model into fast sim ulators Part of the speedup comes from algorithmic improvements to the original Gillespie algorithm while the rest comes from directly generating efficient native code Model class This discussion is beyond the scope of this report Data exchange formats 1 Imports rxn reaction file and cfg configuration file 2 Exports trj trajectory file matlab txt format but for this ssc trj reader 0 01 jar is required which has to be downloaded seper ately click on SSC trajectory reader for downloading on te given page http web mit edu irc ssc Tool features and handling The tool was not easy to handle but it was not difficult also It was somewhere in between easy and difficult SSC also has the same drawback as BioNetGen i e it can only perform a single simulation run and if we write a script for multiple simulation run then each run would generate its own file and which requires a large amount of disk space Interface It is a command line tool Evaluation of results The trj files can be directly plotted using SSC 3D Viewer this can be downloaded by
47. er this component is not necessary as such I mean both levels will work fine without this but Dizzy a tool which supports only SBML Level 1 requires this component in the XML file Therefore this component was added to both SBML Levels e After going through the differences between the two levels we know that SBML Level 1 does not support MathML So in Write Transition function changes were made in the kineticLaw code A code snippet below gives an idea of the changes made if level 1 1 KineticLaw 1 pcKineticLaw 1_pcReaction gt createKineticLaw 1_pcKineticLaw gt setFormula 1_sEquation utf8_str data 11 y else for level 2 by default E KineticLaw 1_pcKineticLaw 1_pcReaction gt createKineticLaw 1_pcKineticLaw gt setMath SBML_parseFormula 1_sEquation utf8_str data For level 1 directly the Kinetic formula in text string format is used while in Level 2 the kinetic formula is parsed and set to MathML form e Then in ValidateSBML function based on the value of variable level we check the SBML Document compatibility If no errors are found the export to SBML is made e No changes were made in WritePlaces WriteConstants WritePa rameters and AcceptsDoc functions 2 2 Export for Coloured Petri Nets This export has been done for both SBML levels We will discuss all the functions in detail which were written in order to perform the export So let s start e AddToDialo
48. es huge amount of time Just to give you an idea converting 1 erk trj file to txt requires 1 sec 100 files 46 require 122 sec and 10000 files require 12235 sec So you can just figure out converting a million trj file would need 100 x 12235 sec or approx 340 hrs which is very large So for 1 million run simulation was performed but graph was never plotted N Run_l Run100 Run_10000 Run_1000000 1 8Kb 420 Kb 41 Mb 4 Gb 100 16 Kb 1 2Mb 118 Mb 11 52 Gb 10000 16 Kb 1 2Mb 118 Mb 11 52 Gb 1000000 16 Kb 1 2Mb gt Ihr gt 1h Table 16 SSC disk Consumption for Erk Simulation in Snoopy The average simulation time and the disk consumption recorded for Snoopy for this model is given in Table 17 and Table 18 respectively N Run 1 Run 100 Run 10000 Run 1000000 1 0 0002 0 0018 0 1658 16 8030 100 0 0009 0 0989 8 9830 884 4062 10000 0 0898 8 8005 875 7929 gt 1hr 1000000 9 0178 889 899 gt Ihr gt 1hr Table 17 Snoopy Simulation time in sec for Erk N Run 1 Run 100 Run 10000 Run 1000000 1 2 6 Kb 9 7 Kb 10 6 Kb 10 3 Kb 100 3 2 Kb 9 0 Kb 9 0 Kb 9 0 Kb 10000 5 3 Kb 89Kb 8 9 Kb gt 1hr 1000000 7 4 Kb 8 3 Kb gt 1hr gt 1hr Table 18 Snoopy Disk Consumption for Erk Performance comparison For runtime comparison of the tools refer Figure 12 which is plotted using Table 13 Table 15 and Table 17 For disk comparison of the tools refer Figure 13 which is plotted using Ta ble 14 Table 16 and Table 18 47
49. eter e N the multiplier of the initial number of tokens on the places Raf RasGTP RafP Phasel MEKP_Phase2 ERk ERKP_Phase3 Model size e number of places 22 e number of transitions 30 e number of arcs 90 Although the model is parameterised the size of its structure does not depend on parameter values Simulation parameters e interval start time 0 e interval end time 100 e interval steps 100 e value of N 1 10 100 1 000 e no of runs 1 100 10 000 1 000 000 34 RasGTP N Raf_RasGTP O Cd nm Raf RafP k5 OE RafP_Phag 1 ZS MEKP RafP Phase1 O y kid Vi kid MEK ZS y 8 Kit Ki EE O 9 MEKP Phasex Phds 2 d Phase2 Phase3 Figure 5 Petri net representation of the LEVCHENKO model 35 4 4 GRADIENT Description Diffusion in space is a basic process underlying many spatial bio chemical processes however typically considered either in the stochas tic or continuous setting The Petri net given here comes from 6 where it has been used to illustrate the generic modelling of space by use of coloured Petri nets We discretise the space by a D X D rectangular grid D being a model parameter and deploy the 8 neighbourhood relation with reflecting boundary condition The process starts with N tokens in the centre position This model is easily scalable with well known size of the model growth and its state space see Figure 6 for an unfolded model version and see Figu
50. format so they can be viewed in a text editor or imported into any number of different plotting and data analysis programs The BioNetGen distribution includes the PhiBPlot plotting utility which is a Java program that can be run by double clicking on the file PhiBPlot jar in the PhiBPlot subdirectory of the distribution 15 or by typing java jar path PhiBPlot jar datafile on the command line Implementation Language BioNetGen 2 x x is written in the Perl lan guage The simulation back end run network is written in C The PhiBPlot plotting utility which is included in the PhiBPlot subdirec tory of the distribution is written in Java Platforms Running BioNetGen requires Perl version 5 8 or above This is usually installed on Mac OS X and Linux machines and under Windows if you are running Cygwin Mac OS X Linux Windows or a platform with appropriate tools for compiling the simulation backend License This is available free of cost for non commercial use Tool version 2 2 5 Ease of installation The installation for this tool was found to be easy And the steps for installing the tool can be found on http bionetgen org index php Installation Guide 16 3 2 SSC This tool was developed at MIT and can be downloaded from http web mit edu irc ssc Inorder to perform simulation following video was found helpful which is given in the SSC website http web mit edu irc ssc downloads ssc view
51. g function provides us with the radio buttons so that we can select appropriate Level e OnDialog function assigns the appropriate value to variable level depending upon which radio button is selected e AcceptDoc function checks if the right graphs are given and will only accept graphs which are coloured Petri nets coloured extended Petri nets coloured stochastic Petri nets coloured continuous petri nets and coloured hybrid Petri nets e DoWrite function first performs the unfolding of coloured Petri nets Then based on the value of variable level it writes down the appropriate level and version in the XML file and then the components namely UnitDefinition and Compartment is added in the XML file e WriteConstants function are only called for coloured stochastic coloured hybrid and coloured continuous Petri nets This function iterates through 12 all the constants in the graph and writes them in the XML file These constants are written in the Parameter component of the XML file and its attributes namely Constant Id and Value are set accordingly WritePlaces and WritePlaceClass function unfold all the places in the graph and then they add the Species component in the XML file with its attribute namely Compartment HasOnlySubstance Id and Initial Amount which are set accordingly Write Transition and Write TransitionClass function unfolds all the transitions in the graph and then it adds the Reaction comp
52. gg LO CSMS N a o 0 92 4 pap o An Raflstar_Ri RafLstar Rig LO ca 4 o 0 071 5 MEKPP_ERKO 55 Raflstar_RIERK RKIP fg 1 0 c5 5 o os RafiStar on e mm MEKPP El MEKPP EE s je oss 7 weens 0 zT MEKPP_ERK ERK MEKIR LO CT 7 e 0 0072 s MEKPP 10000 a r MEKPP ERK ERKPP MIp 1 0 c8 sa 053 s ER 10000 sn RP RKIPP RKIPP RP A LO cO fS N s do 0 00122 10 Rd o 10 no RKIPP RP RP RKIPP yl LO CO 10 c 0 0075 ai mm 10000 u m RKIPP RP RKIP RP RA LOCI n a 0 87 Rs 0 0315 y Time events Tigger events Compartments Ela nja nja ID Times Assignments ID Trigger Assignments Delay TT iD Size 1 compartmel El Cain File Browser B amanGjadin Downl Cain m 5 Figure 1 CAIN Screenshot e Evaluation of results CAIN can plot its result by plotting Time Se ries Data plotting histograms and tables It does not support model checking e Parallel Computing Yes implementation principle unknown e Implementation Language The GUI is written in Python and uses the wxPython toolkit However the solvers are written in C and are implemented as command line executables e Platforms It supports all the three platforms namely Linux Windows and Mac OS e Hardware architecture 64 bit version was downloaded and installed The type of architecture is nowhere mentioned exclusively e License Copyright c 1999 to the present California Institute of Tech nology e Tool version The version downloaded was version 1 10 It was down loaded f
53. he same results and plots as Snoopy then we could be damn sure that our export for stochastic Petri nets is correct And guess what They did match and we got the same results as expected So our export for stochastic Petri nets was correct 5o now lets move to our second export Export for Coloured Petri Nets For this what we did was we first performed our export from coloured net to SBML either level 1 or 2 directly Then in second case we performed the export of coloured net to stochastic nets and from stochastic Petri nets to SBML i e in two steps Then we comapared both the SBML files We found them to be exactly the same By same I mean the exact carbon copy of each other So this proves that our export for coloured Petri nets are correct 5o I guess now no one in the world will ever raise the question on the correctness issues of my exports 82 B How to reproduce the results In this section we will talk and discuss in detail what one needs to know in order to reproduce the results reported First thing first use a system which has the same configuration which I used Do not jump onto any system otherwise results may vary Refer Section 5 for system configuration details B 1 BioNetGen e Inorder to replicate the results of BioNetGen you should first have bngl file with you There are two ways of getting that bngl file first you can write your own bngl file or second you can produce bngl file from SBML file x
54. i 1 10 100 1000 10000 1 10 100 1000 10000 N N Threads 16 Runs 1000 Threads 16 Runs 10000 16408 i 1e407 Snoopy Snoopy Stochklt Stochkit je Marcio amp in e Cain e 3 3 eL 1 2 2 E 100000 4 E 5 5 t 8 S 3 8 100000 i 8 8 gt gt 3 3 2 2 5 5 E 10000 4 i i i 2 10000 4 1000 i i i 1000 i i i 1 10 100 1000 10000 1 10 100 1000 10000 N N Figure 31 Repressilator Peak Memory comparison for Thread 16 TT 5 2 3 Conclusion Gradient Benchmark For Simulation time though marcie gives a bad start at first but at the later stages it turns out to be the clear champion i e Marcie takes less time than StochKit in performing simulation However it has to compromise memory for it For memory comparison for run 1 theres no much difference between the two tools however for run gt 1 we see that Stochkit consumes less memory than Marcie Repressilator Benchmark For Simulation time its very difficult to decide but in general we can say that for greater value of N the order is Marcie Snoopy StochKit Cain For less value of N its very difficult to decide For memory comparison the order is StochKit Marcie Snoopy Cain which means cain requires the highest amount of memory and StochKit the least 78 6 6 1 6 2 Summary Achievements Before the start of this project we did not had an export from stochastic Pe
55. is document do not have any bio chemical or biological semantics The format described in this SBML Level 2 provides a scheme for linking SBML structures to external resources so that those structures can have such semantics 10 2 1 5 No discrete v s discrete events There are no discrete events in SBML Level 1 whereas SBML Level 2 has discrete events 2 1 6 Code changes So after looking at the differences we are ready to perform the export to SBML level 1 This has been done by applying the required changes to the already existing export for SBML level 2 e What we actually want is that we have a GUI dialog box which asks the user to choose between the SBML levels i e 1 and 2 And based on his her choice the export to either of the level is performed To incorporate this feature we added two fuctions AddToDialog and OnDialogOk respectively The first function generates radio buttons one for level 1 and another for level 2 And based upon which radio button is checked the export is performed OnDialogOk function assigns the value of 1 or 2 to the variable level e In the DoWrite function we made two major changes First based on the value of variable level we added appropiate level and version value to the XML file And second Unit Definition component was added This component in the XML file is a convenient way of defining new units And under this component a unit named substance was created Note Howev
56. it compatible with StochKit The converter accepts the standard version 1 level 1 and level 2 of SBML and version 2 SBML files Tool features and handling The tool was found to be easy in handling The tool is a command line tool and the all the necessary commands which are used while performing simulations are mentioned in the user manual The results can be exported to a txt file It exports means as well as variance of the species in the reaction It has a special feature of determining the simulation method based on the model that will achieve best performance while simulation Interface It is a command line tool It displays the drivers which it uses while performing simulation The simulation runtime is displayed at the end 2T Evaluation of results The simulation results can be exported to a Lt file which can be processed by gnuplot in order to plot the graph It supports plotting function The plotting tools are available in MAT LAB It does not support model checking Parallel computing Yes implementation principle unknown Implementation language Stochkit is written in C Platforms It supports all the three platforms namely Linux Windows and Mac OS Hardware architecture Only 64 bit for Linux was downloaded and installed There is no explicit mention of the architecture License StochKit2 version 2 0 5 and later is distributed under the BSD 3Clause License BSD New or BSD Simplified Tool version
57. le which actually carries out the simulation Compiling and debugging Once the model has been written to a file say model rxn its compiled by running ssc model rzn which produces output resembling reading model rzn expanding reactions expansion complete after 2240 steps 135 compounds and 1120 reactions simulator executable model and a simulator executable in this case called model Simulating The easiest and fastest way to run the simulator is to specify the e flag followed by simulation end time in seconds When the simulation finishes it will output the final time together with the counts recorded by the various record statements separated by TAB characters The simulation may finish before the specified end time if no more reactions are possible this generally does not happen in spatially resolved simulations because although all reactions may have run out of reactants diffusion can still take place We can also produce a trajectory sampled at regular intervals by adding the t flag When some constants reaction rates or counts were specified as variables in the model file the simulator must be provided with a configuration file containing the variable values with the c flag 86 e 50 open your terminal and move to the location where you have your rxn file Then as explained above for compiling write lt SSCpath gt ssc modelFile rxn the following command This will create an executable
58. le format We created one script which calls this jar file again and again and produces txt file e Now when we have 100 txt file in case runs 100 then we can do the averaging in the same way as we did for BioNetGen e After you have averaged file Plot the graph by using gnuplot 87 B 3 Cain Open the tool in the terminal along with memory usage script e g home chiru Desktop Repressilator memusg python Cain py The memory script memusg calculates the peak memory usage by any application Open the coloured petri net By selecting File gt open from the menu bar And then selecting the appropiate cain file xml Select the appropiate method in method editor i e Time homogenous Time series uniform Direct 2 D search Also make sure you have appropiate start and end time Launch the simulation by clicking on the launch action solver by mass action button This is termed as one experiment Perform 10 trials of each experiment Note the simulation run time displayed by the tool on paper export the traces Note However we limited ourselves to 3 trails due to lack of time Close the tool and record its peak memory usage If simulation runtime gt 3 600 seconds Terminate the simulation A spreadsheet is created manually and the memory consumption and simulation runtime are entered manually The average runtime and peak memory comsumption can be calculated using the functions avail able in the spreadsheet Note It m
59. link http www dssz informatik tu cottbus de DSSZ Software Marcie download The downloaded file can be extracted and MARCIE can be run directly by going into the sub folder However MARCIE requires GLIBC version 2 14 and GLIBCXX 3 4 15 for its execution The installation for this tool was found to be easy 23 3 5 SNOOPY e This tool was developed at Brandenburg Technical University Cottbus Germany http www dssz informatik tu cottbus de DSSZ Software Snoopy In order to perform simulation please refer 14 and 15 The user manual was also referred For user manual please refer 10 For the graph based data structure used in Snoopy and modeling and simu lation in Snoopy refer 9 The tool is available for download on http www dssz informatik tu cottbus de DSSZ Software Snoopy downloads e Modelling paradigm The available simulators are stochastic deter ministic and hybrid The algorithms available are 1 Stochastic Simulators Gillespie FAU 2 Continuos Simulators BDF Rosenbrock Method of Shampine Rosenbrock Method GRK4T of Kaps Rentrop Rosenbrock Method GRK4A of Kaps Rentrop Rosenbrock Method of Van Veldhuizen gamma 1 2 Rosenbrock Method of Van Veldhuizen D stable an L stable Rosenbrock Method 3 Hybrid Simulators Explicit RK Implicit RK BDF ADAMS e model class This is beyond the scope of this report e Data exchange formats Imports and Ex
60. ml We used the second approach e We used an experimental SBML to BNGL translator that you can try at http ratomizer appspot com translate Note that SBML is a flat language i e the molecules don t have internal structure A basic SBML to BNGL translation will therefore give you a flat model There is a feature in this translator however that attempts to infer structure out of an SBML model You can try this by clicking the Atomize box Try it both ways and see which one works best for you However we did not use the atomize option e After you have bngl file with you You can start your simulation But I don t know why when I started the simulation I got some errors Therefore I did some editing in the original bngl file So open your bngl file with any texteditor and make these changes The changes done by me in the original bngl file was Compartment section in the bngl file was removed In reaction rule section rate constants for all reaction were changed from none to appropiate values Then those rate constants were added up in the parameter section And the string Qcompartment was removed from the seed species section e Now inorder to perform simulation you need to write certain com mands in action section of bngl file But since we are dealing with multiple simulation runs you will find that we do not have any specfic command for it 83 Note Unfortunately there s not a sim
61. mory comparison for Thread 8 76 Repressilator Peak Memory comparison for Thread 16 77 Task In this era SBML is the de facto standard for representing computational models in systems biology It therefore becomes increasingly important for one s software or tool to support export to and import from SBML Other wise that software or tool is deemed to be outdated Hence my first task was to add the export feature to Snoopy so that it can export non coloured as well as coloured Petri nets to SBML level 1 and 2 We already had export for non coloured Petri nets to SBML level 2 so this was not performed Also stochastic modelling and simulation is gaining increasing attention in systems biology There are many software tools available which are used for stochastic simulation in the domain of biochemical reaction networks Each tool was developed with a specific objective in mind and most tools announce themselves to be highly efficient So my next task was to compare performance results of some of these tools BioNetGen and SSC Also I was asked to extend the work done by Aman Sinha 19 Just for the record he was specifically working on the comparison of stochastic simulation tools 1 Introduction So here we are Let s see from where to start Okay I will give you a brief background of this project then I will tell you about its motivation and then the outline Sounds good So sit back tight because this report will
62. n of the GRADIENT model generated out of Figure 7 with D 5 by help of Snoopy 36 A colored Petri net model for the Gradient 37 The repressilator Petri net for three genes in a regulatory cycle 38 A colored Petri net model for the repressilator 39 ANGIOGENESIS Simulation time comparison 45 ANGIOGENESIS Disk Consumption comparison 45 ERK Simulation time comparison 48 ERK Disk Consumption comparison 2 2222 2 2 2 48 Levchenko Simulation time comparison 51 LEVCHENKO Disk Consumption comparison 51 Gradient Simulation time comparison for Thread 1 58 Gradient Simulation time comparison for Thread 4 59 Gradient Simulation time comparison for Thread 8 59 Gradient Simulation time comparison for Thread 16 60 Gradient Peak Memory comparison for Thread 1 61 Gradient Peak Memory comparison for Thread 4 62 Gradient Peak Memory comparison for Thread 8 62 Gradient Peak Memory comparison for Thread 16 63 REPRESSILATOR Simulation time comparison for Thread 1 72 REPRESSILATOR Simulation time comparison for Thread 4 73 REPRESSILATOR Simulation time comparison for Thread 8 73 REPRESSILATOR Simulation time comparison for Thread 16 74 Repressilator Peak Memory comparison for Thread 1 75 Repressilator Peak Memory comparison for Thread 4 76 Repressilator Peak Me
63. nd way is you can save your averaged file in txt for mat And then you can use the gnuplot for plotting the curves I used both ways But it doesnot matter you can use either of the two ways Save your plots if required B 2 SSC e For SSC one needs a rxn and cfg file for simulation This can be generated in two ways Either you can write your own rxn file Or You can generate rxn file from bngl file BioNetGen to SSC trans lator provides a SSC equivalent model to your BNG model The translator outputs two files one with the translated rules as mod elName rxn and the other containing the definition of variables in them as modelName cfg The commands used to generate rxn and cfg files are writeSSC and writeSSCcfg respectively These commands are written in the action block of bngl file We used this second method 85 e After writing those commands Start the simualtion of bngl file After successful completion of bngl file you could see that two more files are generated namely rxn and cfg file e Now change the floating values of Initial molecules and their concen trations in rxn file to integer values After this you are good to perform simulation with SSC e Simulation of rxn files Simulating models written in SSC consists of two steps compiling the model which expands the pattern based description into all possible species and reactions and running the resulting simulator executab
64. ndenburg Uni versity of Technology Cottbus Department of Computer Science July 2013 80 11 14 15 16 17 18 19 M Hucka A Finney H M Sauro H Bolouri J C Doyle and H K et al The Systems Biology Markup Language SBML A Medium for Representation and Exchange of Biochemical Network Models J Bioinformatics 19 524 531 2003 K hyun Cho S young Shin H woo Kim O Wolkenhauer B Mcferran and W Kolch Mathematical modeling of the influence of RKIP on the ERK signaling pathway pages 127 141 Springer Verlag 2003 A Levchenko J Bruck and P Sternberg Scaffold proteins may bipha sically affect the levels of mitogen activated protein kinase signaling and reduce its threshold properties Proc Natl Acad Sci USA 97 11 5818 23 2000 H Liu and M Heiner Petri Nets for Modeling and Analyzing Biochem ical Reaction Networks chapter 9 pages 245 272 Springer 2014 W Marwan C Rohr and M Heiner Petri nets in Snoopy A unify ing framework for the graphical display computational modelling and simulation of bacterial regulatory networks volume 804 of Methods in Molecular Biology chapter 21 pages 409 437 Humana Press 2012 L Napione D Manini F Cordero A Horv th A Picco M D Pierro S Pavan M Sereno A Veglio F Bussolino and G Balbo On the use of stochastic petri nets in the analysis of signal transduction pathways for angiogenesis process In CM
65. ng The tool is a command line tool and the all the necessary commands which are used while performing simulations are mentioned in the user manual The results can be exported to a csv file 22 Interface It is a command line tool While simulation it displays the progress of the simulation i e how much of the simulation is complete The total processing time includes the simulation run time as well as the time for writing the file We are concerned with the total elapsed time because it is the simulation run time The simulation runtime is expressed in the format of 0m0sec Evaluation of results The simulation results can be exported to a csv file which can be processed by gnuplot in order to plot the graph It does not support any plotting function It support model checking Parallel computing Yes implementation principle unknown Implementation language MARCIE is written in C Platforms It is supported in Linux and Mac OS Hardware architec ture Only 64 bit for Linux was downloaded and installed The current version is available for MAC OS 10 5 6 Linux32 and Linux64 License This is available free of cost for non commercial use Tool version MARCIE was first released on 23 December 2010 The latest release of MARCIE was on 19 July 2012 The latest release of MARCIE was downloaded and used for performing simulation The tool was downloaded on 17 April 2014 Ease of installation MARCIE can be downloaded from the
66. nly 64 bit for linux was downloaded and in stalled 32 bit version is available for Linux however the architecture is not explicitly mentioned for Mac and Windows License This is available free of cost for academic purpose and for non commercial use Tool version The version downloaded was version 1 13 Snoopy was first released on 9 October 2008 Its latest release was on 01 April 2014 The tool was downloaded on 14 April 2014 Ease of installation The installation was found to be easy 26 3 6 StochKit This tool wass developed at UC Santa Barbara University of Califor nia United States http sourceforge net projects stochkit In order to perform simulation the user manual was referred which is provided with the installation file The tool is available for download on http sourceforge net projects stochkit Modelling paradigm StochKit2 provides commandline executables for running stochastic simulations using variants of Gillespies Stochastic Simulation Algorithm and Tauleaping Improved solvers including ef ficient implementations of SSA Direct Method Optimized Direct Method Logarithmic Direct Method Constant Time Algorithm oF WwW NY e Adaptive Explicit Tauleaping method Model class This discussion is beyond the scope of this report Data exchange formats Imports and Exports The source file is stored in a cpp format Uses a Java Converter to convert the SBML input file to make
67. ns 64 e number of arcs 185 Although the model is parameterized the size of its structure does not depend on parameter values Simulation parameters e interval start time 0 e interval end time 100 e interval steps 100 e value of N 1 5 10 50 e no of runs 1 100 10 000 1 000 000 30 Compound Symbols KOR Kd ni Gabi G n Pak P3k nz PlcGamo Pg n Pips P3 Pipe P2 n Pten Pt n Enz E n7 Akt n la is Transition k3 kd k5 KG k7 are dead listas nen A 12 KastarGstar Pipa a a KastarGstorP3 kastar G x kastar GStarP3 a Pak EN Pa Pa Pa pg y y ve a X xs A las 150 tao Ruts tas Rias iar idi a D E s GstarP3kP3 Y N N Khstarcstarpalbs xs Gstarpops P Kastor StqPaP3 KdStarGstar ten sas 152 las 124 ias 139 KdSarGStarP3iStarP3 K itarGtarPos KastarGskare3kstar Pipz T KlstarGstorPaStoy See Pipa ka 126 7 e m we ao 163 orpgStarp2 KaStar6Starb kstarp2 ee Katar6storp kStarpap2 Mr id i aiia kastar Pips N DAGE 1 var pw CI D Ene mm ia
68. nstruction for CAIN is available at http www cacr caltech edu sean cain InstallationLinux htm The overall installation was easy 21 3 4 MARCIE e MARCIE stands for M odel checking A nd R eachability analysis done effi CIE ntly MARCIE is a tool for qualitative and quantita tive analysis of generalized stochastic petri nets with extended arcs MARCIE is the successor of IDDMC e This tool was developed at Brandenburg Technical University Cottbus Germany http www dssz informatik tu cottbus de DSSZ Software Marcie In order to perform simulation the user manual was referred For user manual please refer 18 The tool is available for download on http www dssz informatik tu cottbus de DSSZ Software Marcie downloads e Modelling paradigm It is an analysis tool for stochastic petri nets The engines available are 1 Exact Numerical Engine which includes Jacobi method Gauss Seidel method Pseudo Gauss Seidel method mmediate Transitions Markovian approximation Computation of probability distributions 2 Approximate Numerical Engine 3 Simulative Engine e Model class This discussion is beyond the scope of this report e Data exchange formats Imports and Exports Input file formats apnn andl pnml The file can be created using the ANDL export feature of Snoopy It writes simulation result in CSV format e Tool features and handling The tool was found to be easy in handli
69. o A Veglio M Sereno F Bussolino and G Balbo Simplifi cation of a complex signal transduction model using invariants and flow equivalent servers Theor Comput Sci 412 43 6036 6057 2011 D Gilbert and M Heiner From Petri nets to differential equations an integrative approach for biochemical network analysis pages 181 200 LNCS 4024 Springer 2006 D Gilbert M Heiner and S Lehrack A unifying framework for mod elling and analysing biochemical pathways using Petri nets In Proc CMSB pages 200 216 LNCS LNBI 4695 Springer 2007 D Gilbert M Heiner F Liu and N Saunders Colouring Space A Coloured Framework for Spatial Modelling in Systems Biology In J Colom and J Desel editors Proc PETRI NETS 2013 volume 7927 of LNCS pages 230 249 Springer June 2013 M Heiner R Donaldson and D Gilbert Petri Nets for Systems Biol ogy chapter 3 pages 61 97 Jones amp Bartlett Learning LCC 2010 M Heiner D Gilbert and R Donaldson Petri Nets for Systems and Synthetic Biology volume 5016 of LNCS pages 215 264 Springer 2008 M Heiner R Richter and M Schwarick Snoopy a tool to design and animate simulate graph based formalisms In Proc International Work shop on Petri Nets Tools and APplications PNTAP 2008 associated to SIMUTools 2008 ACM digital library 2008 M Herajy and M Heiner Snoopy Computational Steering Framework User Manual Version 1 0 Technical Report 02 13 Bra
70. onent for each transition in the XML file Based on the Level of export KineticLaw is added Note This Program will write Kinetic Law in the XML file in the form of Mass Action So use the explicit version while doing the export Write TransitionClass function calls the WriteArc function which then adds Reactant and Product sub component under Reaction sec tion WriteArc function also adds Modifier component in case it encounters special arcs like inhibitor equal arcs etc WriteParameters function iterates through all the parameters in the graph and create Parameter component in the XML file Then in ValidateSBML function based on the value of variable level we check the SBML Document compatibility If no errors are found Export to SBML is made 13 3 Tools In this chapter we summarise the tools which are used for simulating the benchmark models and which are used in the actual performance comparison The following tools namely Cain Marcie Snoopy Stochkit had already been used in 19 To be self contained we repeat their description in this report as well The new tools additionally considered here are BioNetGen and SSC We start with the new tools first in lexical order and then we will go through the remaining tools in lexical order 3 1 BioNetGen e The BioNetGen software package was initially developed by the Cell Signaling Team at Los Alamos National Laboratory The current de velopment team is b
71. ory Consumption in Kb 1000 10 100 Figure 20 Gradient Peak Memory comparison for Thread 1 61 Peak Memory Consumption in Kb Peak Memory Consumption in Kb Threads 4 Runs 1 Threads 4 Runs 100 100000 100000 Marcie Marcie StochKit StochKit 5 2 8 a E a 10000 H J 10000 J d E 5 5 gt El 1000 1000 10 100 10 100 N N Threads 4 Runs 1000 100000 Marcie Stochkit 2 S 5 a E a amp 10000 J 8 gt B 5 3 4 1000 10 100 Figure 21 Gradient Peak Memory comparison for Thread 4 Threads 8 Runs 1 Threads 8 Runs 100 100000 10406 Mame Marcie Stochkit Stochkit 2 E 100000 F J 2 10000 d 5 8 gt 3 2 2 1000F 4 3 1000 1000 10 100 10 100 N N Threads 8 Runs 1000 18406 Marcie Stochkit 2 E 100000 F 4 2 8 gt S 5 2 10000 Fe J 1000 10 100 Figure 22 Gradient Peak Memory 62 comparison for Thread 8 Peak Memory Consumption in Kb Peak Memory Consumption In Kb Threads 16 Runs 1 100000 Marcie StochKit 10000 J 1000 10 100 N Threads 16 Runs 1000 10 06 Marcie StochKit 100000 J 10000 J 1000 10 100 Figure 23 Peak Memory Consumption in Kb Peak Memory Consumption in Kb 10 06 100000
72. oured benchmarks 5 1 1 Benchmark Angiogenesis 5 1 2 Benchmark rk 5 1 3 Benchmark Levchenko 9 144 Conclusi n erue ee AD Hed RR 5 2 Results 2 Cain Marcie Snoopy and Stochkit for the coloured benchmarks vs xx fr Re we oe a EE S 5 21 Benchmark Gradient 5 2 2 Benchmark Repressilator 5 2 3 GOBEIUSION sus esu man al hee SEA a 41 6 Summary 6 1 Achievements Q3 sos eeu ker d EN xs we Wir TRO Y v 6 2 Open Probleme 2s bie Se Ee NOW RE eR References Appendices A Accuracy B A 1o Correctness of exports a Para EUR aul ah How to reproduce the results Bil eC Lo T R eg er B dud BLI E ECH Bos Cain o m acp ONIS ec ts Vau ez di VI MEN EO do FRYD A BA EEN A can 4 ER ee aie parue iniqua de pe der re E s B 5 Marcie and StochK it e Ren dT AE A Eed E Everything you need to know about Plots C 1 Runtime Memory Consumption and Disk Consumption Plots 79 79 79 80 82 82 82 83 83 85 88 89 90 91 91 List of Figures co cum GC ND 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 CAIN Screenshot s zr ies ad ta d Ae 20 Snoopy Screenshot Krane D e ee RIA E EUR 25 Petri net representation of the ANGIOGENESIS model 31 Petri net representation of the ERK model 33 Petri net representation of the LEVCHENKO model 35 Petri net representatio
73. ple argument that you can pass for running multiple SSA simulations What many people do is write a shell script bash python etc to call BioNetGen on a model file many times This has a number of drawbacks however including having to call the expensive generate network command over and over Probably the best approach is to append your model file with multiple simulate commands each followed by a resetConcentrations command i e generate network overwrite gt 1 simulate ssa suffix gt ssa t end gt 100 n steps gt 1000 resetConcentrations simulate ssa suffix gt ssa t end gt 100 n steps gt 1000 resetConcentrations etc You can have as many of these as you like there s no limit There s also a way to do this in BioNetGen using the parameter scan action parameter scan takes all of the same arguments that the sim ulate action does plus four additional parameter par min par max and n scan pts If you set par min par max then BioNetGen will run the same system as many times as n_scan_pts For example you can run 100 SSA simulations using generate network ioverwrite 1 parameter scan method gt ssa t end gt 100 n steps 1000 parameter k par_min gt 1 par_max gt 1 n_scan_pts gt 100 Here k is just a dummy parameter You could add it to your model or you could just specify a parameter that already exists in your model and set par min and par max equal to the value of that
74. ports It can import as well as export SBML level 2 version 3 t supports several other imports and exports For more imports and exports visit the web page http www dssz informatik tu cottbus de DSSZ Software Snoopy imexport 24 8 Applications Places System eor EH WIN EN EN EEN ty d EE TueMay 6 511PM aman H unnamed ae File Edit View Elements Hierarchy Search Extras Help Bin Simulation contre DET 1 untied Current vien if 9900 99 Y Belt PRE SEE Defaut vi options 108 eo Function set me med o Mem x Modfy Viewer type Y weight set Madri 8910 89 ypo v eat Delay set rM Check Formula 7920 79 Schedule set Modify Select an item to view Raflstar compartment main v Modify Au ES arameter uan le d EH min v Medty 17 ERKPP ZI MEKPP_ERK i RaflStar eg Interval start o GE Laxe Io Raflstar_RKIP_ERKPP 7 RafiStar RKIP RKIPP RP Interval end D os ERKPP MEKPP 4950 50 MEKPP ERK put step count l z ERK E oo Rafistar RKIP ERKPP SE RKIPB RP pm sese v mopees e L wans EE ERK Lars No export Le O Direct export 2970 30 D O Single trace export C Exact trace export 1980 20 Properties Load Data 990 10 Simulation run time 8 792 s
75. rameter List of parameters and their meaning for model scaling Model size Size of the Petri net model in terms of number of places transitions and arcs These numbers have been found by importing the SBML file in Snoopy and viewing the net information Simulation parameters Chosen setting for the simulations such as interval start time interval end time interval steps value of scalable parameter number of runs number of experiments per run and number of threads Non Coloured Petri Nets e Angiogenesis e Erk e Levchenko Coloured Petri Nets e Gradient e Repressilator To be self contained we provide here a description of all benchmarks used The descriptions for Angiogenesis Erk and Levchenko have been taken from 19 29 4 1 ANGIOGENESIS Description Angiogenesis defined as the formation of new vessels from existing ones is a topic of great interest in all areas of human biology par ticularly to scientists studying vascular development vascular malformation and cancer biology Angiogenesis is a complex process involving the activ ities of many growth factors and relative receptors which trigger several signaling pathways resulting in different cellular responses The Petri net was introduced in 16 and refined in 3 see Figure 3 Scaling parameter e N initial number of tokens on places Akt Enz Gabl KdStar P3k Pg Pip2 and Pten Model size e number of places 39 e number of transitio
76. re 7 for the scalable coloured gradient model Figure 6 Petri net representation of the GRADIENT model generated out of Figure 7 with D 5 by help of Snoopy Scaling parameter e D grid size i e there are D x D grid positions 36 OGY WP xeMIDDLE amp Cy MIDDLE neighbour2D8 x y a b E Ee cAMP Grid2D H a b Figure 7 A colored Petri net model for the Gradient N there are initially N 1000 x D tokens in the centre position see Figure 6 Model size parameter D number of places D number of transitions 8D 12D 4 number of arcs 2 T The model is parametrized and the size of its structure depends on the parameter D Simulation parameters interval start time 0 interval end time 100 interval steps 100 value of D 10 50 no of runs 1 100 1000 10 000 no of experiments per run 10 No Simulations for Snoopy and Cain due to limited time no of threads 1 4 8 16 37 4 5 REPRESSILATOR Description The Petri net given here comes from 1 where it has been used to illustrate a modular and stepwise construction of a Petri net model When genes repress each other in a circular manner we obtain a gene regula tory cycle see Figure 8 which is composed of three gene gates with identical structure For the coloured repressilator model see Figure 9 blocked a block a degrade c unblock a generate a degrade a unblock c protein a
77. rily we have to use MathML for kinetic laws 2 1 2 Pre defined maths function v s user defined function The basic mathematical functions that are defined in SBML Level 1 at this time are given in Table 3 Function definitions in SBML level 2 also informally known as user defined functions are derived from SBase and contain a math element called Lambda Function Definition consists of id and name attribute The id and name attributes have types SId and String respectively The math element is a container for MathML content that defines the function The content of this element can only be a MathML lambda element or a MathML semantics element containing a lambda element The lambda element must begin with zero or more bvar elements followed by any other of the elements in the MathML subset except lambda i e a lambda element cannot contain another lambda element This is the only place in SBML where a lambda element can be used The number of arguments is equal to the number of bvar elements inside the lambda element of the function definition An example showing the definition of cube power in Level 2 model lt listOfFunctionDefinition gt lt function Definition id pow3 gt lt math xmlns http www w3 org 1998 Math MathML gt lt lambda gt lt bvar gt lt ci gt x lt ci gt lt bvar gt lt apply gt power gt lt ci gt lt a gt lt a gt eu lt apply gt 7 lambda lt math gt lt
78. rom http sourceforge net projects cain files cain which was made available on sourceforge on 2 July 2012 The website 20 of cain is not updated it says the latest release is version 1 9 on 27 September 2011 The tool was downloaded on 02 April 2014 Ease of installation The link for CAIN can be found at the SBML website http sbml org SBML Software Guide SBML Software Summarystcat 9 The above link directs to the CAIN website on http cain sourceforge net The download button on the last link will re direct to http sourceforge net projects cain from where CAIN can be downloaded The zip file is downloaded and extracted The documentation on the cain website was read and steps to install CAIN on REDHAT 6 0 CENTOS 6 0 were followed CAIN requires C compiler which was already installed on my sys tem CAIN requires Python wxPython matplotlib numpy and sympy The easiest way to install the above mentioned package is to install the Enthought Python Distribution It includes all the packages which CAIN requires The Enthought Canopy can be downloaded from https www enthought com downloads The installation guide for Canopy was also read which can be found on http docs enthought com canopy quick start install linux html After performing these steps we have sufficient packages installed on the system for CAIN The CAIN package which was downloaded from http sourceforge net projects cain was unzipped The installation i
79. rst thing that strikes your mind is why I am being so biased Why we have two results section one for BioNetGen and SSC and another for the remaining tools Why e This is because I was asked to extend the work done by Aman Sinha 19 And if you go through his report he didn t have BioNetGen and SSC BioNetGen and SSC are very different from these four tools You can not compare a donkey with a horse or a goat with a sheep I mean if you want you can but my point is they are entirely different from each other BioNetGen and SSC have no averaging facility They will output 100 result files for each run if runs 100 whereas these four tools will give you one final averaged file Also there is no scheme of threads available in BioNetGen and SSC Further you can refer the table Table 6 and Table 25 So now you can see they lie on opposite poles Hence the two sections The comparison criteria are based on the following parameters 1 2 Simulation Run time comparision Memory consumption comparison The assumptions and constraints while performing simulation are We are interested in the mean value of the species When simulations are being performed no other processes should be running For benchmark Repressilator the interval start will be at 0 time units and the interval end will be 10000 time units The simulation algorithm used is Direct Gillespie Threads used will be 1 4 8 and 16 which will be mention
80. s Note for The problem with SSC is that if we perform simulation more than once then for each run a trj file will be created So if we have 100 runs then 100 trj files are created Then for plotting the graph we need a file which is the average of those 100 files Since trj is some sort of binary file therefore we need to convert those files to readable format so that we can take the average of those 100 files But converting a file from trj to txt format using ssc trj reader 0 01 jar requires huge amount of time Just to give you an idea converting 1 angiogenesis trj file to txt requires 2 sec 100 43 files require 135 sec and 10000 files require 13500 sec So you can just figure out converting a million trj file would need 100 x 13500 sec or approx 375 hr which is very large So for 1 million run simulation was performed but graph was never plotted N Run_l Run 100 Run 10000 Run 1000000 1 48 Kb 44Mb 314 Mb 33 2 Gb 5 86 Kb 32Mb 314 Mb 33 2 Gb 10 36Kb 3 2Mb 314 Mb gt Ihr 50 36 Kb 3 2Mb 314 Mb gt 1hr Table 10 SSC Disk Consumption for Angiogenesis Simulation in Snoopy The average simulation time and the disk consumption recorded for Snoopy for this model is given in Table 11 and Table 12 respectively N Run_l Run100 Run_10000 Run 1000000 1 0 0004 0 0317 3 2265 319 9296 5 0 0035 0 3289 31 6073 3169 8615 10 0 0078 0 7567 74 1686 gt Ihr 50 0 0476 4 6802 461 9907 gt Ihr T
81. s biospice http www sbml org 2001 ns cellerator http www sbml org 2001 ns copasi http www sbml org 2001 ns cytoscape http www sbml org 2001 ns dbsolve http www sbml org 2001 ns ecell http www sbml org 2001 ns gepasi http www sbml org 2001 ns isys http www sbml org 2001 ns jarnac http www sbml org 2001 ns jigcell http www sbml org 2001 ns jsim http www sbml org 2001 ns libsbml http www sbml org 2001 ns mathsbml http www sbml org 2001 ns mcell http www sbml org 2001 ns netbuilder http www sbml org 2001 ns pathdb http www sbml org 2001 ns promot http www sbml org 2001 ns sbedit http www sbml org 2001 ns sigpath http www sbml org 2001 ns stochsim http www sbml org 2001 ns vcell http www sbml org 2001 ns jdesigner Table 4 Reserved XML Namespace names in SBML Level 1 Version 2 http www sbml org sbml level2 version3 http www sbml org sbml level2 version4 e The ordering of top level elements within a given annotation element is not significant 2 1 4 Non controlled v s RDF based controlled annotation scheme SBML Level 1 does not provide this feature whereas SBML Level 2 provides us with the RDF feature This format described in Level 2 is intended to be the form of one of the top level elements that could reside in an annotation element attached to an SBML object derived from Sbase The element is named rd RDF The SBML structures described elsewhere in th
82. surely surprise you with amazing results Background There are numerous stochastic simulation tools developed for performing simulation on biochemical reaction networks A large variety of modeling techniques are used to model the biochemical reaction networks such as Boolean networks Differential equations ordinary or partial Petri nets etc Petri nets are found to be a particularly suitable representation of these biochemical reaction networks For basic understanding about Petri net models please refer 14 And then we have SBML The Systems Biology Markup Language SBML is a representation format based on XML for communicating and storing computational models of biological processes It is a free and open standard with widespread software support and a community of users and develop ers SBML can represent many different classes of biological phenomena including metabolic networks cell signaling pathways regulatory networks infectious diseases and many others Motivation As said earlier there are a number of stochastic simulation tools available on the market And each one claims to be at the top of the tree So it becomes important for us to compare these tools Outline Having realised the exports we make a performance compar ison of tools based on certain comparison criteria which is explained later in this report We perform simulation on some benchmark models Simu lations are carried out on each of the selected
83. tions with Cain and Snoopy So for gradient you will not find the results of simu lation time and peak memory comparision with Cain and Snoopy However we have tried to compare Marcie and StochKit with each other Simulation in Marcie The average runtime and the peak memory consumption recorded for Marcie for this model is given in Table 26 and Table 27 respectively N Threads Runs 1 Runs_100 Runs 1000 Runs_10000 10 1 0 19 5 194 6 1948 8 4 0 4 5 49 4 498 7 8 0 3 26 7 271 3 16 0 3 24 2 232 50 1 2 143 3 1415 5 gt I hr 4 2 36 3 360 8 3574 8 8 2 24 188 4 1871 4 16 2 20 3 162 2 1537 3 Table 26 MARCIE average runtime in sec for Gradient N Threads Runs 1 Runs 100 Runs 1000 Runs_10000 10 1 5060 5092 5096 5096 4 5060 8520 8548 8560 8 5060 10428 10452 10472 16 5060 14236 14264 16312 50 1 58000 58912 60036 gt hr 4 58000 95580 97688 97600 8 58000 142980 147048 144540 16 58000 237692 237748 239496 Table 27 MARCIE peak memory consumption in KB for Gradient Simulation in StochKit The average runtime and the peak memory consumption recorded for StochKit for this model is given in Table 28 and Table 29 respectively 56 N Threads Runs 1 Runs 100 Runs 1000 Runs 10000 10 1 0 2615667 18 92915 186 5257 1866 994 4 0 2477467 5 00963 47 58659 474 4301 8 0 2542659 2 969362 25 00652 247 0285 16 0 263761 2 610484 20 83053 203 4524 50 1 4 812265 302 601 3011 427 gt I hr 4 4 9
84. tri nets to SBML Level 1 Also there was no export for coloured Petri nets to SBML level 1 and level 2 We successfully added these features to Snoopy We performed comparision between BioNetGen and SSC with three benchmarks i e Angiogenesis Erk and Levchenko We also extended the work done by Aman Sinha 19 In this very limited time we added two benchmarks to it i e Gradient and Re pressilator which from my point of view is highly appreciable The report is written in LaTeX which was completely new to me So yes I learned a few basics about LaTeX too Open Problems There are a few potential areas where this work can be extended Some of them are As the size of benchmark increases it becomes increasingly important that we carry out simulations on more powerful machines Instead of relying upon third party app for conversion from SBML to bngl we can try writing our own export We can add more benchmarks for comparing SSC and BioNetGen In a similar fashion more benchmarks could be added for Cain Marcie Snoopy and Stochkit 79 References H 10 R Blossey L Cardelli and A Phillips Compositionality Stochastic ity and Cooperativity in Dynamic Models of Gene Regulation HFSP Journal 1 2 17 28 2008 J Bosak and Bray Xml and the second generation web Technical Report 280 5 8993 Scientific American 1999 F Cordero A Horv th D Manini L Napione M D Pierro S Pavan A Picc
85. ts gt lt speciesReference species Y gt lt listOfProducts gt lt kineticLaw formula Eis X0 gt reaction gt lt listOfReaction gt lt model gt Mathematical expressions in SBML Level 2 are represented using MathML 2 0 The XML namespace URI for all MathML elements is http www w3 org 1998 Math MathML Note that MathML elements for representing partial differential calculus are not included The Table 2 describes the subset or the elements used in MathML token cn ci csymbol sep general apply piecewise piece otherwise lambda relational operators eq neq gt lt geq leq arithmetic operators plus minus times divide power root abs exp In log floor logical operators and or xor not qualifiers degree bvar logbase trigonometric operators sin cos tan sec csc cot sinh cosh tanh sech etc constants true false notanumber pi infinity exponentiale annotation semantics annotation annotation xml Table 2 Subset for MathML Numbers and cn elements Within MathML expressions contained in SBML and only within such MathML expressions numbers in scientific notation must take the form cn type e notation gt 2 lt sep gt 5 lt cn gt and everywhere else they must take the form 2e 5 Literal numbers appearing within MathML content in SBML have no declared units Boolean values In XML Schema the value space of type boolean includes true false 1 an

Download Pdf Manuals

image

Related Search

Related Contents

Operating Instructions for advanced features  Thesis - Técnico Lisboa  Manual Central M-Lite  1856 Speakerphone/ answering system with caller - Vtp    Product Specification  Samsung RS21DAMS manual de utilizador  

Copyright © All rights reserved.
Failed to retrieve file