How to create patterned event streams

Moderator: wwlytton

Post Reply
ted
Site Admin
Posts: 5566
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

How to create patterned event streams

Post by ted » Mon May 05, 2008 9:15 am

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_NSPIKES = 3
BURST_ISI = 6
BURST_0 = 7
BURST_INTERVAL = 50

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.number = BURST_NSPIKES
P.interval = BURST_ISI
P.start = BURST_0
B.number = 1e9
B.interval = BURST_INTERVAL
B.start = BURST_0 + BURST_INTERVAL
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.

Post Reply