Click here to load reader

Modules for reusable and collaborative modeling of biological mathematical systems

  • View

  • Download

Embed Size (px)


Presentation delivered at the 3rd IEEE Track on Collaborative Modeling & Simulation - CoMetS'12. Please see for further details.

Text of Modules for reusable and collaborative modeling of biological mathematical systems

  • 1. 3rd IEEE Track on Collaborative Modelling and Simulation CoMetS 12 Modules for Reusable and Collaborative Modelling ofMathematical Biological Systems Mandeep Gill, Steve McKeever, David [email protected]

2. Overview Biological and Cardiac Modelling Ode DSL Collaborative Model Reuse Modules Model Module Repositories Partial Results Summary 3. Biological Modelling Overall goal to model entire human body, fromgenomic level upto organ and body level in anintegrative manner DNA, Protein, Cellular Compartments, Cells, Tissue, Organs, Entire Body Several major aims, including, Increased understanding of biological processes Personalised medicine and treatment In-silico experiments into disease and drug function 4. Biological Modelling Individual models are painstakingly derived frommultiple sets of experimental data, from multipledisciplines, even across multiple species in acollaborative process Requires a knowledge and research in a variety ofdisciplines from multiple users utilising a range ofmodelling approaches Physiologists Biologists / Biochemists Mathematicians Software Engineers / Computer Scientists 5. Biological Modelling Typically model from a continuous, deterministicperspective, using ODEs and PDEs i.e. Cell cycles, signalling pathways, cardiac electrophysiology Our research is focused on cardiac modelling as it ishighly developed with a range of specific modelsbacked by experimental data Cardiac diseases and disorders comprise one of thelargest sets of health risks in the Western world 6. Cardiac Modelling Computational modelling of the electrical andmechanical activity of the heart is recognised as apowerful technique in the detailed investigation ofcardiac behaviour Particularly in respect to modelling disease and the effects of drugs on cardiac function Cardiac cell models typically investigate electricalchanges during an action potential These are governed by the function of ion channels within the cell Flow of charged ions within capacitativemembrane causes changes in cellular potential 7. Cardiac Modelling We traditionally model cardiac function at multiplelevels Cellular level, treated as spatially homogeneous entity and modelled using ODEs Tissue level and organ level, using PDEs Simulation complex, solvers specific to each model Simulation extremely computationally intensive Modern cell models can require 20min Whole organ models can require 9min to simulate 100ms of rabbit ventricular activity Utilising a 2048-core computer cluster 8. Cardiac Cell Model Example I stim + I ionV =Cm 9. Multi-Scale Cardiac Models 10. Ode DSL DSL for developing mathematical (cardiac) biologicalcell models Features Numbers, Booleans, Functions, structures and mathematical operators Direct support for ODEs (potentially DAEs) Syntax similar to Python and MATLAB Based on sound, computational foundation Support for model validation and model reuse 11. Ode DSL Aims and Goals Enable rapid model construction and prototyping Executable model specification Facilitate model reuse and collaborative development Ease of use for non-programmers Specific support for biological modelling High simulation performance Investigation into multi-scale APIs/integration 12. Model Validation - Type System Ode is type checked statically during compilation toenforce correctness of model equations i.e. checks nonsensical statements, 5 + True // error This ensures that a valid model may always besimulated successfully although makes no guarantees regarding thecorrectness of the results Type information is used to guide optimisations duringimplementation 13. Model Validation - Units System Many models of physical systems are expressed interms of units-of-measure type-system extended to support static checking ofunits speed : m/s = 100m / 10s Units can be created within the model and assigned tovalues used to check that all equations are dimensionallyconsistent Algorithm can infer the correct units in many cases, Where proven safe, the system can automaticallyconvert between units of the same dimension 14. Collaborative Model Reuse Models are continuously developed and improvedfrom, newer experimental research and data previous models and simulations More complex, integrative models derived from thecomposition of existing, smaller models, e.g. Cardiac models derived from multiple ion channel models 2D and 3D tissue and whole organ models derived from finite element method and single cell models Require a mechanism to reuse models within DSL 15. Collaborative Model Reuse Cardiac models have gone from 2 channels with 4ODEs to over 11 channels with 60 ODEs to describethe same cell type within a species We can consider the single cell model as composedfrom multiple independent channels 16. Collaborative Model Reuse From modelling perspective, can consider eachindividual component as implementing an interface This interface is then utilised by the structure/cell tocomprise the final model Providing these components exhibit the sameinterface, they may be, developed by multiple users replaced by different implementations altered to investigate differing model properties Effect of drugs on well-known models 17. Modules The idea of reusable, composed components shown inthe cell model is encapsulated with a flexible modulesystem enables sharing/reuse within and between models leads to repository of reusable model components Module system allows grouping logically related modelcomponents into an connected, independent structure Type system used to generate a signature for themodule that forms its interface ensures module may be correctly used andcomposed 18. ModulesPotassiumSodiumCalcium Channel Channel ChannelInterfacecalc_I :: (milliV, milliV)-> microA/cm^2 Cardiac Modelmodule CardiacModel { import HH.CaChannel import HH.KChannel import HH.NaChannel // model code goes here } 19. Parameterised Modules Allows a module to take user-defined modules asparameters Increases module flexibility and enables specialisationby module users Type system ensures safe module composition,checks all implementations exhibit same interface module CardiacModel(KChannel) {PotassiumParameterised // as before...Channel #1Cardiac } modelPotassium Interfacecalc_I :: (milliV, milliV)Channel #2-> microA/cm^2 20. Module Repositories Modules may be contained within repositories Multiple repository hierarchies may be enabled bythe modeller and utilised within the simulationenvironment Modules are referenced by a unique name derivedfrom location within the repository directory structure Repo1/Cardiac/HH58.odemodule SodiumChannel {...}...Nameimport Repo1.Cardiac.HH58.SodiumChannel 21. Module Repositories When backed by version control software arepository can form a collaborative environment Multiple users can create, modify and share modules Simulation-time type and units system ensuresintegrity of modules and their valid composition Invalid modules easily detected Intend to have multiple repositories for differingbiological modelling domains Including a canonical model repository 22. Model Repositories Future areas Semantic Metadata quality, correctness, origins, ontologies Web interface to repository Best Practices i.e. Module naming and name-spacing Recommended interfaces for known entities Dependencies Intra- and Inter-repository Automatic retrieval of dependencies Some of these handled by CellML XML language for biological model curation 23. (Partial) Results We are using DSL to create several human cardiaccell models that share a common lineage Use module features to parametrise modules throughion channels into reusable components with commoninterface Intend to simulate ad-hoc model variants derivedfrom module composition in order to investigateparameter differences and relate to initialexperimental data Intend to simulate models utilising custom high-performance GPU-based simulation engine 24. Summary DSL created to enable rapid prototyping of models(and high-performance simulation) Modularisation enables development by multipleparties within an interdisciplinary field Modules may be reused, composed and customisedwithin more complex models Usage validated by strong type and units-checking present at the module interfaces Module repositories combined with a version controlsystem enable both collaborative and centraliseddevelopment 25. Acknowledgements Supervisors Dr. Steve McKeever, University of Oxford, UK Prof. David Gavaghan, University of Oxford, UK Thank you for listening Questions?