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

 Download zip file 
Help downloading and running models
Accession:266732
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.
Reference:
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:
Receptor(s):
Gene(s): Cav1.3 CACNA1D;
Transmitter(s):
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;
/
Kim2020
fig8
Ca_conc.mod *
CaL.mod *
CaN.mod *
KCa.mod *
KDr.mod *
module1_2.mod *
module3.mod *
Naf.mod *
Nap.mod *
SawtoothIClamp.mod
syn_Ia.mod
Xm.mod *
add_hil_is.hoc *
add_muscle_unit.hoc *
add_pics_istim.hoc
Ca_conc.o *
CaL.o *
CaN.o *
fig.ses
fixnseg.hoc *
group_Ia.hoc
KCa.o *
KDr.o *
mem_mechanism_acti.hoc *
mem_mechanism_muscle.hoc *
mem_mechanism_pass.hoc *
mod_func.c
mod_func.o
module1_2.o *
module3.o *
motor_unit.hoc *
Naf.o *
Nap.o *
nrnmech.dll
SawtoothIClamp.o
syn_Ia.o
v_e_moto6_export.hoc *
Xm.hoc *
Xm.o *
                            
TITLE Modified Hill-Mashima muscle model
 
UNITS {}

NEURON {
    SUFFIX fHill
    RANGE a0, b0, c0, d0
	RANGE p0, g1, g2, g3
	RANGE Kse, A, Fc, F
	RANGE xm_init, xm, xce_init, xce
	USEION mg READ mgi VALENCE 2
	USEION cl READ cli
}

PARAMETER {
	a0 = 2.35		:[N]
	b0 = 24.35		:[mm*s-1]
	c0 = -7.4		:[N]
	d0 = 30.3		:[mm*s-1]
	p0 = 23			:[N]
	g1 = -8			:[mm]
	g2 = 21.4		:[mm]
	xm_init = -8	:[mm]
	xce_init = -8	:[mm]
	Kse = 0.4		:[mm-1]
}

STATE {
	A
	xce
	xm
}

ASSIGNED {
	F
	Fc
	mgi		
	cli		
}

BREAKPOINT { LOCAL d_xm, d_xce, d_se
	A = mgi	
	xm = cli	

	SOLVE state_hill METHOD cnexp
		
	F = p0*Kse*xse(xm, xce)
}

DERIVATIVE state_hill {
	Fc = p0*g(xm)*A
	xce' = dxdt (F, Fc)
}

FUNCTION xse (x, y) { LOCAL d_xm, d_xce, d_se
	d_xm = xm - xm_init
	d_xce = xce - xce_init
	d_se = d_xm - d_xce
	
	if (d_se <= 0) {xse = 0} 
	else {xse = d_se}
}

FUNCTION g (x) { 
	g = exp(-((x-g1)/g2)^2)
}

FUNCTION dxdt (x, xc) {LOCAL gain_length 
	if (x <= xc) {
		dxdt = (10^-3)*(-b0*(xc-x))/(x+a0*xc/p0)
	} else {
		gain_length = (-d0*(xc-x))/(2*xc-x+c0*xc/p0)
		if (gain_length <= 0) {dxdt = (10^-3)*1e5}
		else {dxdt = (10^-3)*gain_length}
	}
}

INITIAL {
	A = 0
	xm = xm_init
	xce = xce_init
	F=1e-5     
}

Loading data, please wait...