Edit History

Wiki » History » Version 26

Vitor Chaud, 30 Apr 2014 14:57

1 1 Padraig Gleeson
Introduction
2 7 Padraig Gleeson
------------
3 1 Padraig Gleeson
4 25 Vitor Chaud
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.
5 1 Padraig Gleeson
6 8 Padraig Gleeson
### Installation
7 7 Padraig Gleeson
8 22 Vitor Chaud
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:
9 1 Padraig Gleeson
10 22 Vitor Chaud
    > git clone https://github.com/OpenSourceBrain/IzhikevichModel.git
11 22 Vitor Chaud
12 8 Padraig Gleeson
### Versions of the project
13 7 Padraig Gleeson
14 7 Padraig Gleeson
The original model in [MATLAB format](http://izhikevich.org/publications/figure1.m) has been converted to a number of other formats.
15 7 Padraig Gleeson
16 20 Vitor Chaud
#### PyNN
17 20 Vitor Chaud
18 20 Vitor Chaud
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.
19 20 Vitor Chaud
20 21 Vitor Chaud
    > cd IzhikevichModel/PyNN/
21 20 Vitor Chaud
22 20 Vitor Chaud
To run a simulation type:
23 20 Vitor Chaud
24 20 Vitor Chaud
    > python izhikevich2004.py neuron
25 7 Padraig Gleeson
26 8 Padraig Gleeson
#### NeuroML 2
27 7 Padraig Gleeson
28 7 Padraig Gleeson
29 7 Padraig Gleeson
30 7 Padraig Gleeson
The XML for an Izhikevich model in NeuroML v2.0 is below:
31 7 Padraig Gleeson
32 1 Padraig Gleeson
    <code class="xml">
33 1 Padraig Gleeson
    <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>
34 1 Padraig Gleeson
35 1 Padraig Gleeson
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)
36 1 Padraig Gleeson
37 1 Padraig Gleeson
Tested with simulators: …
38 8 Padraig Gleeson
39 8 Padraig Gleeson
### Comparison to original model behaviour
40 8 Padraig Gleeson
41 8 Padraig Gleeson
table{border:1px solid black}.
42 26 Vitor Chaud
{background:\#ddd}. |**Model**|**Label** | **NeuroML 2** |**pyNN.neuron**| **pyNN.nest**|
43 26 Vitor Chaud
|Tonic spiking | &nbsp;&nbsp;&nbsp;A |(a) | &nbsp;&nbsp;&nbsp;(a) | &nbsp;&nbsp;&nbsp;(a) |
44 26 Vitor Chaud
|Phasic spiking| &nbsp;&nbsp;&nbsp;B |(a) | &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
45 26 Vitor Chaud
|Tonic bursting| &nbsp;&nbsp;&nbsp;C |(b) | &nbsp;&nbsp;&nbsp;(b) |&nbsp;&nbsp;&nbsp;(b) |
46 26 Vitor Chaud
|Phasic bursting| &nbsp;&nbsp;&nbsp;D |(a) | &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
47 26 Vitor Chaud
|Mixed mode| &nbsp;&nbsp;&nbsp;E |(a) | &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
48 26 Vitor Chaud
|Spike freq. adapt.| &nbsp;&nbsp;&nbsp;F |(a) | &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
49 26 Vitor Chaud
|Class 1 excitable| &nbsp;&nbsp;&nbsp;G |(a, e)| &nbsp;&nbsp;&nbsp;(d, e) | &nbsp;&nbsp;&nbsp;(e) |
50 26 Vitor Chaud
|Class 2 excitable| &nbsp;&nbsp;&nbsp;H |©| &nbsp;&nbsp;&nbsp;(d) | &nbsp;&nbsp;&nbsp;(g) |
51 26 Vitor Chaud
|Spike latency | &nbsp;&nbsp;&nbsp;I |(b)| &nbsp;&nbsp;&nbsp;(b) |&nbsp;&nbsp;&nbsp;(b) |
52 26 Vitor Chaud
|Subthresh. osc.| &nbsp;&nbsp;&nbsp;J |(a)| &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
53 26 Vitor Chaud
|Resonator| &nbsp;&nbsp;&nbsp;K |(a)| &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
54 26 Vitor Chaud
|Integrator| &nbsp;&nbsp;&nbsp;L |(a, e)| &nbsp;&nbsp;&nbsp;(e) |&nbsp;&nbsp;&nbsp;(e) |
55 26 Vitor Chaud
|Rebound spike| &nbsp;&nbsp;&nbsp;M |(a)| &nbsp;&nbsp;&nbsp;(a) | &nbsp;&nbsp;&nbsp;(a) |
56 26 Vitor Chaud
|Rebound burst| &nbsp;&nbsp;&nbsp;N |(a)| &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
57 26 Vitor Chaud
|Threshold variability| &nbsp;&nbsp;&nbsp;O |(a)| &nbsp;&nbsp;&nbsp;(a) |&nbsp;&nbsp;&nbsp;(a) |
58 26 Vitor Chaud
|Bistability| &nbsp;&nbsp;&nbsp;P |(b)| &nbsp;&nbsp;&nbsp;(b) | &nbsp;&nbsp;&nbsp;(b) |
59 26 Vitor Chaud
|Depolarizing after-potential| &nbsp;&nbsp;&nbsp;Q |(b)| &nbsp;&nbsp;&nbsp;(b) |&nbsp;&nbsp;&nbsp;(b) |
60 26 Vitor Chaud
|Accomodation| &nbsp;&nbsp;&nbsp;R |(a, f)| &nbsp;&nbsp;&nbsp;(d)|&nbsp;&nbsp;&nbsp;(f)|
61 26 Vitor Chaud
|Inhibition-induced spiking| &nbsp;&nbsp;&nbsp;S |(b)| &nbsp;&nbsp;&nbsp;(b)|&nbsp;&nbsp;&nbsp;(b)|
62 26 Vitor Chaud
|Inhibition-induced bursting| &nbsp;&nbsp;&nbsp;T |(b) | &nbsp;&nbsp;&nbsp;(b)|&nbsp;&nbsp;&nbsp;(b)|
63 16 Vitor Chaud
64 26 Vitor Chaud
(a) Same behavior
65 26 Vitor Chaud
(b) Similar behavior when slightly modifying parameters. See the table below.
66 26 Vitor Chaud
© Similar but not identical behavior (different number of spikes in the stimulus time frame)
67 19 Vitor Chaud
(d) Not yet implemented. Need ramp injected current. See https://github.com/NeuralEnsemble/PyNN/issues/257
68 18 Vitor Chaud
(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.
69 1 Padraig Gleeson
(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.
70 26 Vitor Chaud
(g) Could not reproduce model behavior
71 26 Vitor Chaud
h4. Parameter changes to adequate model behavior
72 24 Vitor Chaud
73 24 Vitor Chaud
table{border:1px solid black}.
74 24 Vitor Chaud
{background:\#ddd}. |**Model**| **Label** | **Parameter**|**Original value**|**New value**|
75 24 Vitor Chaud
|Spike latency | I | Amplitude of pulse current | 7.04 | 6.71 |
76 24 Vitor Chaud
|Bistability | P | Initial time of 2nd pulse | 216 | 208 |
77 24 Vitor Chaud
|Depolarizing after-potential | Q | b | 0.2 | 0.18 |
78 24 Vitor Chaud
|Inhibition-induced spiking | S | Inhibition ending | 250 | 220 |
79 24 Vitor Chaud
|Inhibition-induced bursting | T | d | ~~2.0 |~~0.7 |