Many thanks for the work you put into this forum.
I am attempting to change synaptic conductance over the course of a train at specific time steps, and am using the vector play method as described in the two links in the comments below. Unfortunately, the vector is clearly not playing into the conductance value, and conductance remains at 0 over the course of the train. I have checked that when a single conductance value replaces the vector, the code works as expected, namely, a train of synaptic events of that single conductance is delivered at the onset time.
I suspect I am incorrectly using either the NetCon, NetStim, and/or Vector.play(). Would you be able to look at the code and identify my technical error? I have not provided model specification at this time for confidentiality reasons, but would be happy to do so privately if necessary.
Thank you again.
Code: Select all
## uses Vector.play() method from https://www.neuron.yale.edu/phpBB/viewtopic.php?t=163
## and https://nrn.readthedocs.io/en/latest/python/programming/math/vector.html#Vector.play
tchange = np.array([111, 116, 133, 151, 201])
e_sschange = np.array([0.0065, 0.00325, 0.0015, 0.00075, 0.00015])
tvec_chg = h.Vector().from_python(tchange)
evec_chg = h.Vector().from_python(e_sschange)
expSyn = h.Exp2Syn(0.5, h.soma)
expSyn.e = 0
expSyn.tau2 = .8
expSyn.tau1 = .2
ns = h.NetStim()
ns.number = 8
ns.interval = 1 * ms
ns.noise = 0
ns.start = 50 * ms
netCon = h.NetCon(ns, expSyn)
netCon.delay = 112
evec_chg.play(expSyn, netCon.weight[0], tvec_chg, 1)
v = h.Vector().record(h.soma(0.5)._ref_v)# Membrane potential vector
t = h.Vector().record(h._ref_t)# Time stamp vector
h.finitialize(-70 * mV)
h.continuerun(500 * ms)