Page 1 of 1

Identifying the source in NET_RECEIVE

Posted: Wed Sep 30, 2009 10:16 pm
by Joe29
Hello All,

Sorry for asking what seem to be such newbie questions, but after reading the neuron book and searching this forum, I still cannot find what I am looking for.

I am trying to create a network with hoc and nmodl with a learning algorithm that modifies the weights of the connections. I think the best way involves being able to identify the source of a given stimulus within a NET_RECEIVE (N_R) block, and then changing the netcon weight. I guess my biggest problem is not fully understanding the variables accessible in the NET_RECIEVE block. I currently have some ExpSyn's connected to a custom mod file. Does a N_R have access to all the variables inside the mod file which triggered the 'pulse'? Is there a net_send being activated within my ExpSyn's, such that any variables sent through that will come out the other side in the N_R? In another thread I noticed someone say something about a 'weight vector' used for use-dependent synaptic plasticity, though I was unclear as to whether a single variable which represented a vector was being passed, or if each of x1, x2 ... etc variables were that vector.

Any help in resolving this confusion would be greatly appreciated.

Thanks,
Joe

Re: Identifying the source in NET_RECEIVE

Posted: Thu Oct 01, 2009 11:23 am
by ted
Joe29 wrote:after reading the neuron book and searching this forum, I still cannot find what I am looking for.
Chapter 11 is most pertinent if you are using events to couple spike sources to their synaptic mechanism targets.

A simple STDP rule that depends entirely on the interval between the pre- and postsynaptic spikes can be implemented with the event delivery system--go to
http://www.neuron.yale.edu/neuron/node/2
and click on
2/23/2006
The mechanism shown there is a functional model of STDP (as opposed to a mechanistic model, which would involve some representation of the biological processes that account for the plasticity).

If you need a mechanistic model of STDP that involves processes in the presynaptic terminal, then the equations that describe those processes must be explicitly included in the implementation. If that's your goal, let me know, and I'll explain further. This can be done in a way that preserves many of the benefits of the event delivery system.
I think the best way involves being able to identify the source of a given stimulus within a NET_RECEIVE (N_R) block, and then changing the netcon weight.
Maybe. Not trying to be obscure, but the precise nature of what such identification entails depends on details of your conceptual model that have not yet entered this conversation. If the conceptual model is proprietary, private communication via email is an option (ted dot carnevale at yale dot edu).
Does a N_R have access to all the variables inside the mod file which triggered the 'pulse'?
It has access to none of them.
Is there a net_send being activated within my ExpSyn's
No. ExpSyn and Exp2Syn are event targets, not event sources. Maybe you meant to ask about NetCons. NetCons convey only the fact that an event happened, plus a weight vector and a flag variable. The flag variable is set by code in the target mechanism's NET_RECEIVE block. The elements of the weight vector are accessible from hoc, but usually only the first element is specified in hoc, at the time of model setup. Changes to any of the elements during a simulation are best done with NMODL statements in the NET_RECEIVE block, because those are translated to compiled code.
In another thread I noticed someone say something about a 'weight vector'
The entire vector is passed.