How to realize the Hopf-bifurcation of hh model in NEURON?

Anything that doesn't fit elsewhere.
Post Reply
cassiehu
Posts: 35
Joined: Tue Sep 06, 2022 10:41 am

How to realize the Hopf-bifurcation of hh model in NEURON?

Post by cassiehu »

Hi, after learning the 'hh' model of neuron, I learned that there is a bifurcation of electrical response of neurons by the stimuli of current. When current is inscreasing, the voltage of neuron can change from resting potential to activated state. If the current stimuli is big and long enough, the voltage will be in a periodic activating state(when we stimulate a single neuron. However, if it is stimulated in the neuron netowork, it will be dependant on the excitatory or inhibitory synapses) But when I create a single neuron model using NEURON in Python(I insert built-in 'hh' only), there is no this phenonmenon. Does it mean there is something incorrect? Or what can I do to realize the correct 'hh' model performance?
https://pic.imgdb.cn/item/642bc38a6ea21b9a9e7e387a.gif(This is the gif from wikepedia. And I asked someone who learning neuroscience longer than me. The reply is most neurons will have this phenonmenon even though they may have different ion channels.)
But the model I built in Python, the voltage change of 40 pA stimuli lasted for 0.1ms is like this.
https://pic.imgdb.cn/item/642bc38a6ea21b9a9e7e387a.gif
Then I made the duration to be 1 ms, then it comes to this.
https://pic.imgdb.cn/item/642bc6fc6ea21b9a9ea2f6d6.png
And I tried to increase the value of current, only the amplitude of voltage is increasing.(I also tried to adjust the value of capacitance of membrane) So I wanna ask about this. If there was something I said it wrong, please correct me, thank you very much.
Looking forward to your reply.
cassiehu
Posts: 35
Joined: Tue Sep 06, 2022 10:41 am

Re: How to realize the Hopf-bifurcation of hh model in NEURON?

Post by cassiehu »

The code of my model is shown below.

Code: Select all

from __future__ import division
from neuron import h, nrn, gui

import matplotlib.pyplot as plt
plt.ion()
#################################################### Build Model #######################################################
h.celsius = 30
soma = h.Section(name="soma")
soma.L = 10  # um
soma.diam = 10  # um
# h("forall { nseg = int((L/(0.1*lambda_f(100))+0.9)/2)*2 + 1  }")
soma.nseg = 1
soma.cm = 5.1
soma.Ra = 1

h.load_file('stdrun.hoc')

soma.insert('hh')

stim6 = h.IClamp(soma(0.5))  # add a current clamp at the middle of the soma
stim6.delay = 5  # ms
stim6.dur = 10  # ms
stim6.amp = 5  # pA

soma_v = h.Vector()
soma_v.record(soma(0.5)._ref_v)

t = h.Vector()
t.record(h._ref_t)  # record time
h.v_init = -70 # set starting voltage
h.tstop = 30  # set simulation time
h.run()  # run simulation
#################################################### Plot Results ######################################################
plt.figure(figsize=(8, 5))
plt.plot(t, soma_v, color='b', label='V')
plt.xlim(0, h.tstop)
plt.xlabel('Time (ms)', fontsize=15)
plt.ylabel('V (mV)', fontsize=15)
plt.legend(fontsize=14, frameon=False)
plt.tight_layout()
plt.ioff()
plt.show()
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: How to realize the Hopf-bifurcation of hh model in NEURON?

Post by ted »

This discussion thread has been moved to the Other questions area of the Forum from the NEURON + Python area because it has nothing to do with the internal design of NEURON that enables Python to access NEURON and vice-versa.

Regarding the question "How to realize the Hopf-bifurcation of hh model in NEURON?", which one of the many bifurcations of the Hodgkin-Huxley model do you mean? See

Guckenheimer, J., Labouriau, J.S.
Bifurcation of the Hodgkin and Huxley equations: A new twist.
Bulletin of Mathematical Biology 55, 937–952 (1993). https://doi.org/10.1007/BF02460693

If you are primarily concerned with the response of the model to steady injected current, just use an IClamp with its delay parameter set to 5 or 10 ms (to allow time for the initialized model to settle at its resting potential), and its dur (duration) parameter set to 1e9 ms. Then run a series of simulations in which you gradually increase IClamp.amp to the point where the cell fires a train of spikes that doesn't stop even if simulation duration is long (at least 1e3 ms, depending on your patience). Then reduce IClamp.amp to the point where the spike train ends before the end of the simulation. At that point, the model will be poised just below that particular Hopf bifurcation.
Post Reply