logo banner

Tutorial on CellML, OpenCOR & the Physiome Model Repository


This tutorial originated from a translation from a single Word document in July 2015. Aspects of formatting and presentation may need further work. For reference, the original tutorial is available here: OpenCOR-Tutorial-v17.pdf.

The current tutorial has now progressed well beyond the original version and we recommend using this online version or the PDF available via ReadTheDocs.

This tutorial shows you how to install and run the OpenCOR [1] software [APJ15], to author and edit CellML models [2] [DPPJ03] and to use the Physiome Model Repository (PMR) [3] [eal11]. We start by giving a brief background on the VPH-Physiome project. We then create a simple model, save it as a CellML file and run model simulations. We next try opening existing CellML models, both from a local directory and from the Physiome Model Repository. The various features of CellML [4] and OpenCOR are then explained in the context of increasingly complex biological models. A simple linear first order ODE model and a nonlinear third order model are introduced. Ion channel gating models are used to introduce the way that CellML handles units, components, encapsulation groups and connections. More complex potassium and sodium ion channel models are then developed and subsequently imported into the Hodgkin-Huxley 1952 squid axon neural model using the CellML model import facility. The Noble 1962 model of a cardiac cell action potential is used to illustrate importing of units and parameters. The tutorial finishes with sections on model annotation and the facilities available on the CellML website and the Physiome Model Repository to support model development, including the links to bioinformatic databases. There is a strong emphasis in the tutorial on establishing ‘best practice’ in the creation of CellML models and using the PMR resources, particularly in relation to modular approaches (model hierarchies) and model annotation.


This tutorial relies on readers having some background in algebra and calculus, but tries to explain all mathematical concepts beyond this, along with the physical principles, as they are needed for the development of CellML models. [5]


  • Colour background of CellML Text

  • Annotate screen shots with svg for same look and feel

  • CellML Text code is not highlighted for all display situations, currently only in environments that are using an adapted version of pygments

  • Tidy up citations and BiBTeX source (possibly use Zotero to manage?)

  • Make horizontal line for footnotes only visible in html output

  • Check external references markup

  • Consider a more suitable theme (may require changes to an existing one to get a good result)

  • Must check over output (and models) from screenshots to make sure that it matches the current release of OpenCOR, especially against running experiments for the first time.