Systems-level modeling of neuronal circuits for leech swimming (Zheng et al. 2007)

 Download zip file 
Help downloading and running models
Accession:114230
"This paper describes a mathematical model of the neuronal central pattern generator (CPG) that controls the rhythmic body motion of the swimming leech. The systems approach is employed to capture the neuronal dynamics essential for generating coordinated oscillations of cell membrane potentials by a simple CPG architecture with a minimal number of parameters. ... parameter estimation leads to predictions regarding the synaptic coupling strength and intrinsic period gradient along the nerve cord, the latter of which agrees qualitatively with experimental observations."
Reference:
1 . Zheng M, Friesen WO, Iwasaki T (2007) Systems-level modeling of neuronal circuits for leech swimming. J Comput Neurosci 22:21-38 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism: Leech;
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Temporal Pattern Generation; Oscillations; Simplified Models;
Implementer(s):
ij=length(data);
m1=0;
m2=0;
p=0;
count=0;
tempp=0;
id=ij;
avg=0;
mm1=0;
mm2=0;
udata=data(ij);
ldata=data(ij);

   for i=ij-1:-1:ij*0.5
        if data(i)>udata
            udata=data(i);
        end
        if data(i)<ldata
            ldata=data(i);
        end
    end

    avg=(udata+ldata)/2;
    amplitude=(udata-ldata)/2;

for id=ij-1:-1:2
    if (data(id+1)-data(id))>0&(data(id-1)-data(id))>0&abs(data(id)-ldata)<abs(udata-ldata)/5
        break
    end
    if id<ij*2/3 
        break;
    end
end
if id<ij*2/3 
    p=0;
    m=0;
    avg=data(ij);
else 
    m2=tout(id);
    m1=tout(id);
    mm1=data(id);
    mm2=data(id);
    
    for i=id-1:-1:ij/2
        if  (data(i+1)-data(i))>0&(data(i-1)-data(i))>0&abs(data(i)-ldata)<abs(udata-ldata)/5
            count=count+1;
            m2=tout(i);
        end
        if mm1<data(i)
            mm1=data(i);
        end
        if mm2>data(i)
            mm2=data(i);
        end
        if count==10
            tempp=-tout(i)+m1;
            break
        end
    end
    p=tempp/10;
    m=mm1-mm2;
    avg=(mm1+mm2)/2;
end

    

Loading data, please wait...