Catherine Lloyd et al.
Auckland Bioengineering Institute
CellML is an XML-based markup language which leverage off existing standards (e.g. MathML and RDF). Why is a standard format needed at all? The answer lies in the publishing process. A modeller starts out writing the model in whatever language they want, but then when others want to access the model from a publication, how can they run it or understand it? Also, the writing out of the model as a series of equations or graphics can introduce the possibility of errors. Why not just publish in MATLAB? Why bother putting it in CellML? Well, MATLAB isn't used by everyone. And where it is used, it's a procedural language and distinct from the published paper, which has nothing procedural.
Although they have best-practice standards, there are no requirements. This flexible structure can be used to describe a wide range of types of models: electrophysiology, immunology, cell cycle, muscular contraction, synthetic biology and more. There are some limitations: CellML is good at describing at the molecular and cellular model, but not so good at tissue-scale. However, work is underway on this cross-scale modelling.
CellML is modular structure allowing models to be broken into components. CellML has an import feature that allows you to stick bits of models together, like lego bricks. SBML doesn't have this yet, though it is planned for future versions. This import feature is really useful, and saves time. In CellML models can share entities (e.g. proteins) and processes (e.g. reactions) between models. Imports are also helpful for models with repeating units. For a cell/pacemaker model, a pacemaker unit can be defined once and imported many times.
They have two tools (PCEnv and COR) to help develop CellML models. PCEnv allows development in CellML and then export in other formats such as MATLAB, C, Python etc. PCEnv is windows/linux/mac, COR is windows only. Both tools can also run simulations. PCEnv also shows embedded SVG diagrams of all the models in the repository.
The CellML Model Repository: http://www.cellml.org/models
This repository has over 380 models, all are free for download. The majority are from published paper. For each model entry, there is a short description, curation status, a schematic diagram. Model curation includes model validation and documentation. Of the 380 models, only 4 have been translated straight from the published paper into a working CellML model (i.e. without help from the curation team first). This is because there are often typographical errors in the paper, a lack of unit definitions, missing parameters, missing initial conditions, missing equations etc. At the moment they have a star system. 0 = not curated yet. 1 = maths consistent with published paper. 2 = model's complete and reproduced the results in the published paper. 3 = model satisfies physical constraints, e.g. conservation of mass, momentum, charge etc. Other problems: for some older models we never have access to original code.
There's lots of collaboration with SBML. Currently the diagrams are made manually, and there's no reason why it can't be done automatically, and that's being worked on now. If we want to encourage (via journals) modellers to put their models into SBML or CellML, we need to provide really nice tools and help making the models.
Please note that this post is merely my notes on the presentation. They are not guaranteed to be correct, and unless explicitly stated are not my opinions. They do not reflect the opinions of my employers. Any errors you can happily assume to be mine and no-one else's. I'm happy to correct any errors you may spot – just let me know!