Wiki » History » Version 28
  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 | 28 | 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). At the moment, the model is supported by Neuron and NEST backend simulators. | 
| 19 | 1 | Padraig Gleeson | |
| 20 | 28 | Vitor Chaud | First, go to the PyNN subdirectory in your working directory: | 
| 21 | 28 | Vitor Chaud | |
| 22 | 1 | Padraig Gleeson | > cd IzhikevichModel/PyNN/ | 
| 23 | 20 | Vitor Chaud | |
| 24 | 28 | Vitor Chaud | To run a simulation using Neuron beckend type: | 
| 25 | 1 | Padraig Gleeson | |
| 26 | 1 | Padraig Gleeson | > python izhikevich2004.py neuron | 
| 27 | 28 | Vitor Chaud | |
| 28 | 28 | Vitor Chaud | … or to run a simulation using NEST beckend type: | 
| 29 | 28 | Vitor Chaud | |
| 30 | 28 | Vitor Chaud | > python izhikevich2004.py nest | 
| 31 | 7 | Padraig Gleeson | |
| 32 | 8 | Padraig Gleeson | #### NeuroML 2 | 
| 33 | 7 | Padraig Gleeson | |
| 34 | 7 | Padraig Gleeson | … | 
| 35 | 7 | Padraig Gleeson | |
| 36 | 7 | Padraig Gleeson | The XML for an Izhikevich model in NeuroML v2.0 is below: | 
| 37 | 7 | Padraig Gleeson | |
| 38 | 1 | Padraig Gleeson | <code class="xml"> | 
| 39 | 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> | 
| 40 | 1 | Padraig Gleeson | |
| 41 | 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) | 
| 42 | 1 | Padraig Gleeson | |
| 43 | 1 | Padraig Gleeson | Tested with simulators: … | 
| 44 | 8 | Padraig Gleeson | |
| 45 | 27 | Vitor Chaud | ### Comparison to original model behavior | 
| 46 | 8 | Padraig Gleeson | |
| 47 | 8 | Padraig Gleeson | table{border:1px solid black}. | 
| 48 | 26 | Vitor Chaud | {background:\#ddd}. |**Model**|**Label** | **NeuroML 2** |**pyNN.neuron**| **pyNN.nest**| | 
| 49 | 26 | Vitor Chaud | |Tonic spiking |    A |(a) |    (a) |    (a) | | 
| 50 | 26 | Vitor Chaud | |Phasic spiking|    B |(a) |    (a) |   (a) | | 
| 51 | 26 | Vitor Chaud | |Tonic bursting|    C |(b) |    (b) |   (b) | | 
| 52 | 26 | Vitor Chaud | |Phasic bursting|    D |(a) |    (a) |   (a) | | 
| 53 | 26 | Vitor Chaud | |Mixed mode|    E |(a) |    (a) |   (a) | | 
| 54 | 26 | Vitor Chaud | |Spike freq. adapt.|    F |(a) |    (a) |   (a) | | 
| 55 | 26 | Vitor Chaud | |Class 1 excitable|    G |(a, e)|    (d, e) |    (e) | | 
| 56 | 26 | Vitor Chaud | |Class 2 excitable|    H |©|    (d) |    (g) | | 
| 57 | 26 | Vitor Chaud | |Spike latency |    I |(b)|    (b) |   (b) | | 
| 58 | 26 | Vitor Chaud | |Subthresh. osc.|    J |(a)|    (a) |   (a) | | 
| 59 | 26 | Vitor Chaud | |Resonator|    K |(a)|    (a) |   (a) | | 
| 60 | 26 | Vitor Chaud | |Integrator|    L |(a, e)|    (e) |   (e) | | 
| 61 | 26 | Vitor Chaud | |Rebound spike|    M |(a)|    (a) |    (a) | | 
| 62 | 26 | Vitor Chaud | |Rebound burst|    N |(a)|    (a) |   (a) | | 
| 63 | 26 | Vitor Chaud | |Threshold variability|    O |(a)|    (a) |   (a) | | 
| 64 | 26 | Vitor Chaud | |Bistability|    P |(b)|    (b) |    (b) | | 
| 65 | 26 | Vitor Chaud | |Depolarizing after-potential|    Q |(b)|    (b) |   (b) | | 
| 66 | 26 | Vitor Chaud | |Accomodation|    R |(a, f)|    (d)|   (f)| | 
| 67 | 26 | Vitor Chaud | |Inhibition-induced spiking|    S |(b)|    (b)|   (b)| | 
| 68 | 26 | Vitor Chaud | |Inhibition-induced bursting|    T |(b) |    (b)|   (b)| | 
| 69 | 16 | Vitor Chaud | |
| 70 | 26 | Vitor Chaud | (a) Same behavior | 
| 71 | 26 | Vitor Chaud | (b) Similar behavior when slightly modifying parameters. See the table below. | 
| 72 | 26 | Vitor Chaud | © Similar but not identical behavior (different number of spikes in the stimulus time frame) | 
| 73 | 19 | Vitor Chaud | (d) Not yet implemented. Need ramp injected current. See https://github.com/NeuralEnsemble/PyNN/issues/257 | 
| 74 | 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. | 
| 75 | 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. | 
| 76 | 1 | Padraig Gleeson | (g) Could not reproduce model behavior | 
| 77 | 27 | Vitor Chaud | |
| 78 | 27 | Vitor Chaud | #### Parameter changes to adequate model behavior | 
| 79 | 24 | Vitor Chaud | |
| 80 | 24 | Vitor Chaud | table{border:1px solid black}. | 
| 81 | 24 | Vitor Chaud | {background:\#ddd}. |**Model**| **Label** | **Parameter**|**Original value**|**New value**| | 
| 82 | 24 | Vitor Chaud | |Spike latency | I | Amplitude of pulse current | 7.04 | 6.71 | | 
| 83 | 24 | Vitor Chaud | |Bistability | P | Initial time of 2nd pulse | 216 | 208 | | 
| 84 | 24 | Vitor Chaud | |Depolarizing after-potential | Q | b | 0.2 | 0.18 | | 
| 85 | 24 | Vitor Chaud | |Inhibition-induced spiking | S | Inhibition ending | 250 | 220 | | 
| 86 | 24 | Vitor Chaud | |Inhibition-induced bursting | T | d | ~~2.0 |~~0.7 | |