A Federated Design for a Neurobiological Simulation Engine: The CBI federated software architecture.

Cornelis H, Coop AD, and Bower JM

Supplementary Materials 3:

The following snippet was obtained from A NEURON Programming Tutorial: Part B
(http://www.anc.ed.ac.uk/school/neuron/tutorial/tutB.html) where it is noted that:

“Th[e] method of specifying a point on the section is conceptually independent of the number of segments in the section. Thus, when you insert a point process ...20% down the section, it is physically inserted into the segment that contains the point 20% down the section. However, due to the way NEURON works, if you later change the spatial resolution of the section, the point process may no longer be in the segment containing the point 20% down the section. ...it’s best to specify nseg before attaching point processes.”

ndend = 2  
create soma, dend[ndend]  
access soma  
soma {  
  nseg = 1  
  diam = 18.8  
  L = 18.8  
  Ra = 123.0  
  insert hh  
dend[0] {  
    nseg = 5  
    diam = 3.18  
    L = 701.9  
    Ra = 123  
    insert pas  
dend[1] {  
    nseg = 5  
    diam = 2.0  
    L = 549.1  
    Ra = 123  
    insert pas  
// Connect things together  
connect dend[0](0), soma(0)  
connect dend[1](0), soma(1)  
// create an electrode in the soma  
objectvar stim  
stim = new IClamp(0.5)  
stim.del = 100  
stim.dur = 100  
stim.amp = 0.1  
tstop = 300  

In NEURON the outcome of a simulation may depend on the order of code statements. For example, suppose nseg is 1 and you try to put an IClamp at 0.1. It will actually end up at 0.5. This is because the segment is one electrical compartment, so it doesn’t make any difference to the mathematical solvers where the electrode is placed. NEURON allocates the position to be the centre of the segment rather than keeping track of its defined location. If nseg is later increased to 3, IClamp remains in the middle of the second segment at 0.5 even although it is the first segment that contains the desired location 0.1.

Such tight coupling between the model and an experiment can introduce many subtle and unintended consequences for investigators.