I again have some query regarding the use of extracellular. I am trying to model a long axon having hh and extracellular mechanism with the connection to ground available at only at one of the terminals (say 1-end). The other end (0-end) of the axon is stimulated via IClamp and I keep track of the .v, .vext[0], i_membrane at several segments along the length. I have set Ra/Re = 4 (with proper units, I believe).
I find that as soon as the stimulus starts, I can immediately see a depolarization at both the 0 and 1 ends, but no change simultaneously at the segments inbetween. The response at the 1-end is smaller (sub-threshold) than the 0-end (AP). If I change Ra/Re = 1, then identical responses are observed at both ends, and AP's are subsequently generated at the other segments from both ends.
I am unable to figure out why I see an instantaneous depolarization at the end of the axon (opposite to the site of stimulus), especially with the intermediate segments remaining at rest. I suppose the query is conceptual. Any help would be appreciated. Thanks in advance!
p.s. My thoughts right now are that the current injection (IClamp) takes place between the specified point and the ground, and thus current flows out of the segment connected to ground (here the 1-end) while it is injected at the specified site (0-end). But if so, how can I implement my model without having this issue, i.e. such as to have two separate grounds - one for the model and one for the stimulus?
My HOC code:
Code: Select all
load_file("nrngui.hoc")
create axon
axon {
L = 5000
diam = 1
nseg = L+1
cm = 1
Ra = 100
insert hh
//insert pas
//e_pas = -65
}
objref stim
stim = new IClamp(0)
stim.del = 2.5
stim.amp = 0.25
stim.dur = 0.5
tstop = 25
xopen("session_test.ses")
// ----- Extracellular Implementation -----
//Define
ratio_Ra_by_Re = 4
proc setExtra() {
axon {
insert extracellular
xc[0] = 0
xc[1] = 0
xg[0] = 1e-9 // Infinite Resistance
xg[1] = 1e-9 // Infinite Resistance
/*
To connext start (0) terminal to ground
xg[0](0) = 1e9
xg[1](0) = 1e9
*/
//To connext end (1) terminal to ground
xg[0](1) = 1e9 // No Resistance
xg[1](1) = 1e9 // No Resistance
xraxial[0] = ((Ra / ratio_Ra_by_Re)/(PI*((diam*1e-4/2)^2))) * 1e-6
xraxial[1] = 1e9 // Infinite Resistance
}
print "_________________________________________"
print "Extracellular Mechanism Inserted"
print "_________________________________________"
}
setExtra()
xpanel("Run Simulation")
xlabel("Run Simulation")
xbutton("Run", "run()")
xvalue("ratio_Ra_by_Re", "ratio_Ra_by_Re", 1, "setExtra()")
xpanel(400, 750)