When I'm trying something new, I find that it helps to keep everything as simple as possible, so I can focus all of my effort on the real problem. Using toy models with minimal instrumentation saves time and effort, and keeping run times short speeds up debugging and eliminates the need to wade through piles of numbers.
For these reasons, my conceptual model is merely a spherical passive cell, with surface area 100 um2, driven by a current clamp that injects a constant current. The variable to be recorded is membrane potential. The model's membrane time constant and the duration of the injected current should be long enough that membrane potential will change gradually from the time the current pulse starts until the end of the simulation. This ensures that mismatches at the boundaries between adjacent simulation segments would be revealed by obvious, abrupt changes in the time course of recorded membrane potential.
My development strategy proceeds in four steps:
- 1. Implement and test the computational model itself.
- Any doubt about whether there is a close match between the computational model and the conceptual model must be dispelled before one commits to using the computational model in any serious work.
- 2. Run a "complete" simulation and save its results.
- These results are needed to serve as the standard against which the results of a segmented simulation are compared.
- 3. Run a segmented simulation and save its results.
- 4. Reconstitute the results of a "complete" simulation from the results of a segmented simulation, and compare the two to verify that they are identical.
The following sections show how I achieved these four steps.