Edit History

Wiki » History » Version 25

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 15 Vitor Chaud
{background:\#ddd}. |**Model**|&nbsp;&nbsp;&nbsp;&nbsp; **Label** &nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; **PyNN** &nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp; **NeuroML** &nbsp;&nbsp;&nbsp;&nbsp; |
43 15 Vitor Chaud
|Tonic spiking | &nbsp;&nbsp;&nbsp;A |(a) | &nbsp;&nbsp;&nbsp;(a) |
44 15 Vitor Chaud
|Phasic spiking| &nbsp;&nbsp;&nbsp;B |(a) | &nbsp;&nbsp;&nbsp;(a) |
45 15 Vitor Chaud
|Tonic bursting| &nbsp;&nbsp;&nbsp;C |(b) | &nbsp;&nbsp;&nbsp;(b) |
46 15 Vitor Chaud
|Phasic bursting| &nbsp;&nbsp;&nbsp;D |(a) | &nbsp;&nbsp;&nbsp;(a) |
47 15 Vitor Chaud
|Mixed mode| &nbsp;&nbsp;&nbsp;E |(a) | &nbsp;&nbsp;&nbsp;(a) |
48 15 Vitor Chaud
|Spike freq. adapt.| &nbsp;&nbsp;&nbsp;F |(a) | &nbsp;&nbsp;&nbsp;(a) |
49 15 Vitor Chaud
|Class 1 excitable| &nbsp;&nbsp;&nbsp;G |(d, e)| &nbsp;&nbsp;&nbsp;(a, e) |
50 15 Vitor Chaud
|Class 2 excitable| &nbsp;&nbsp;&nbsp;H |(d)| &nbsp;&nbsp;&nbsp;© |
51 15 Vitor Chaud
|Spike latency | &nbsp;&nbsp;&nbsp;I |(b)| &nbsp;&nbsp;&nbsp;(b) |
52 15 Vitor Chaud
|Subthresh. osc.| &nbsp;&nbsp;&nbsp;J |(a)| &nbsp;&nbsp;&nbsp;(a) |
53 15 Vitor Chaud
|Resonator| &nbsp;&nbsp;&nbsp;K |(a)| &nbsp;&nbsp;&nbsp;(a) |
54 15 Vitor Chaud
|Integrator| &nbsp;&nbsp;&nbsp;L |(e)| &nbsp;&nbsp;&nbsp;(a, e) |
55 15 Vitor Chaud
|Rebound spike| &nbsp;&nbsp;&nbsp;M |(a)| &nbsp;&nbsp;&nbsp;(a) |
56 15 Vitor Chaud
|Rebound burst| &nbsp;&nbsp;&nbsp;N |(a)| &nbsp;&nbsp;&nbsp;(a) |
57 15 Vitor Chaud
|Threshold variability| &nbsp;&nbsp;&nbsp;O |(a)| &nbsp;&nbsp;&nbsp;(a) |
58 15 Vitor Chaud
|Bistability| &nbsp;&nbsp;&nbsp;P |(b)| &nbsp;&nbsp;&nbsp;(b) |
59 15 Vitor Chaud
|Depolarizing after-potential| &nbsp;&nbsp;&nbsp;Q |(b)| &nbsp;&nbsp;&nbsp;(b) |
60 18 Vitor Chaud
|Accomodation| &nbsp;&nbsp;&nbsp;R |(d)| &nbsp;&nbsp;&nbsp;(a, f)|
61 15 Vitor Chaud
|Inhibition-induced spiking| &nbsp;&nbsp;&nbsp;S |(a)| &nbsp;&nbsp;&nbsp;©|
62 17 Vitor Chaud
|Inhibition-induced bursting| &nbsp;&nbsp;&nbsp;T |(b) | &nbsp;&nbsp;&nbsp;(b)|
63 16 Vitor Chaud
64 16 Vitor Chaud
(a) Same behaviour
65 24 Vitor Chaud
(b) Similar behaviour when slightly modifying parameters. See the table below.
66 16 Vitor Chaud
© Similar but not identical behaviour (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 24 Vitor Chaud
71 24 Vitor Chaud
#### Parameter changes to adequate model behaviour
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 |