5-neuron-model of neocortex for producing realistic extracellular AP shapes (Van Dijck et al. 2012)

 Download zip file 
Help downloading and running models
This is a 5-neuron model of neocortex, containing one tufted layer-5 pyramidal cell, two non-tufted pyramidal cells, and two inhibitory interneurons. It was used to reproduce extracellular spike shapes in a study comparing algorithms for spike sorting and electrode selection. The neuron models are adapted from Dyhrfjeld-Johnsen et al. (2005).
1 . Van Dijck G, Seidl K, Paul O, Ruther P, Van Hulle MM, Maex R (2012) Enhancing the yield of high-density electrode arrays through automated electrode selection. Int J Neural Syst 22:1-19 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Extracellular; Neuron or other electrically excitable cell; Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Neocortex U1 L5B pyramidal pyramidal tract GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell;
Gap Junctions:
Simulation Environment: GENESIS;
Model Concept(s):
Implementer(s): Maex, Reinoud [reinoud at bbf.uia.ac.be];
Search NeuronDB for information about:  Neocortex U1 L5B pyramidal pyramidal tract GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell;
Axon_chans.g *
DiffRm.g *
electrodes_fixbug.g *
electrodes_try.g *
Excitatory_fibres.g *
Fibres.g *
Firing_rate_modulation.g *
Firing_rate_profile.g *
Gran_synchan.g *
Harsch-Robinson_modulation.g *
Hgradient.g *
Inhibitory_fibres.g *
L5P_ascout.g *
L5P_ascout_exp.g *
L5P_chans.g *
L5P_chans_tab_Temp.g *
L5P_chans_Temp.g *
L5P_comps.g *
L5P_const.g *
L5P_const+axon+syn.g *
L5P_history.g *
nsynapses.g *
test_position.g *

// Added diffamp to represent spontaneous activity.

// The firing rate modulation is achieved by a separate randomspike element
// whose spike output is low-pass filtered by an RC element. The average output of the
// RC element is 1, so that the average output of the target diffamp elements remains
// unchanged, only their temporal profile is modulated (see papers by Harsch and Robinson).

// The rate of the randomspike element and the decay time constant of the RC element
// can be set. A small time-constant leads to more synchronous activation of the 
// target synapses.
// The output is fed as PLUS msg into a separate diffamp element that in turn will 
// set the gain of the diffamps (see Firing_rate_profile.g) driving the randomspike 
// elements (Excitatory_fibres.g).

echo blabla1

// echo gives parse error when - is used instead of _

function Harsch_Robinson_modulation (mean_rate, time_constant)
//function Harsch-Robinson_modulation (mean_rate, time_constant)

   echo blabla3

   float mean_rate, time_constant

// So to have unity average, the gain R of the RC element should be
// set to the inverse of (mean_rate) * (time_constant).
// However, the initial value caused by the pulse will be about
// dt * (R/tau} (assume we are on linear part of exponential), so we
// should also divide by this, giving a net division by dt and frequency.
// This works, but takes a long time to reach 'steady-state'.
    echo {mean_rate} {time_constant}

	create randomspike /HR_modulation
	setfield ^ rate {mean_rate}

	create RC /HR_modulation/RC

    if ({{{mean_rate} != 0} && {{time_constant} != 0}})
//         setfield ^ R {1 / {{mean_rate} * {dt}}} 
         setfield ^ R {1 / {{mean_rate} * 25e-6}} 
         setfield ^ C {{time_constant} / {getfield ^ R}}
    else setfield ^ R 0  
         setfield ^ C 0

	addmsg /HR_modulation /HR_modulation/RC INJECT state

    create diffamp /HR_modulation/RC/diffamp
    setfield ^ plus 0.5 gain 1 saturation 10e10 // spontaneous activity
    addmsg /HR_modulation/RC /HR_modulation/RC/diffamp PLUS state
    addmsg /HR_modulation/RC/diffamp      /output/{asc_name} SAVE output