Zebrafish Mauthner-cell model (Watanabe et al 2017)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:232813
The NEURON model files encode the channel generator and firing simulator for simulating development and differentiation of the Mauthner cell (M-cell) excitability in zebrafish. The channel generator enables us to generate arbitrary Na+ and K+ channels by changing parameters of a Hodgkin-Huxley model under emulation of two-electrode voltage-clamp recordings in Xenopus oocyte system. The firing simulator simulates current-clamp recordings to generate firing patterns of the model M-cell, which are implemented with arbitrary-generated basic Na+ and K+ conductances and low-threshold K+ channels Kv7.4/KCNQ4 and sole Kv1.1 or Kv1.1 coexpressed with Kvbeta2.
Reference:
1 . Watanabe T, Shimazaki T, Oda Y (2017) Coordinated Expression of Two Types of Low-Threshold K+ Channels Establishes Unique Single Spiking of Mauthner Cells among Segmentally Homologous Neurons in the Zebrafish Hindbrain. eNeuro [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism: Brainstem;
Cell Type(s): Mauthner cell;
Channel(s): I Potassium; I A; I_KLT; I_KHT; I M; I Sodium;
Gap Junctions:
Receptor(s):
Gene(s): Kv1.1 KCNA1; Kv7.4 KCNQ4; Kvb2 KCNAB2;
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Spike Frequency Adaptation; Bursting; Ion Channel Kinetics;
Implementer(s): Watanabe, Takaki [wtakaki at m.u-tokyo.ac.jp];
Search NeuronDB for information about:  I A; I M; I Sodium; I Potassium; I_KHT; I_KLT;
: kht.mod codes a high-threshold K+ channel.
: Default parameters of a H-H equation are fitted to our experimental data
: by using our channel generator. 
:
: Takaki Watanabe
: wtakaki@m.u-tokyo.ac.jp

UNITS {
        (mA) = (milliamp)
        (mV) = (millivolt)
        (nA) = (nanoamp)
}

NEURON {
        SUFFIX kht
        USEION k READ ek WRITE ik
        RANGE gkhtbar, gkht, ik
        GLOBAL ninf, pinf, ntau, ptau
		GLOBAL aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1,ii1,jj1,kk1,ll1,mm1,nn1,oo1,pp1,qq1,rr1,ss1,tt1,uu1
}

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

PARAMETER {
        v (mV)
        celsius = 20 (degC)  
        dt (ms)
        ek = -90 (mV)
        gkhtbar = 0.01592 (mho/cm2) <0,1e9>
		aa1= 15 <0,100>
		bb1= 5 <0,100>
		cc1= 1 <0,10>
		dd1= 23 <0,100>
		ee1= 6 <0,100>
		ff1= 100 <0,1e3>
		gg1= 11 <0,100>
		hh1= 60 <0,100>
		ii1= 24 <0,100>
		jj1= 21 <0,100>
		kk1= 60 <0,100>
		ll1= 23 <0,100>
		mm1= 0.5 <0,100>
		nn1= 100 <0,1e3>
		oo1= 4 <0,100>
		pp1= 60 <0,100>
		qq1= 21 <0,100>
		rr1= 5 <0,100>
		ss1= 10 <0,100>
		tt1= 18 <0,100>
		uu1= 0.5 <0,100>
		nf = 0.85 <0,1> :proportion of n vs p kinetics
}

STATE {
        n p
}

ASSIGNED {
    ik (mA/cm) 
    gkht (mho/cm2)
    pinf ninf
    ptau (ms) ntau (ms)
    }

LOCAL nexp, pexp

BREAKPOINT {
	SOLVE states
    
	gkht = gkhtbar*(nf*(n^2) + (1-nf)*p)
    ik = gkht*(v - ek)

}

UNITSOFF

INITIAL {
    trates(v)
    p = pinf
    n = ninf
}

PROCEDURE states() {  :Computes state variables m, h, and n
	trates(v)      :             at the current v and dt.
	n = n + nexp*(ninf-n)
	p = p + pexp*(pinf-p)
VERBATIM
	return 0;
ENDVERBATIM
}

LOCAL q10

PROCEDURE rates(v) {  :Computes rate and other constants at current v.
                      :Call once from HOC to initialize inf at resting v.
    
    ninf =   (1 + exp(-(v + aa1) / bb1))^-cc1
    pinf =  1 / (1 + exp(-(v + dd1) / ee1))

	ntau = (ff1 / (gg1*exp((v+hh1) / ii1) + jj1*exp(-(v+kk1) / ll1))) + mm1
    ptau = (nn1 / (oo1*exp((v+pp1) / qq1) + rr1*exp(-(v+ss1) / tt1))) + uu1
}

PROCEDURE trates(v) {  :Computes rate and other constants at current v.
                      :Call once from HOC to initialize inf at resting v.
	LOCAL tinc
	TABLE ninf, nexp, pinf, pexp
	DEPEND dt, celsius FROM -150 TO 150 WITH 300
	
    q10 = 3^((celsius - 20)/10) 
    rates(v)    
	tinc = -dt * q10
	nexp = 1 - exp(tinc/ntau)
	pexp = 1 - exp(tinc/ptau)
	}


UNITSON

Loading data, please wait...