Transcript
Page 1: Modules for reusable and collaborative modeling of biological mathematical systems

Modules for Reusable and Collaborative Modelling of

Mathematical Biological Systems

Mandeep Gill, Steve McKeever, David Gavaghan

[email protected]

3rd IEEE Track on Collaborative Modelling and Simulation – CoMetS 12

Page 2: Modules for reusable and collaborative modeling of biological mathematical systems

Overview● Biological and Cardiac Modelling

● Ode DSL

● Collaborative Model Reuse

● Modules

● Model Module Repositories

● Partial Results

● Summary

Page 3: Modules for reusable and collaborative modeling of biological mathematical systems

Biological Modelling

● Overall goal to model entire human body, from genomic level upto organ and body level in an integrative 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

Page 4: Modules for reusable and collaborative modeling of biological mathematical systems

Biological Modelling

● Individual models are painstakingly derived from multiple sets of experimental data, from multiple disciplines, even across multiple species in a collaborative process

● Requires a knowledge and research in a variety of disciplines from multiple users utilising a range of modelling approaches

– Physiologists

– Biologists / Biochemists

– Mathematicians

– Software Engineers / Computer Scientists

Page 5: Modules for reusable and collaborative modeling of biological mathematical systems

Biological Modelling

● Typically model from a continuous, deterministic perspective, using ODEs and PDEs

– i.e. Cell cycles, signalling pathways, cardiac electrophysiology

● Our research is focused on cardiac modelling as it is highly developed with a range of specific models backed by experimental data

● Cardiac diseases and disorders comprise one of the largest sets of health risks in the Western world

Page 6: Modules for reusable and collaborative modeling of biological mathematical systems

Cardiac Modelling

● Computational modelling of the electrical and mechanical activity of the heart is recognised as a powerful technique in the detailed investigation of cardiac behaviour

– Particularly in respect to modelling disease and the effects of drugs on cardiac function

● Cardiac cell models typically investigate electrical changes during an action potential

– These are governed by the function of ion channels within the cell

– Flow of charged ions within capacitative membrane causes changes in cellular potential

Page 7: Modules for reusable and collaborative modeling of biological mathematical systems

Cardiac Modelling

● We traditionally model cardiac function at multiple levels

– 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

Page 8: Modules for reusable and collaborative modeling of biological mathematical systems

Cardiac Cell Model Example

δV =−I stim+ ∑ I ion

Cm

Page 9: Modules for reusable and collaborative modeling of biological mathematical systems

Multi-Scale Cardiac Models

Page 10: Modules for reusable and collaborative modeling of biological mathematical systems

Ode DSL

● DSL for developing mathematical (cardiac) biological cell 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

Page 11: Modules for reusable and collaborative modeling of biological mathematical systems

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

Page 12: Modules for reusable and collaborative modeling of biological mathematical systems

Model Validation - Type System

● Ode is type checked statically during compilation to enforce correctness of model equations

– i.e. checks nonsensical statements,– 5 + True // error

● This ensures that a valid model may always be simulated successfully

– although makes no guarantees regarding the correctness of the results

● Type information is used to guide optimisations during implementation

Page 13: Modules for reusable and collaborative modeling of biological mathematical systems

Model Validation - Units System

● Many models of physical systems are expressed in terms of units-of-measure

– type-system extended to support static checking of units

– speed : m/s = 100m / 10s

● Units can be created within the model and assigned to values

– used to check that all equations are dimensionally consistent

● Algorithm can infer the correct units in many cases,

● Where proven safe, the system can automatically convert between units of the same dimension

Page 14: Modules for reusable and collaborative modeling of biological mathematical systems

Collaborative Model Reuse

● Models are continuously developed and improved from,

– newer experimental research and data

– previous models and simulations● More complex, integrative models derived from the

composition 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

Page 15: Modules for reusable and collaborative modeling of biological mathematical systems

Collaborative Model Reuse

● Cardiac models have gone from 2 channels with 4 ODEs to over 11 channels with 60 ODEs to describe the same cell type within a species

● We can consider the single cell model as composed from multiple independent channels

Page 16: Modules for reusable and collaborative modeling of biological mathematical systems

Collaborative Model Reuse

● From modelling perspective, can consider each individual component as implementing an interface

● This interface is then utilised by the structure/cell to comprise the final model

● Providing these components exhibit the same interface, they may be,

– developed by multiple users

– replaced by different implementations

– altered to investigate differing model properties● Effect of drugs on well-known models

Page 17: Modules for reusable and collaborative modeling of biological mathematical systems

Modules

● The idea of reusable, composed components shown in the cell model is encapsulated with a flexible module system

– enables sharing/reuse within and between models

– leads to repository of reusable model components

● Module system allows grouping logically related model components into an connected, independent structure

● Type system used to generate a signature for the module that forms its interface

– ensures module may be correctly used and composed

Page 18: Modules for reusable and collaborative modeling of biological mathematical systems

ModulesSodiumChannel

PotassiumChannel

CalciumChannel

module CardiacModel {

import HH.CaChannel

import HH.KChannel

import HH.NaChannel

// model code goes here

}

Interfacecalc_I :: (milliV, milliV)

-> microA/cm^2

Cardiac Model

Page 19: Modules for reusable and collaborative modeling of biological mathematical systems

Parameterised Modules

● Allows a module to take user-defined modules as parameters

● Increases module flexibility and enables specialisation by module users

● Type system ensures safe module composition, checks all implementations exhibit same interface

PotassiumChannel #1

PotassiumChannel #2

module CardiacModel(KChannel) {

// as before...

}

ParameterisedCardiacmodel

Interfacecalc_I :: (milliV, milliV)

-> microA/cm^2

Page 20: Modules for reusable and collaborative modeling of biological mathematical systems

Module Repositories

● Modules may be contained within repositories

● Multiple repository hierarchies may be enabled by the modeller and utilised within the simulation environment

● Modules are referenced by a unique name derived from location within the repository directory structure

module SodiumChannel {...}...

import Repo1.Cardiac.HH58.SodiumChannel

Repo1/Cardiac/HH58.ode

Name

Page 21: Modules for reusable and collaborative modeling of biological mathematical systems

Module Repositories

● When backed by version control software a repository can form a collaborative environment

– Multiple users can create, modify and share modules

● Simulation-time type and units system ensures integrity of modules and their valid composition

– Invalid modules easily detected● Intend to have multiple repositories for differing

biological modelling domains

– Including a canonical model repository

Page 22: Modules for reusable and collaborative modeling of biological mathematical systems

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

Page 23: Modules for reusable and collaborative modeling of biological mathematical systems

(Partial) Results

● We are using DSL to create several human cardiac cell models that share a common lineage

● Use module features to parametrise modules through ion channels into reusable components with common interface

● Intend to simulate ad-hoc model variants derived from module composition in order to investigate parameter differences and relate to initial experimental data

● Intend to simulate models utilising custom high-performance GPU-based simulation engine

Page 24: Modules for reusable and collaborative modeling of biological mathematical systems

Summary

● DSL created to enable rapid prototyping of models (and high-performance simulation)

● Modularisation enables development by multiple parties within an interdisciplinary field

● Modules may be reused, composed and customised within more complex models

– Usage validated by strong type and units-checking present at the module interfaces

● Module repositories combined with a version control system enable both collaborative and centralised development

Page 25: Modules for reusable and collaborative modeling of biological mathematical systems

Acknowledgements● Supervisors

– Dr. Steve McKeever, University of Oxford, UK

– Prof. David Gavaghan, University of Oxford, UK

● Thank you for listening

● Questions?


Recommended