Page 1 of 1

LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Wed May 19, 2021 11:36 am
by jhielson
Hi there,

I am going through a hard time trying to implement and use a LIF model. I hope someone in this forum can help me with this issue. I need to generate a LIF neuron model with GABA/AMPA/NMDA conductances to build my cerebellar network. It seems the ones available on NEURON (IntFire1, IntFire2 and IntFire4) have different or no conductances. Based on my readings, I am supposed to build a point_process cell using the NMODL programming language. The Neuron book mentions that the computation should be done within a 'net_receive' block because this type of cell does not have topology and does not use other types of blocks like 'breakpoint'. In this way, I am not sure how the simulator identifies the equations of each synapse (excitatory and inhibitory) if everything is calculated within the same block. Besides, I wonder how NetPyNE recognizes this model and executes the synapses properly.

Please, let me know if a similar model has already been implemented and used on NetpyNE.

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Wed May 19, 2021 7:12 pm
by ted
Based on my readings, I am supposed to build a point_process cell using the NMODL programming language.
I don't know what your readings are, but good luck with implementing such an artificial spiking cell completely in NMODL. The easy ones have already been done. This
a LIF neuron model with GABA/AMPA/NMDA conductances
is not so easy.

My suggestion: cheat. Start with a single compartment biophysical model cell, and assign it whatever anatomical and (passive) biophysical properties you need to account for subthreshold behavior. Attach to it an ExpSyn with params appropriate for an AMPAergic synaps, an Exp2Syn with params appropriate for a GABA-A synapse, and another Exp2Syn with params appropriate for a GABA-B synapse. That will give you a model cell that summates excitatory and inhibitory synaptic currents generated by the three synaptic mechanisms. Also attach a modified version of SpikeOut, a point process class that Michael Hines and I used for the paper
Brette et al.. Simulation of networks of spiking neurons: a review of tools and strategies. J Comput Neurosci 23:349-98, 2007.
And you can wrap the model cell, its synaptic mechanisms, and its SpikeOut instance in a class definition so that you can easily spawn multiple instances of model cells for use in a network.

What does SpikeOut do? It monitors local membrane potential for a positive going threshold crossing. When one occurs, it generates a "spike event" that can be sent to synaptic targets via NetCons. And it also resets the single compartment model cell's membrane potential for a user-specified duration to a user-specified level (think "post-spike hyperpolarization and refractory period"). After the end of the refractory period, it lets the single compartment cell resume adding up synaptic currents.

How should SpikeOut be modified from what Hines and I used? The simplest and most important modification, IMO, is to change its thresh, refrac, vrefrac, and grefrac parameters from GLOBAL to RANGE. Why is this useful? It allows you to use SpikeOut to implement different "types" of model neurons by assigning them different values for spike threshold, duration of the refractory interval, and membrane potential during the refractory interval. grefrac controls how fast and how closely the membrane potential is pulled toward vrefrac during the refractory interval; I think I'd leave that unchanged from its default value of 100 microsiemens.

Just to help you avoid having to reinvent the wheel, I'll zip up a demo program for this in a file called spdemo.zip and email it to you. Unzip it, compile the included mod file, then execute the command
python3 -i spdemo.py
I'll also include some instructions that you can follow to explore how this model cell works.

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Thu May 20, 2021 12:51 pm
by jhielson
Thank you for your help and your prompt reply. I am looking forward to receiving your email with the demo files.

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Thu May 20, 2021 2:23 pm
by ted
Sent yesterday to your hw.ac.uk address at about 740 PM EDT (i.e. New York time).

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Fri May 21, 2021 8:49 am
by jhielson
Thank you.

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Mon May 15, 2023 12:42 am
by lining
ted wrote: ↑Wed May 19, 2021 7:12 pm
Based on my readings, I am supposed to build a point_process cell using the NMODL programming language.
I don't know what your readings are, but good luck with implementing such an artificial spiking cell completely in NMODL. The easy ones have already been done. This
a LIF neuron model with GABA/AMPA/NMDA conductances
is not so easy.

My suggestion: cheat. Start with a single compartment biophysical model cell, and assign it whatever anatomical and (passive) biophysical properties you need to account for subthreshold behavior. Attach to it an ExpSyn with params appropriate for an AMPAergic synaps, an Exp2Syn with params appropriate for a GABA-A synapse, and another Exp2Syn with params appropriate for a GABA-B synapse. That will give you a model cell that summates excitatory and inhibitory synaptic currents generated by the three synaptic mechanisms. Also attach a modified version of SpikeOut, a point process class that Michael Hines and I used for the paper
Brette et al.. Simulation of networks of spiking neurons: a review of tools and strategies. J Comput Neurosci 23:349-98, 2007.
And you can wrap the model cell, its synaptic mechanisms, and its SpikeOut instance in a class definition so that you can easily spawn multiple instances of model cells for use in a network.

What does SpikeOut do? It monitors local membrane potential for a positive going threshold crossing. When one occurs, it generates a "spike event" that can be sent to synaptic targets via NetCons. And it also resets the single compartment model cell's membrane potential for a user-specified duration to a user-specified level (think "post-spike hyperpolarization and refractory period"). After the end of the refractory period, it lets the single compartment cell resume adding up synaptic currents.

How should SpikeOut be modified from what Hines and I used? The simplest and most important modification, IMO, is to change its thresh, refrac, vrefrac, and grefrac parameters from GLOBAL to RANGE. Why is this useful? It allows you to use SpikeOut to implement different "types" of model neurons by assigning them different values for spike threshold, duration of the refractory interval, and membrane potential during the refractory interval. grefrac controls how fast and how closely the membrane potential is pulled toward vrefrac during the refractory interval; I think I'd leave that unchanged from its default value of 100 microsiemens.

Just to help you avoid having to reinvent the wheel, I'll zip up a demo program for this in a file called spdemo.zip and email it to you. Unzip it, compile the included mod file, then execute the command
python3 -i spdemo.py
I'll also include some instructions that you can follow to explore how this model cell works.
Hi ted,

could you help send me the spdemo.zip too? I am a totally beginer to neuron, and tring to find a basic simulation demo using LIF with some result plotting. Hope to get your help。

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Mon May 15, 2023 2:36 pm
by ted

Re: LIF neuron model with GABA/AMPA/NMDA conductances

Posted: Mon May 15, 2023 10:40 pm
by lining
ted wrote: ↑Mon May 15, 2023 2:36 pm Here is the file you wanted
https://www.neuron.yale.edu/ftp/ted/neuron/spdemo.zip
thank you 😊