Artificial neuron model (Izhikevich 2003, 2004, 2007)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:39948
A set of models is presented based on 2 related parameterizations to reproduce spiking and bursting behavior of multiple types of cortical neurons and thalamic neurons. These models combine the biologically plausibility of Hodgkin Huxley-type dynamics and the computational efficiency of integrate-and-fire neurons. Using these model, one can simulate tens of thousands of spiking cortical neurons in real time (1 ms resolution) using a desktop PC.
References:
1 . Izhikevich EM (2007) Dynamical Systems in Neuroscience: The Geometry of Excitability and Bursting
2 . Izhikevich EM (2004) Which model to use for cortical spiking neurons? IEEE Trans Neural Netw 15:1063-70 [PubMed]
3 . Izhikevich EM (2003) Simple model of spiking neurons. IEEE Trans Neural Netw 14:1569-72 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Abstract Izhikevich neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Action Potential Initiation; Activity Patterns; Parameter Fitting; Simplified Models; Tutorial/Teaching; Action Potentials;
Implementer(s): Lytton, William [billl at neurosim.downstate.edu]; Dura-Bernal, Salvador [salvadordura at gmail.com];
NEURON {
    POINT_PROCESS Izhi2003b
    RANGE a,b,c,d,f,g,Iin,fflag,thresh
    NONSPECIFIC_CURRENT i
}

UNITS {
    (mV) = (millivolt)
    (nA) = (nanoamp)
    (nF) = (nanofarad)
}

INITIAL {
  v=-65
  u=0.2*v
  net_send(0,1)  
}

PARAMETER {
    a       = 0.02 (/ms)
    b       = 0.2  (/ms)
    c       = -65  (mV)   : reset potential after a spike
    d       = 2    (mV/ms)
    f = 5
    g = 140
    Iin = 10
    thresh = 30   (mV)   : spike threshold
    fflag = 1
}

ASSIGNED {
    v (mV)
    i (nA)
}

STATE {
    u (mV/ms)
}

BREAKPOINT {
    SOLVE states METHOD derivimplicit  : cnexp # either method works
    i = -0.001*(0.04*v*v + f*v + g - u + Iin)
}

DERIVATIVE states {
    u' = a*(b*v - u)
}

NET_RECEIVE (w) {
    if (flag == 1) {
        WATCH (v > thresh) 2
    } else if (flag == 2) {
        net_event(t)
        v = c
        u = u + d
    }
}

Loading data, please wait...