I made syn.e = -80 to make the synapse inhibitory.
I tried to measure net transmembrane current (ina + ik + il_hh)
And I see a little bit of positive current still.
How should it be removed?
is it a normal result?
The code is as following:
Code: Select all
// checking validity of inhibitory synapse
begintemplate Cell
public soma
create soma
proc init() {
x = $1
y = $2
z = $3
d = $4
create soma
soma {
nseg = 1
diam = d
L = d
Ra = 150.0
insert hh
pt3dclear()
pt3dadd(x, y, z, d)
pt3dadd(x+d, y, z, d)
}
}
endtemplate Cell
objectvar neuron
neuron = new Cell(0, 0, 0, 20)
tstop = 500
objref Feedforward
Feedforward = new NetStim(0.5)
Feedforward.start = 200
Feedforward.interval = 40 // 2 Hz
Feedforward.number = tstop/40*1000
Feedforward.noise = 0
objref FFsyn
neuron.soma FFsyn = new Exp2Syn(0)
FFsyn.tau1 = 0.1
FFsyn.tau2 = 0.2
FFsyn.e = -80
objref FFcon
FFcon = new NetCon(Feedforward, FFsyn, 0.5, 0, 0.007)
objref apc0, apc1
neuron.soma apc0 = new APCount(0)
finitialize()
fcurrent()
objref g, h, gg
g = new Graph()
g.size(0,tstop,-80,40)
g.addvar("neuron.soma.v(0.5)")
h = new Graph()
h.size(0,tstop,-0.5,0.5)
h.addvar("FFsyn.i", 2, 0)
gg = new Graph()
gg.size(0,tstop,-0.02,0.02)
//gg.addvar("neuron.soma.i_cap(0.5)", 4, 0)
gg.addvar("neuron.soma.ik(0.5)", 4, 0)
gg.addvar("neuron.soma.il_hh(0.5)", 2, 0)
gg.addvar("neuron.soma.ina(0.5)", 3, 0)
gg.addexpr("ina+ik+il_hh", 1, 0)
g.begin()
h.begin()
gg.begin()
while (t<tstop) {
fadvance()
g.plot(t)
h.plot(t)
gg.plot(t)
}
g.flush()
h.flush()
gg.flush()