Wiki » History » Version 26
Version 25 (Vitor Chaud, 30 Apr 2014 14:57) → Version 26/45 (Vitor Chaud, 30 Apr 2014 14:57)
Introduction
------------
This project deals with the re-implementation of Izhikevich’s spiking neuron model (See [here](http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1257420)). Currently, this model is supported by NeuroML 2 and PyNN (Neuron and NEST backends). Simulation results are in general equal or similar to those shown in the original publication (see Fig. 1 of [Izhikevich 2004](http://www.izhikevich.org/publications/whichmod.htm)). However, few model features are difficult to reproduce due to particularities regarding model description and/or backend implementations, as further described below.
### Installation
To get local clone of this project [Install Git](http://www.opensourcebrain.org/projects/gitintro/wiki/Wiki), go to the directory in which the project will be cloned and type:
> git clone https://github.com/OpenSourceBrain/IzhikevichModel.git
### Versions of the project
The original model in [MATLAB format](http://izhikevich.org/publications/figure1.m) has been converted to a number of other formats.
#### PyNN
Install [PyNN](http://neuralensemble.org/trac/PyNN/wiki/Installation). Preferably, use the latest v0.8 version from [GitHub](https://github.com/NeuralEnsemble/PyNN). Note: NEURON is the only supported simulator for this model at the moment.
> cd IzhikevichModel/PyNN/
To run a simulation type:
> python izhikevich2004.py neuron
#### NeuroML 2
…
The XML for an Izhikevich model in NeuroML v2.0 is below:
<code class="xml">
<izhikevichCell id="TonicSpiking" v0 = "-70mV" thresh = "30mV" a ="0.02" b = "0.2" c = "-65.0" d = "6" Iamp="0" Idel="0ms" Idur="2000ms"/></code>
For full examples of single cells see [TonicSpiking](/projects/izhikevichmodel/repository/entry/neuroConstruct/cellMechanisms/TonicSpiking/TonicSpiking.nml) or [PhasicBursting](/projects/izhikevichmodel/repository/entry/neuroConstruct/cellMechanisms/PhasicBursting/PhasicBursting.nml)
Tested with simulators: …
### Comparison to original model behaviour
table{border:1px solid black}.
{background:\#ddd}. |**Model**|**Label** |**Model**| **Label** | **PyNN** | **NeuroML 2** |**pyNN.neuron**| **pyNN.nest**| **NeuroML** |
|Tonic spiking | A |(a) | (a) | (a) |
|Phasic spiking| B |(a) | (a) | (a) |
|Tonic bursting| C |(b) | (b) | (b) |
|Phasic bursting| D |(a) | (a) | (a) |
|Mixed mode| E |(a) | (a) | (a) |
|Spike freq. adapt.| F |(a) | (a) | (a) |
|Class 1 excitable| G |(a, |(d, e)| (d, (a, e) | (e) |
|Class 2 excitable| H |©| (d) |(d)| © | (g) |
|Spike latency | I |(b)| (b) | (b) |
|Subthresh. osc.| J |(a)| (a) | (a) |
|Resonator| K |(a)| (a) | (a) |
|Integrator| L |(a, e)| (e) | (e) |(e)| (a, e) |
|Rebound spike| M |(a)| (a) | (a) |
|Rebound burst| N |(a)| (a) | (a) |
|Threshold variability| O |(a)| (a) | (a) |
|Bistability| P |(b)| (b) | (b) |
|Depolarizing after-potential| Q |(b)| (b) | (b) |
|Accomodation| R |(a, |(d)| (a, f)| (d)| (f)|
|Inhibition-induced spiking| S |(b)| (b)| (b)| |(a)| ©|
|Inhibition-induced bursting| T |(b) | (b)| (b)| (b)|
(a) Same behavior behaviour
(b) Similar behavior behaviour when slightly modifying parameters. See the table below.
© Similar but not identical behavior behaviour (different number of spikes in the stimulus time frame)
(d) Not yet implemented. Need ramp injected current. See https://github.com/NeuralEnsemble/PyNN/issues/257
(e) Requires an alternative model implementation since the model parameterization is different in the original Matlab code. In NeuroML new ComponentType [generalizedIzhikevichCell](https://github.com/OpenSourceBrain/IzhikevichModel/blob/master/NeuroML2/GeneralizedIzhikevichCell.xml) was created.
(f) Requires an alternative model implementation since the model parameterization is different in the original Matlab code. In NeuroML new ComponentType [accomodationIzhikevichCell](https://github.com/OpenSourceBrain/IzhikevichModel/blob/master/NeuroML2/GeneralizedIzhikevichCell.xml) was created.
(g) Could not reproduce model behavior
h4.
#### Parameter changes to adequate model behavior behaviour
table{border:1px solid black}.
{background:\#ddd}. |**Model**| **Label** | **Parameter**|**Original value**|**New value**|
|Spike latency | I | Amplitude of pulse current | 7.04 | 6.71 |
|Bistability | P | Initial time of 2nd pulse | 216 | 208 |
|Depolarizing after-potential | Q | b | 0.2 | 0.18 |
|Inhibition-induced spiking | S | Inhibition ending | 250 | 220 |
|Inhibition-induced bursting | T | d | ~~2.0 |~~0.7 |
------------
This project deals with the re-implementation of Izhikevich’s spiking neuron model (See [here](http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1257420)). Currently, this model is supported by NeuroML 2 and PyNN (Neuron and NEST backends). Simulation results are in general equal or similar to those shown in the original publication (see Fig. 1 of [Izhikevich 2004](http://www.izhikevich.org/publications/whichmod.htm)). However, few model features are difficult to reproduce due to particularities regarding model description and/or backend implementations, as further described below.
### Installation
To get local clone of this project [Install Git](http://www.opensourcebrain.org/projects/gitintro/wiki/Wiki), go to the directory in which the project will be cloned and type:
> git clone https://github.com/OpenSourceBrain/IzhikevichModel.git
### Versions of the project
The original model in [MATLAB format](http://izhikevich.org/publications/figure1.m) has been converted to a number of other formats.
#### PyNN
Install [PyNN](http://neuralensemble.org/trac/PyNN/wiki/Installation). Preferably, use the latest v0.8 version from [GitHub](https://github.com/NeuralEnsemble/PyNN). Note: NEURON is the only supported simulator for this model at the moment.
> cd IzhikevichModel/PyNN/
To run a simulation type:
> python izhikevich2004.py neuron
#### NeuroML 2
…
The XML for an Izhikevich model in NeuroML v2.0 is below:
<code class="xml">
<izhikevichCell id="TonicSpiking" v0 = "-70mV" thresh = "30mV" a ="0.02" b = "0.2" c = "-65.0" d = "6" Iamp="0" Idel="0ms" Idur="2000ms"/></code>
For full examples of single cells see [TonicSpiking](/projects/izhikevichmodel/repository/entry/neuroConstruct/cellMechanisms/TonicSpiking/TonicSpiking.nml) or [PhasicBursting](/projects/izhikevichmodel/repository/entry/neuroConstruct/cellMechanisms/PhasicBursting/PhasicBursting.nml)
Tested with simulators: …
### Comparison to original model behaviour
table{border:1px solid black}.
{background:\#ddd}. |**Model**|**Label** |**Model**| **Label** | **PyNN** | **NeuroML 2** |**pyNN.neuron**| **pyNN.nest**| **NeuroML** |
|Tonic spiking | A |(a) | (a) | (a) |
|Phasic spiking| B |(a) | (a) | (a) |
|Tonic bursting| C |(b) | (b) | (b) |
|Phasic bursting| D |(a) | (a) | (a) |
|Mixed mode| E |(a) | (a) | (a) |
|Spike freq. adapt.| F |(a) | (a) | (a) |
|Class 1 excitable| G |(a, |(d, e)| (d, (a, e) | (e) |
|Class 2 excitable| H |©| (d) |(d)| © | (g) |
|Spike latency | I |(b)| (b) | (b) |
|Subthresh. osc.| J |(a)| (a) | (a) |
|Resonator| K |(a)| (a) | (a) |
|Integrator| L |(a, e)| (e) | (e) |(e)| (a, e) |
|Rebound spike| M |(a)| (a) | (a) |
|Rebound burst| N |(a)| (a) | (a) |
|Threshold variability| O |(a)| (a) | (a) |
|Bistability| P |(b)| (b) | (b) |
|Depolarizing after-potential| Q |(b)| (b) | (b) |
|Accomodation| R |(a, |(d)| (a, f)| (d)| (f)|
|Inhibition-induced spiking| S |(b)| (b)| (b)| |(a)| ©|
|Inhibition-induced bursting| T |(b) | (b)| (b)| (b)|
(a) Same behavior behaviour
(b) Similar behavior behaviour when slightly modifying parameters. See the table below.
© Similar but not identical behavior behaviour (different number of spikes in the stimulus time frame)
(d) Not yet implemented. Need ramp injected current. See https://github.com/NeuralEnsemble/PyNN/issues/257
(e) Requires an alternative model implementation since the model parameterization is different in the original Matlab code. In NeuroML new ComponentType [generalizedIzhikevichCell](https://github.com/OpenSourceBrain/IzhikevichModel/blob/master/NeuroML2/GeneralizedIzhikevichCell.xml) was created.
(f) Requires an alternative model implementation since the model parameterization is different in the original Matlab code. In NeuroML new ComponentType [accomodationIzhikevichCell](https://github.com/OpenSourceBrain/IzhikevichModel/blob/master/NeuroML2/GeneralizedIzhikevichCell.xml) was created.
(g) Could not reproduce model behavior
h4.
#### Parameter changes to adequate model behavior behaviour
table{border:1px solid black}.
{background:\#ddd}. |**Model**| **Label** | **Parameter**|**Original value**|**New value**|
|Spike latency | I | Amplitude of pulse current | 7.04 | 6.71 |
|Bistability | P | Initial time of 2nd pulse | 216 | 208 |
|Depolarizing after-potential | Q | b | 0.2 | 0.18 |
|Inhibition-induced spiking | S | Inhibition ending | 250 | 220 |
|Inhibition-induced bursting | T | d | ~~2.0 |~~0.7 |