410 likes | 547 Views
David Nickerson CellML Workshop 2013. Reproducible simulation experiments with SED-ML. 13.03.2012. Dagmar Waltemath. Nested Tasks Proposal for SED-ML. Frank T. Bergmann. COMBINE 2012 – Simulation Algorithm, Experiments and Results – Toronto, CA. The necessity f or reproducible science.
E N D
David Nickerson CellML Workshop 2013
Reproducible simulation experiments with SED-ML 13.03.2012 Dagmar Waltemath
Nested Tasks Proposal forSED-ML Frank T. Bergmann COMBINE 2012 – Simulation Algorithm, Experiments and Results – Toronto, CA
The necessityfor reproduciblescience Fig.: Example simulation results (Le Novère, Neuroinformatics (2010)) 4
Similarly for complex models! × time × patient × drug dose × …
SED-ML Motivation Biological publication repository Simulation tool ? models Simulationresult 6
SED-ML Motivation • “[..] in Biomodels database the model BIOMD0000000139 and BIOMD0000000140are two different models and they are supposed to show different results. Unfortunately simulating them in Copasi gives same result for both the models. [..] “ • (arvin mer on sbml-discuss) Fig.: running model files (COPASI simulation tool)
SED-ML Motivation • “[..] in Biomodels database the model BIOMD0000000139 and BIOMD0000000140are two different models and they are supposed to show different results. Unfortunately simulating them in Copasi gives same result for both the models. [..] “ • (arvin mer on sbml-discuss) Fig.: running model files (COPASI simulation tool)
SED-ML Motivation BIOMD0000000139 , BIOMD0000000140 Simulation models Simulationresults (SBW Workbench) 9
SED-ML Level 1 Version 1 Levels: major revisions containing substantial changes Versions: minor revisions containing corrections and refinements Editorial board: coordinates SED-ML development (elected by sed-ml-discuss members) • SED-ML Level 1 Version 1: • multiple models • multiple simulation setups • time course simulations only • only explicit model entities can be addressed (XPath) 10
Example: What happens if I just simulate? • First attempt to run the model, measuring the spiking rate v over time • load SBML into the simulation tool COPASI • use parametrisation as given in the SBML file • define output variables (v) • run the time course 1 ms (standard) 100ms 1000ms 12
Example: What happens if I just simulate? Second attempt to run the model, adjusting simulation step size and duration Fig.: COPASI simulation, duration: 140ms, step size: 0.14 Fig: reference publication 13
Example: What happens if I just simulate? Third attempt to run the model, updating initial model parameters Fig.: COPASI, adjusted parameter values (a=0.02, b=0.2 c=-55, d=4) Fig.: reference publication 14
SED-ML L1V2 • Two main additions plus some tidying-up. • Algorithm class proposal. • Nested tasks proposal.
Main buildingblocks – SED-ML L1V1 Figure: SED-ML structure (Waltemath et al., 2011) 18
SED-ML – What does it look like? KiSAO identifier only 19
Algorithm class proposal • Currently no mechanism to parameterize a particular simulation algorithm. • Proposal: extend algorithm class to support parameterization. • Adds a list of algorithm parameters which allows the author to encode values for the algorithm parameters defined in KiSAO. <algorithm kisaoID="KISAO:0000032"> <listOfAlgorithmParameters> <algorithmParameterkisaoID="KISAO:0000211" value="23"/> </listOfAlgorithmParameters> </algorithm>
The Current State Simulation Model UniformTimeCourseSimulation Task Reports Data Generators
The Current State • Carry out multiple time course simulations • Collect results from these simulations • Combine results from these simulations • Report / Graph the results
Motivation • Of course there are more simulations to be captured. But the extensions ought to happen in an orthogonal way, so that we can cover more of what people want to do, by adding additional: • Simulation Classes • Task Classes • DataGeneratorClasses • Output Classes
Motivation • Expand SED-ML, in a natural, compatible way, that allows software tools to carry out interconnected simulation tasks. Proposal of a new Task Class: The RepeatedTask, that allows multiple simulation tasks to be invoked while changing model variables.
The Proposal Simulation Model • UniformTimeCourseSimulation • oneStep • steadyState Task • Task • RepeatedTask Reports Data Generators
Repeated Task Repeated Task resetModel: Boolean range : IdRef [0..*] Range UniformRange VectorRange FunctionalRange id : SId start : double end : double numberOfPoints: int value : double[1..*] function: MathML
Repeated Task Repeated Task resetModel: Boolean range : IdRef [0..*] [0..*] Range UniformRange VectorRange FunctionalRange SetValue id : SId start : double end : double numberOfPoints: int value : double[1..*] function: MathML target : Xpath listOfVariables : Variable[0..*] math : MathML
Repeated Task Repeated Task [0..*] resetModel: Boolean range : IdRef [0..*] [0..*] SetValue FunctionalRange VectorRange UniformRange Range SubTask target : Xpath listOfVariables : Variable[0..*] math : MathML start : double end : double numberOfPoints: int value : double[1..*] function: MathML task : IdRef id : SId
Features • Carry out simulations, • continue with other simulations • Modify model variables during simulation runs
Place For Orthogonal Extensions… • Parameterizable Simulation Classes • Storing the last state of a task as a new model • Introduction of new Variables (for accessing implied variables) • Advanced Post-processing in Data Generators • Access of external data
Available Online http://sysbioapps.dyndns.org/SED-ML_Web_Tools
Available Online http://sysbioapps.dyndns.org/SED-ML_Web_Tools
Thank You! • More Information here: • http://co.mbine.org/standards/sed-ml/proposal • http://sed-ml.org • http://sysbioapps.dyndns.org • http://frank-fbergmann.blogspot.com
How to contribute to SED-ML Have a look at the current SED-ML Specification document on http://sed-ml.org Try out some of the existing examples http://sed-ml.org and http://sourceforge.net/projects/libsedml Identify what is missing for you to encode your simulation experimental setups - What can you not express? Submit a feature request & post it on the list feature request tracker: http://sourceforge.net/projects/sed-ml mailing list: sed-ml-discuss@lists.sourceforge.net … submit a proposal with example files and prototype proposal tracker: http://sourceforge.net/projects/sed-ml 41