import numpy as np
import matplotlib.pyplot as plt
Bursting Neuron
The goal in this notebook is to update the HH equations to include a new (slow) current and produce bursting activity.
To do so, start with the HH code available here.
Update the HH model to include the \(\bf{g_K-}\)“M” current listed in Table A2 of this publication.
In the code below, we’ll use the variable B
to define the gate for this current.
Challenges
1. Plot the steady-state function and time constant for this new current.
HINT: In Table A2 of this publication, the authors provide the forward rate function (\(\alpha[V]\)) and backward rate function (\(\beta[V]\)) for this current. Use these functions to compute the steady-state function and time constant, and plot both versus V.
2. Update the HH model to include this new current.
HINT: Update the HH model to accept three inputs: HH(I0, T0, gB0)
, where gB0
is the maximal conductance of the new current.
HINT: Update the HH model to return six outputs: return V,m,h,n,B,t
, where B
is the gate variable of the new current.
3. Find parameter settings so that the model produces bursting activity.
HINT: Fix I0=10
and T0=500
and vary the maximal conductance of the new current, gB0
, until you find a value that supports bursting in the voltage.
HINT: Plot the voltage V
and the new current gate B
to visualize how the dynamics behave.
4. Compute the spectrum to characterize the dominant rhythms.
HINT: Be sure to carefully define T
.
def alphaM(V):
return (2.5-0.1*(V+65)) / (np.exp(2.5-0.1*(V+65)) -1)
def betaM(V):
return 4*np.exp(-(V+65)/18)
def alphaH(V):
return 0.07*np.exp(-(V+65)/20)
def betaH(V):
return 1/(np.exp(3.0-0.1*(V+65))+1)
def alphaN(V):
return (0.1-0.01*(V+65)) / (np.exp(1-0.1*(V+65)) -1)
def betaN(V):
return 0.125*np.exp(-(V+65)/80)
def alphaB(V):
return "SOMETHING"
def betaB(V):
return "SOMETHING"
def HHB(I0,T0,gB0):
"SOMETHING"