Izhikevich Model

Discussions of particular models.

Moderator: tom_morse

Post Reply
masso
Posts: 2
Joined: Tue May 24, 2005 12:14 pm
Location: Neuroengineering and Bio-nanoTecnology Group Univ. Genova (Italy)
Contact:

Izhikevich Model

Post by masso »

Hi,

I have a question about the Izhikevich model stored in the ModelDB. It works well by considering single cell, not synaptically connected. But how can I connect the neurons? I used the NetCon instruction but I did not obtain any results. Moreover, it is also difficult to stimulate. I tried by using the NetStim instruction, but the results were only small subthreshold depolarization. I attached part of the code.
Do you have some suggestions?
Thanks in advance

paolo
---------------------------------------------------------
create Input
objref stim, neurStim
Input {
stim = new NetStim(0.5)
stim.start = 0
stim.interval = 100
stim.number = tstop /stim.interval
stim.noise = 0
neurStim = new NetCon(stim, N_E[0].RS, 30, 0, 1)
}
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Post by Raj »

The implementation of Izhikevich's model in ModelDB is using the NetReceive block for resetting the model after a spike. Because no flag is used to indicate a self event every other mechanism that connects to it will also reset the model.

As a result the model as given on ModelDB http://senselab.med.yale.edu/modeldb/Sh ... odel=39948 cannot be used as an artificial cell but is only suitable as a demo of the model dynamics.

A way to change the demo code into an artificial cell or at least into a point process suitable for such use would be to detect the threshold crossing in the BREAKPOINT block before the SOLVE statement to reset the variables, and handle external input in the NETRECEIVE block. Then internal to the mechanism no NetCon is needed for detecting threshold crossing, as the method (as far as I know) is meant for fixed timestep this should not jeopardize your accuracy.

Be aware that not all the behaviors Izhikevich sketches are robust under changes of the timestep. It is easiest to try this with his Matlab implementation downloadable from his website and then specifically the parameter settings leading to oscillatory behavior.
Last edited by Raj on Fri Aug 17, 2007 2:10 am, edited 1 time in total.
wwlytton
Posts: 66
Joined: Wed May 18, 2005 10:37 pm
Contact:

model fix

Post by wwlytton »

did one of you want to fix this model or would you like me to fix it?

sounds like the easiest thing would be to specify a specific flag in the implementation so as not to interfere with netcons

unfortunately I do not have matlab so cannot compare to Izhekevich current model; I believe that Mike and I ported it from some C code that he sent me

if either of you would like to make the fix I will ask Ted how to replace the current version

Bill
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Post by Raj »

Well if that is helpfull I have an implementation, but it also includes clamp currents and Tsodyks plasticity model (adapted from Ted's implementation tmgsyn) and the only documentation is given in comments in the file, so it is not fully transparent and I am hesitant to put it on the website.

If you are interested send me an email message and I can send it to you.
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: model fix

Post by ted »

wwlytton wrote:if either of you would like to make the fix I will ask Ted how to replace the current version
Once the fix has been implemented, just send an email to the ModelDB administrator
(tom dot morse at yale dot edu)
wwlytton
Posts: 66
Joined: Wed May 18, 2005 10:37 pm
Contact:

replacement

Post by wwlytton »

I have not been using the Izh. model and just posted it as a service.

Paolo, please let us know what you want -- if you would like me to fix my implementation I would be happy to do so; if you would like to use Ron's implementation it sounds like he would be happy to provide it

either way, I would suggest that Ron post his implementation with bidirectional pointers to mine

Bill
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: replacement

Post by ted »

wwlytton wrote:I would suggest that Ron post his implementation with bidirectional pointers to mine
Raj's implementation might serve as a basis for a new or revised entry, but some consideration
should be given to whether it is truly representative of the originally published model,
especially since
Raj wrote:it also includes clamp currents and Tsodyks plasticity model
Criteria for accepting/making a model entry public, especially of "third party implementations"
of published models, have been the subject of recent internal discussion. The impetus
for this discussion was a case involving a different "third party implementation" that
included many important features of the original published model, but extended it by the
addition of other mechanisms etc.. This decision tree was a byproduct of the discussion:

Code: Select all

request to make the model public
           |
model is associated with publication
           | yes                     \ no
           |                          reject
request is from publication author
           | no                  | yes
model implements paper's         |
model faithfully or              |
recreates a figure               |
           | no     \ yes        |
         reject      \           |
                      make public, possibly
                      with editorial changes
Because of nontrivial mechanistic divergence from the published model description,
the entry was judged to be a new, unpublished model, and was therefore rejected.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Post by Raj »

The ModelDB decision tree looks like a good guide line, and fits my gutfeeling that the code I have available is suitable for personal communication only.

Anyway I believe the changes I indicated are sufficient to change Bill's implementation into an artificial cell.
masso
Posts: 2
Joined: Tue May 24, 2005 12:14 pm
Location: Neuroengineering and Bio-nanoTecnology Group Univ. Genova (Italy)
Contact:

Post by masso »

Hi Bill,

what I would like that the Izhikevich model do, is to receive synaptic events. I think that the problem is in the NET_RECEIVE block. If I compare this block with the same in the Integrate and Fire Neuron (built-in model) it lacks a flag that takes into account an event coming from other neurons. Is it true?

Thanks

paolo
wwlytton
Posts: 66
Joined: Wed May 18, 2005 10:37 pm
Contact:

new Izhikevich model

Post by wwlytton »

The Izhikevich model has been replaced with a new improved version for NEURON.

The new .mod file uses the WATCH statement so as to avoid the need to have an external NetCon looking for threshold passage

A gsyn parameter has been added to allow activation from NetCons
This makes it easy to include the model in a network model.

The izhstim() command in izh.hoc illustrates how to connect the mechanism.
Post Reply