The authors of ionic models (see also the list of ionic models we currently offer) are typically wet-lab savvy — they patch-clamp cells and run special experiments on them, stepping voltage up and down and whatnot, to understand the behavior of the ion channels in the cell’s membrane. They then assemble what they learn into a system of ordinary differential equations using Hodgkin-Huxley and Markov network formulations. These systems may be solved using a number of methods to reproduce with some degree of accuracy the electrical (and electrochemical) processes that take place in such a cell.
A number of methods for publishing ionic models exist, as highlighted in a recent discussion in the Cardiac Simulation LinkedIn group. Sergey mentions in particular MIRIAM and CellML. Our own Rob Blake has highlighted some of the pros of CellML on this blog. I must prod him to highlight also the significant cons. The most basic methods of ionic model publication are the inclusion of variables and equations in papers, and the publication of original code. For an example of how the equations and variables are normally published, have a look at the Luo and Rudy Dynamic (II) model (PDF) paper, starting on page 16, in the Appendix. Alternatively, Kirsten ten Tusscher has published C++ source code for her models. We have used that source code, for example, to thoroughly validate our TT and TT2 models.
I am generally a proponent of the publication of working ionic model code, specifically that used for the plots and other output in the corresponding publication. As any scientist who has ever written code and published something related knows, by the time the relevant paper is published you will have forgotten much of the details around running your own code. If you ‘clean it up’ a bit and post a single, supposedly-final version of your code with the article, it’s quite likely something will be off a bit from the ‘live’ code you used while writing the paper. But even that is better than trying to go back and extract the equations from the code after you’ve got everything working correctly. The wonderful thing about having such code available is that it’s possible to test new implementations against the original under all sorts of conditions, including disease conditions (for example, hyperkalemia) and extremely long run-times.
Have you published an ionic model? How do you feel about publishing code? CellML models? Equations? Have you ever tried to reimplement an ionic model from a paper? From a CellML model? How did it go?