Motoneuron simulations for counting motor units (Major and Jones 2005)

 Download zip file 
Help downloading and running models
Simulations of clinical methods to count the number of motoneurons/motor units in human patients. Models include stimulation of motor axons or voluntary activation and responses are measured as muscle tension or EMG.
1 . Major LA, Jones KE (2005) Simulations of motor unit number estimation techniques. J Neural Eng 2:17-34 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuromuscular Junction;
Brain Region(s)/Organism:
Cell Type(s): Spinal cord lumbar motor neuron alpha ACh cell;
Gap Junctions:
Simulation Environment: MATLAB;
Model Concept(s): Simplified Models; Methods;
Implementer(s): Major, Lora [lora.major at];
Search NeuronDB for information about:  Spinal cord lumbar motor neuron alpha ACh cell;
% script to keep track of Revised Incremental Stimulation algorithm parameters
n = stepcnt;

AFall = max(ltw,[],2);          [AFu, AFui] = unique(AFall);
data.AFmx(n) = max(AFall);      data.AFmn(n) = min(AFall);
APall = max(emg,[],2);          [APu, APui] = unique(APall);
data.APmx(n) = max(APall);      data.APmn(n) = min(APall);

if n == 1 
    nzswi = min(find(AFall));
    AFall = nonzeros(AFall);    AFu = nonzeros(AFu);    AFui = AFui(find(nrec(AFui)));
    APall = nonzeros(APall);    APu = nonzeros(APu);    APui = APui(find(nrec(APui)));
	nzswi = 1;

if length(AFu) == 1
    data.AFpd(n) = AFu;   
    data.Fswi(n) = nzswi;
    FPDcount = length(AFall);
    data.APpd(n) = APu;
    data.Pswi(n) = nzswi;
    PPDcount = length(APall);
    if FPDcount < ceil(p.sweeps/2)
        data.AFpd(n) = 0;
        data.APpd(n) = 0;
        %%% ERROR CATCHING %%%
            if PPDcount >= ceil(p.sweeps/2)
                error('There were not enough force responses, but there were enough emg???');
        %%% ERROR CATCHING %%%
    %%% ERROR CATCHING %%%
        if length(APu) ~= 1
            error('There was only one force response level, but more than one emg response level.');
    %%% ERROR CATCHING %%%
    FPDcount = hist(AFall,AFu);
    FPDi = find(FPDcount == max(FPDcount));
    data.AFpd(n) = min(AFu(FPDi));
    data.Fswi(n) = AFui(min(FPDi));
    PPDcount = hist(APall,APu);
    PPDi = find(PPDcount == max(PPDcount));
    data.APpd(n) = min(APu(PPDi));
    data.Pswi(n) = APui(min(PPDi));


Loading data, please wait...