Please discard your custom initialization. Put aside all consideration of custom initialization

for the moment. Focus just on making a correct implementation of the anatomical and

biophysical specification of the model.

The first step in creating a NEURON implementation of the calcium accumulation

mechanism described by the authors is to determine the volumes and surface areas of the

compartments that contain this mechanism. Let us focus on the soma of the AB cell; you

will then be able to deal with the soma of the PD cell in a similar manner.

Surface area is easy. Start by assuming that specific membrane capacitance is 1 uf/cm2,

which means that 100 um2 of membrane has total capacitance 1 pf = 1e-3 nf.

AB soma has total capacitance = 9 nf, i.e. 9000 times larger.

Therefore AB soma surface area is 9e5 um2.

Volume is easy too.

In the absence of buffering or transport, 1 A of Ca current into a volume of 1 liter makes

[Ca] change at a rate of (1/2/FARADAY)) Molar/s = (1/2/FARADAY) mM/ms.

So if Ca current is 1 nA and volume is 1 um3, the rate is (1/2/FARADAY)*(1e6) mM/ms

(note that 1 liter = 1e15 um3).

And if the volume in um3 is vol, the rate of change is 1e6/(2*FARADAY*vol) mM/ms.

In the authors' formula tauca Cai' = -F*ICa - Cai + C0

the 2nd and 3rd terms on the RHS represent the effects of buffering and transport.

Ignoring those, tauca Cai' = -F*ICa

where tauca is in ms, F is in uM/nA, and ICa is in nA

A net Ca current of 1 nA makes Cai change at a rate of F/tauca (uM/ms)

= (1e-3) F/tauca (mM/ms)

so

1e6/(2*FARADAY*vol) = (1e-3) F/tauca

and vol = (1e9)*tauca/(2*F*FARADAY)

For a cylinder, volume = PI*L(diam/2)^2 and surface area = PI*L*diam so diam = 4*volume/area

Plugging in numbers we get AB soma area = 900000 um2, volume = 3756428.8 um3,

diam = 16.695239 um, and L = 17159.317 um.

So now we have the physical dimensions of the soma compartment.

What about the details of the Ca accumulation mechanism itself? This will do:

Code: Select all

```
COMMENT
NEURON implementation of calcium accumulation mechanism described in
Soto-Trevino et al.
J Neurophysiol 94: 590 â€“ 604, 2005.
ENDCOMMENT
NEURON {
SUFFIX cacumst
USEION ca READ ica WRITE cai
RANGE tau, C0
}
UNITS {
(mA) = (milliamp)
(mol) = (1)
(molar) = (mol/liter)
(mM) = (millimolar)
(uM) = (micromolar)
(um) = (micrometer)
FARADAY = (faraday) (coulombs)
}
PARAMETER {
tau = 303 (ms) : AB soma; 300 ms for PD soma
C0 = 0.5 (uM)
}
ASSIGNED {
ica (mA/cm2)
diam (um)
}
STATE {
cai (mM)
}
INITIAL {
cai = (1e-3)*C0
}
BREAKPOINT {
SOLVE states METHOD cnexp
}
COMMENT
Surface area of a cyl of length len is PI*len*diam
so net ca influx is -(ica/(2*FARADAY))*PI*len*diam
Volume is PI*len*diam^2/4
so in the absence of buffering or transport
rate of change of conc is -(ica/(2*FARADAY))*4/diam
ENDCOMMENT
DERIVATIVE states {
cai' = -(1e4)*2*ica/(FARADAY*diam) + (1e-3)*(C0 - (1e3)*cai)/tau
}
```

Note the numerous scale factors (constant multipliers inside paired parentheses)

which are needed to reconcile the authors' units with NEURON's preferred units.

Also note carefully the form of the first expression on the RHS of the statement in the

DERIVATIVE block, and its explanation in the preceding COMMENT block.

The following program, which I call testAB.hoc, tests this mechanism:

Code: Select all

```
load_file("nrngui.hoc")
create soma
access soma
soma {
diam = 16.695
L = 17159
insert cacumst
tau_cacumst = 1e9 // eliminate transport and buffer for this test
}
/*
F = 0.418 uM/nA
tauca = 303 ms
so 1 nA Ca influx x 303 ms should make cai increase by 0.418 uM
ditto for 303 nA Ca influx x 1 ms
*/
objref capp
capp = new CaPP(0.5) // delivers specified Ca current
capp.del = 1 // ms
capp.dur = 1 // ms
capp.amp = -303 // nA
finitialize(-65)
c0 = cai
print "Initial cai ", c0, "mM"
run()
print "Final cai ", cai, "mM"
print "Difference is ", 1e3*(cai-c0), "uM"
print "Soma capacitance is ", area(0.5)*cm*1e-5, "nF"
```

The physical dimensions of the soma compartment are those that were derived above

from the authors' model description, rounded off to 4 place precision. Making

tau_cacumst very large reduces the effect of buffer and transport to a negligible value.

CaPP is a custom point process that delivers a specified calcium current over a

specified time interval. It is patterned after the code in stim.mod, which defines the

IClamp class (see nrn/src/nrnoc/stim.mod).

Code: Select all

```
NEURON {
POINT_PROCESS CaPP
USEION ca WRITE ica
RANGE del, dur, amp
}
UNITS {
(nA) = (nanoamp)
}
PARAMETER {
del (ms)
dur (ms)
amp (nA) : negative is inward
}
ASSIGNED {
ica (nA)
}
BREAKPOINT {
at_time(del)
at_time(del + dur)
if (t > del && t < del + dur) {
ica = amp
}else{
ica = 0
}
}
```

Executing testAB.hoc generates this output:

Initial cai 0.0005 mM

Final cai 0.00091801976 mM

Difference is 0.41801976 uM

Soma capacitance is 8.9997049 nF

Note that total soma capacitance and the change of cai are both as expected.