how to implement a synapse of square conductance

The basics of how to develop, test, and use models.
Post Reply
zhg2601
Posts: 6
Joined: Fri Dec 12, 2008 11:52 pm

how to implement a synapse of square conductance

Post by zhg2601 »

Hi, just a very stupid question. I know there are built-in alpha and bi-exponential synapses. But the assignment from the teacher requires a square synapse. How to do that in a simple way?
ted
Site Admin
Posts: 5810
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: how to implement a synapse of square conductance

Post by ted »

Compile this and use it just like you'd use an ExpSyn. This is a very limited mechanism--any input turns it on, and it stays on with a fixed conductance until it turns itself back off. A train of input events delivered to an instance of this mechanism, whether by a single NetCon or by multiple NetCons, does NOT result in an incrementing synaptic conductance. It's either on, or it's off, and when it's on, its conductance remains constant until it turns itself off.

Code: Select all

COMMENT
"Pulse" synapse (you may think of this as a single ion channel
with fixed open time that responds to synaptic activation).
If the synapse is off, an input event increments g by g1 for duration dur.
If the synapse is on, input events have no effect.

Magnitude of the conductance is specified by PARAMETER g1,
not by the NetCon's weight.
ENDCOMMENT

NEURON {
  POINT_PROCESS PulseSyn
  RANGE dur, g1, e, g, i
  NONSPECIFIC_CURRENT i
}

UNITS {
  (nA) = (nanoamp)
  (mV) = (millivolt)
  (uS) = (microsiemens)
}

PARAMETER {
  dur = 0.1 (ms) <1e-9,1e9>
  g1 = 0 (uS) <0,1e9> : conductance response to a unitary event
  e = 0  (mV)
}

ASSIGNED {
  v (mV)
  i (nA)
  g (uS)
  on (1)
}

INITIAL {
  g = 0
  if (g1 < 0) { g1 = 0 }
  on = 0
}

BREAKPOINT {
  i = g*(v - e)
}

NET_RECEIVE(w) {
  : the only events that arrive when on==0 are input events
  if (on==0) {
    : a spike arrived and the channel is closed
    g = g1
    net_send(dur, 1) : to turn it off
    on = 1
  } else if (flag==1) {
    g = 0
    on = 0
  }
}
zhg2601
Posts: 6
Joined: Fri Dec 12, 2008 11:52 pm

Re: how to implement a synapse of square conductance

Post by zhg2601 »

thanks for your prompt help. it works well.
ted
Site Admin
Posts: 5810
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: how to implement a synapse of square conductance

Post by ted »

If your work leads to a publication, please be sure to let me know so we can add it to the Bibliography page
http://www.neuron.yale.edu/neuron/stati ... ednrn.html
zhg2601
Posts: 6
Joined: Fri Dec 12, 2008 11:52 pm

Re: how to implement a synapse of square conductance

Post by zhg2601 »

Of course, I am now in the beginning stage of learning.
ted
Site Admin
Posts: 5810
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: how to implement a synapse of square conductance

Post by ted »

Learning never stops.
Post Reply