Contibutions of input and history to motoneuron output (Powers et al 2005)

 Download zip file 
Help downloading and running models
"The present study presents results based on recordings of noise-driven discharge in rat hypoglossal motoneurones ... First, we show that the hyperpolarizing trough is larger in Average Current Trajectories (ACTs) calculated from spikes preceded by long interspike intervals, and minimal or absent in those based on short interspike intervals. Second, we show that the trough is present for ACTs calculated from the discharge of a threshold-crossing neurone model with a postspike after- hyperpolarization (AHP), but absent from those calculated from the discharge of a model without an AHP. We show that it is possible to represent noise-driven discharge using a two-component linear model that predicts discharge probability based on the sum of a feedback kernel and a stimulus kernel. The feedback kernel reflects the influence of prior discharge mediated by the AHP, and it increases in amplitude when AHP amplitude is increased by pharmacological manipulations. Finally, we show that the predictions of this model are virtually identical to those based on the first-order Wiener kernel. This suggests that the Wiener kernel derived from standard white-noise analysis of noise-driven discharge in neurones actually reflect the effects of both stimulus and discharge history." See paper for more and details.
1 . Powers RK, Dai Y, Bell BM, Percival DB, Binder MD (2005) Contributions of the input signal and prior activation history to the discharge behaviour of rat motoneurones. J Physiol 562:707-24 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: IGOR Pro;
Model Concept(s): Simplified Models;
Implementer(s): Powers, Randy [rkpowers at];
Files displayed below are from the implementation
function modelFT(SCS, SCD, Name, PARAM)
//Function for two-compartment model:  Inputs are SCS and SCD, outputs waves that start with the prefix
// supplied by the string "Name" and include the somatic voltage (Name_ES), dendritic voltage(Name_ED), 
//potassium conductance (Name_GKS), and delta functions whenever spikes occur (Name_SP)
// model parameter values are supplied by the wave PARAM (sample values are: (0.1,5,-15,0.036,55,0.06,0.024,0.24,0.018,0.06,12,28000)
wave SCS // Input wave.  Current injected into soma simulates a pulse of current
wave SCD // Input wave.  Current injected into dendrite
string Name // Input string.  Defines prefix of output waves
wave PARAM // Input wave.  Wave contains all other input parameters
variable step = PARAM[0] // Input variable.  Integration step size in ms.
variable fine = PARAM[1] // Input variable.  Number of fine steps per step above.
variable ek = PARAM[2] // Input variable.  Potassium equilibrium potential relative to rest in mV.
variable b = PARAM[3] // Input variable.  Potassium conductance amplitude due to AP in uS
variable tgk = PARAM[4] // Input variable.  Potassium conductance decay time constant in ms.
variable cms = PARAM[5] // Input variable.  Soma capacitance in nF.
variable gls = PARAM[6] // Input variable.  Soma conductance in uS.
variable cmd = PARAM[7] //Capacitance of dendritic compartment
variable gld = PARAM[8] // Input variable.  Dendrite conductance in uS.
variable gc = PARAM[9] // Input variable.  Coupling conductance in uS.
variable tho = PARAM[10] // Input variable.  Minimum threshold of soma in mV relative to rest.
variable ltstop = PARAM[11] // Input variable.  Simulation time in ms.
variable refract = 2.0 //absolute refractory period in ms

variable i,j // Index variables for nested loops.
variable length = ltstop / step //Size of output waves.
variable esn, edn // Temporary variables to hold es & ed during fine integration.
variable p, q, r, s // Temporary variables to for integrations
variable dtfine = step/fine // Time (in ms) of fine steps.
variable refractory_counter=0 // Counter used to keep track of refractory periods.

string Es_wavename; Es_wavename = Name + "_ES"; make /o/d/n=(length) $Es_wavename
string Sp_wavename; Sp_wavename = Name + "_SP"; make /o/d/n=(length) $Sp_wavename
string Gk_wavename; Gk_wavename = Name + "_GKS";make /o/d/n=(length) $Gk_wavename
string Ed_wavename; Ed_wavename = Name + "_ED"; make /o/d/n=(length) $Ed_wavename

wave ES = $Es_wavename // Output wave.  Membrane potential of soma
wave SP = $Sp_wavename // Output wave.  Spiking variable of soma
wave GKS = $Gk_wavename // Output wave.  Potassium conductance of soma
wave ED = $Ed_wavename // Output wave.  Membrane potential of dendrites

ES[0] = 0
SP[0] = 0
GKS[0] = 0
ED[0] = 0

i = 1
j = 0
esn = ES[i-1]
edn = ED[i-1]

if((esn > tho) %& (refractory_counter <= 0))
SP[i] = 1;
refractory_counter = refract/step
SP[i] = 0

if(refractory_counter <= 0) // that is if a spike has occurred more than 0.5 ms ago

//Updating the differential equations is based on the exponential integration scheme described in MacGregor, R.J. Neural 
// and Brain Modeling. Academic Press, NY, 1987.  The basic idea is as follows:
// if a differential equation can be put in the following form: dV/dt = -A*V +B then the value of V can be calculated for each
// successive time step (of length dt) as follows: V[i+1]=V[i]*exp(-A*dt) +(B/A)*(1-exp(-A*dt).  For example, the
// differential equation for somatic voltage is as follows:  desn/dt = (1/cms)*(-gls*esn -gc*(esn - edn) - GKS*(esn-ek) +SCS)
// rearranging the equation we get:  desn/dt = -((gls + gc +GKS)/cms)*esn + ((SCS +gc*edn +GKS*ek)/cms)
// if we let p = (gls+gc+GKS[i-1])/cms and q = (SCS[i-1] + gc*edn+GKS[i-1]*ek)/cms, then the equation is updated as described 
// below.  A similar equation is obtained for updating the dendritic voltage.  Because current flow between the two compartments is
// relatively fast, we update esn and edn several times for each major time step.
p = (gls+gc+GKS[i-1])/cms
q = (SCS[i-1] + gc*edn+GKS[i-1]*ek)/cms

r = (gld+gc)/cmd
s = (SCD[i-1]+gc*esn)/cmd

esn = esn*exp(-p*dtfine) + (q/p)*(1-exp(-p*dtfine))
edn = edn*exp(-r*dtfine) + (s/r)*(1-exp(-r*dtfine))

j += 1
while(j < fine)
refractory_counter -= 1
//  if a spike has occurred less than 0.5 ms ago, we temporarily ignore the stimulus current and the potassium current
// this may be different in the eventual NEURON version of the model, put should lead to relatively small differences in behavior
p = (gls+gc)/cms
q = ( gc*edn)/cms

r = (gld+gc)/cmd
s = (gc*esn)/cmd

esn = esn*exp(-p*dtfine) + (q/p)*(1-exp(-p*dtfine))
edn = edn*exp(-r*dtfine) + (s/r)*(1-exp(-r*dtfine))

j += 1
while(j < fine)
ES[i] = esn
ED[i] = edn
GKS[i] = GKS[i-1]*exp(-step/tgk) + b*SP[i]
i+= 1

Loading data, please wait...