Page 1 of 1

How to create patterned event streams

Posted: Mon May 05, 2008 9:15 am
by ted
A NEURON user asked this question:
I need to generate an artificial bursting pre-synaptic input to my multi-compartment neuron
model. Is there a way to modify NetStim so that a bursting input can be generated?
There are many ways to generate patterned trains of events. Instead of descending to
the level of NMODL, you might find it more convenient to do this:

Code: Select all

B      P
o----< o----<
B and P are both NetStims.
P is configured to generate the first burst.
B drives P to make the subsequent bursts.
Use the events that P generates to drive the synapse on your biophysical model cell.

Example: suppose you want bursts of 3 spikes with ISI = 6 ms.
The first burst must begin at 7 ms, and subsequent bursts are to start at 50 ms intervals,
i.e. bursts start at 7 + 50*i.

Code: Select all

BURST_0 = 7

objref B,P,bnc
B = new NetStim()
P = new NetStim()
bnc = new NetCon(B, P)
bnc.weight = 1.1 // actually anything > 0 should suffice
bnc.delay = 0

P.interval = BURST_ISI
P.start = BURST_0
B.number = 1e9
Possible refinements:
You can even introduce a bit of randomness into event times by taking advantage of the
NetStims' "noise" parameters.
If you need more than one stream of event bursts, wrap this "microcircuit" in a template
to create a new object class. Then you can create as many as you like, and assign each
its own parameters.