A model of closed-loop motor unit including muscle spindle feedback (Kim, 2020)

 Download zip file 
Help downloading and running models
Persistent inward current generating ion channels are located over spinal motoneurons and actively recruited during normal behaviors. Constructing a realistic computational model of closed-loop motor unit, a motoneuron and muscle fibers that it innervates including muscle spindle afferents, the study reveals functional linkage between persistent inward current location, motoneuron discharge pattern and muscle force output at various muscle lengths. This systematic analysis may provide useful insights into interplay of spinal and muscular mechanisms in control of movements.
1 . Kim H (2020) Linking Motoneuron PIC Location to Motor Function in Closed-Loop Motor Unit System Including Afferent Feedback: A Computational Investigation. eNeuro [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: Spinal motoneuron;
Cell Type(s):
Channel(s): I Calcium; I Potassium; I Sodium; I_AHP;
Gap Junctions:
Gene(s): Cav1.3 CACNA1D;
Simulation Environment: NEURON;
Model Concept(s): Motor control;
Implementer(s): Kim, Hojeong [hojeong.kim03 at gmail.com];
Search NeuronDB for information about:  I Sodium; I Calcium; I Potassium; I_AHP;
Ca_conc.mod *
CaL.mod *
CaN.mod *
KCa.mod *
KDr.mod *
module1_2.mod *
module3.mod *
Naf.mod *
Nap.mod *
Xm.mod *
add_hil_is.hoc *
add_muscle_unit.hoc *
Ca_conc.o *
CaL.o *
CaN.o *
fixnseg.hoc *
KCa.o *
KDr.o *
mem_mechanism_acti.hoc *
mem_mechanism_muscle.hoc *
mem_mechanism_pass.hoc *
module1_2.o *
module3.o *
motor_unit.hoc *
Naf.o *
Nap.o *
v_e_moto6_export.hoc *
Xm.hoc *
Xm.o *
/* Sets nseg in each section to an odd value
   so that its segments are no longer than 
     d_lambda x the AC length constant
   at frequency freq in that section.

   Be sure to specify your own Ra and cm before calling geom_nseg()

   To understand why this works, 
   and the advantages of using an odd value for nseg,
   see  Hines, M.L. and Carnevale, N.T.
        NEURON: a tool for neuroscientists.
        The Neuroscientist 7:123-135, 2001.

// these are reasonable values for most models
freq = 100      // Hz, frequency at which AC length constant will be computed
d_lambda = 0.1

func lambda_f() { local i, x1, x2, d1, d2, lam
        if (n3d() < 2) {
                return 1e5*sqrt(diam/(4*PI*$1*Ra*cm))
// above was too inaccurate with large variation in 3d diameter
// so now we use all 3-d points to get a better approximate lambda
        x1 = arc3d(0)
        d1 = diam3d(0)
        lam = 0
        for i=1, n3d()-1 {
                x2 = arc3d(i)
                d2 = diam3d(i)
                lam += (x2 - x1)/sqrt(d1 + d2)
                x1 = x2   d1 = d2
        //  length of the section in units of lambda
        lam *= sqrt(2) * 1e-5*sqrt(4*PI*$1*Ra*cm)

        return L/lam

proc geom_nseg() {
  soma area(0.5) // make sure diam reflects 3d points
  forall { nseg = int((L/(d_lambda*lambda_f(freq))+0.9)/2)*2 + 1  }


Loading data, please wait...