130 likes | 567 Views
JSim Simulation System. BREEZE Demonstration/Discussion of the JSim Simulation System (open software for modeling and data analysis) and the Physiome.org website for model archiving. Dr. James Bassingthwaighte, Erik Butterworth, Gary Raymond, Brian Carlson, Kay Sterner, Eric Lawson
E N D
JSim Simulation System BREEZE Demonstration/Discussion of the JSim Simulation System (open software for modeling and data analysis) and the Physiome.org website for model archiving. Dr. James Bassingthwaighte, Erik Butterworth, Gary Raymond, Brian Carlson, Kay Sterner, Eric Lawson University of Washington Department of Bioengineering 23 Aug 2007
System Requirements • Easy creation/modification/verification of models • Diverse numerical methods • High performance (multiprocessing if possible) • Real-time graphical feedback • Parameter space exploration • Sensitivity analysis • Optimization & experimental data fitting • Collaboration • standard formats • multiple platform support
Modeling Software & Formats • Modeling Systems (quicker development, limited scope) • Berkeley Madonna: ODEs only, graphical development • Gepasi/Copasi: ODEs only, • Programming Systems (longer development, general scope) • C/Fortran: very general, longest devepment time • Matlab: widely used, $$$, poor real-time (S-func) perf. • xppaut: ODEs & PDEs • Standardized Model Formats • SBML: widely supported, ODEs only, no units • CellML: limited current support, ODEs & PDEs (but BCs need work), units
. • Simcon (1967, Knopp, Bassingthwaighte, et al) Fortran models, terminal text/graphics Param. explore, sens. analysis, optimization • XSIM (1992, Weissman,King,Butterworth) X-Windows, Unix, client-server computation Custom GUI, ad-hoc query: “exp(-t)*F/V” • JSim (1999, Butterworth, Li) MML, Windows/Mac/Linux/WWW applets Standard formats, Multi-processing
Software system for creating quantitative numerical models & analyzing them with respect to experimental data • Modeling Language (MML) • diverse numeric methods (ODEs, PDEs, implicit equation, events, procedural code) • MML Compiler / Run-time engine • multiprocessing support • Analysis Methodology • easily editable models for “what if?” scenarios • model structure and data visualization • parameter space exploration • sensitivity analysis • parameter optimization for curve fitting • Wide availability • Windows, MacOS, Linux binary and source distributions available • runs WWW applet • commitment to open formats
JSim's Mathematical Modeling Language (MML) • Mathematics ODE, PDE, Implicit • Discrete events • Procedural code Java & C (currently) • Unit balance • Reusable templates Leike A. Eur. J. Phys. 23: 21-26 (2002)
JSim Analysis Methodology • Run types • Single runs • Loops • Sensitivity analysis • Optimization / curve fitting • Functional imaging (multiple optimizations) • Project files • store related set of models, parameter sets, data set, plot pages and notes • easy restoration of entire analysis • OS-independent XML, facilitates collaboration
Collaboration • Model code • CellML/SBML import (export in development) • C, Simulink export via JSim plug-ins • Numeric data • 8 formats currently supported, more under development • APIs • insert Java/C/Fortran code into MML models • extend JSim analysis & I/O functions via plug-in modules • physiome.org • JSim binaries (Linux, MacOS, Windows) • JSim source code & documentation • Curated model archives with runnable JSim applet models
Archiving and Sharing • Contribute to developing databases: Biomodels, CellML, SBML, Physiome.org, QKDB (quantitative kidney database). (Physiome.org will accept models in any reproducible form or language.) • Start new sites focusing on particular purposes • Foster adherence to model standards (though the standards on the IMAG site (WG10) need simplification. Balance checking. • Encourage use of units and automated unit balance checking. Other validation methods: check vs analytical solutions. • NLM archive of models?
Explore Physiome.org • www.physiome.org • www.physiome.org/Models • Model wikis: models that can be run over the web or downloaded. • (Jsim can be downloaded. Free of course.)