david nickerson cellml workshop 2013
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
David NickersonCellML Workshop 2013
www.sbi.uni-rostock.de
Reproducible simulation experiments with SED-ML
Dagmar Waltemath13.03.2012
Nested Tasks Proposal forSED-ML
Frank T. Bergmann
COMBINE 2012 – Simulation Algorithm, Experiments and Results – Toronto, CA
www.sbi.uni-rostock.de
The necessity for reproducible science
4
Fig.: Example simulation results (Le Novère, Neuroinformatics (2010))
5
Similarly for complex models!
× time× patient× drug dose× …
www.sbi.uni-rostock.de 6
SED-ML Motivation
Simulationtool
models
Biologicalpublicationrepository
?Simulation result
www.sbi.uni-rostock.de
SED-ML Motivation
“[..] in Biomodels database the model BIOMD0000000139 and BIOMD0000000140 are 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)
www.sbi.uni-rostock.de
SED-ML Motivation
“[..] in Biomodels database the model BIOMD0000000139 and BIOMD0000000140 are 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)
www.sbi.uni-rostock.de 9
SED-ML Motivation
Simulation
Simulation results (SBW Workbench)
BIOMD0000000139 , BIOMD0000000140
models
www.sbi.uni-rostock.de
SED-ML Level 1 Version 1
10
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)
11
www.sbi.uni-rostock.de
Example: What happens if I just simulate?
12
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
www.sbi.uni-rostock.de
Example: What happens if I just simulate?
13
Fig: reference publication Fig.: COPASI simulation, duration: 140ms, step size: 0.14
Second attempt to run the model, adjusting simulation step size and duration
www.sbi.uni-rostock.de
Example: What happens if I just simulate?
14
Fig.: reference publication Fig.: COPASI, adjusted parameter values (a=0.02, b=0.2 c=-55, d=4)
Third attempt to run the model, updating initial model parameters
15
16
17
SED-ML L1V2• Two main additions plus some tidying-up.• Algorithm class proposal.• Nested tasks proposal.
www.sbi.uni-rostock.de
Main building blocks – SED-ML L1V1
18
Figure: SED-ML structure (Waltemath et al., 2011)
www.sbi.uni-rostock.de
SED-ML – What does it look like?
19
KiSAO identifier only
20
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>
<algorithmParameter kisaoID="KISAO:0000211" value="23"/></listOfAlgorithmParameters>
</algorithm>
21
Nested tasks proposal
The Current State
22
ModelSimulation
Task
Data Generators
Reports
UniformTimeCourseSimulation
The Current State
• Carry out multiple time course simulations• Collect results from these simulations• Combine results from these simulations• Report / Graph the results
What it does not cover
Parameter Scans
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– DataGenerator Classes– 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
28
ModelSimulation
Task
Data Generators
Reports
• UniformTimeCourseSimulation• oneStep• steadyState
• Task• RepeatedTask
Repeated TaskRepeated Task
resetModel : Booleanrange : IdRef
[0..*]
Range
id : SId
UniformRange
start : doubleend : doublenumberOfPoints: int
VectorRange
value : double[1..*]
FunctionalRange
function: MathML
Repeated TaskRepeated Task
resetModel : Booleanrange : IdRef
[0..*]
Range
id : SId
UniformRange
start : doubleend : doublenumberOfPoints: int
VectorRange
value : double[1..*]
FunctionalRange
function: MathML
SetValue
target : XpathlistOfVariables : Variable[0..*]math : MathML
[0..*]
Repeated TaskRepeated Task
resetModel : Booleanrange : IdRef
SubTask
task : IdRef[0..*]
[0..*]
Range
id : SId
UniformRange
start : doubleend : doublenumberOfPoints: int
VectorRange
value : double[1..*]
FunctionalRange
function: MathML
SetValue
target : XpathlistOfVariables : Variable[0..*]math : MathML
[0..*]
Features
• Carry out simulations, • continue with other simulations• Modify model variables during simulation runs
Parameter Scan
Pulse Experiments
Repeated Stochastic Traces
Time Course Parameter Scan
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
www.sbi.uni-rostock.de
How to contribute to SED-ML
1. Have a look at the current SED-ML Specification document on http://sed-ml.org
2. Try out some of the existing examples http://sed-ml.org and http://sourceforge.net/projects/libsedml
3. Identify what is missing for you to encode your simulation experimental setups - What can you not express?
4. Submit a feature request & post it on the list feature request tracker: http://sourceforge.net/projects/sed-ml mailing list: [email protected]
5. … submit a proposal with example files and prototypeproposal tracker: http://sourceforge.net/projects/sed-ml
41