State dependent drug binding to sodium channels in the dentate gyrus (Thomas & Petrou 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:149174
A Markov model of sodium channels was developed that includes drug binding to fast inactivated states. This was incorporated into a model of the dentate gyrus to investigate the effects of anti-epileptic drugs on neuron and network properties.
Reference:
1 . Thomas EA, Petrou S (2013) Network-specific mechanisms may explain the paradoxical effects of carbamazepine and phenytoin. Epilepsia 54:1195-202 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Axon; Channel/Receptor;
Brain Region(s)/Organism:
Cell Type(s): Dentate gyrus granule GLU cell; Dentate gyrus mossy cell; Dentate gyrus basket cell; Dentate gyrus hilar cell;
Channel(s): I Na,t; I A; I_AHP;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Ion Channel Kinetics; Epilepsy; Calcium dynamics; Drug binding; Markov-type model;
Implementer(s): Thomas, Evan [evan at evan-thomas.net];
Search NeuronDB for information about:  Dentate gyrus granule GLU cell; GabaA; AMPA; I Na,t; I A; I_AHP; Gaba; Glutamate;
/
ThomasPetrou2013
Fig 4
Data
bgka.mod *
CaBK.mod *
ccanl.mod *
Gfluct2.mod *
gskch.mod *
hyperde3.mod *
ichan2.mod
LcaMig.mod *
nad.mod
nca.mod *
tca.mod *
apchew.m
async.hoc
runall.py
                            
TITLE ichan2.mod  
 
COMMENT
konduktivitas valtozas hatasa- somaban 

EAT 14Sep09 Seperated Na into a different file

ENDCOMMENT
 
UNITS {
        (mA) =(milliamp)
        (mV) =(millivolt)
        (uF) = (microfarad)
	(molar) = (1/liter)
	(nA) = (nanoamp)
	(mM) = (millimolar)
	(um) = (micron)
	FARADAY = 96520 (coul)
	R = 8.3134	(joule/degC)
}
 
? interface 
NEURON { 
SUFFIX ichan2 
USEION kf READ ekf WRITE ikf  VALENCE 1
USEION ks READ eks WRITE iks  VALENCE 1
NONSPECIFIC_CURRENT il 
RANGE  gkf, gks
RANGE gkfbar, gksbar
RANGE gl, el
RANGE nfinf, nftau, ikf, nsinf, nstau, iks
}
 
INDEPENDENT {t FROM 0 TO 100 WITH 100 (ms)}
 
PARAMETER {
        v (mV) 
        celsius = 6.3 (degC)
        dt (ms) 
        ekf  (mV)
	gkfbar (mho/cm2)
        eks  (mV)
	gksbar (mho/cm2)
	gl (mho/cm2)    
 	el (mV)
}
 
STATE {
	nf ns
}
 
ASSIGNED {
         
        gkf (mho/cm2)
        gks (mho/cm2)

        ikf (mA/cm2)
        iks (mA/cm2)


	il (mA/cm2)

	nfinf nsinf
 	nftau (ms) nstau (ms)
	nfexp nsexp
} 

? currents
BREAKPOINT {
	SOLVE states
        gkf = gkfbar*nf*nf*nf*nf
        ikf = gkf*(v-ekf)
        gks = gksbar*ns*ns*ns*ns
        iks = gks*(v-eks)

	il = gl*(v-el)
}
 
UNITSOFF
 
INITIAL {
	trates(v)
	
      nf = nfinf
      ns = nsinf

}

? states
PROCEDURE states() {	:Computes state variables m, h, and n 
        trates(v)	:      at the current v and dt.
        nf = nf + nfexp*(nfinf-nf)
        ns = ns + nsexp*(nsinf-ns)
}
 
LOCAL q10

? rates
PROCEDURE rates(v) {  :Computes rate and other constants at current v.
                      :Call once from HOC to initialize inf at resting v.
        LOCAL  alpha, beta, sum
       q10 = 3^((celsius - 6.3)/10)
                :"m" sodium activation system - act and inact cross at -40
             :"ns" sKDR activation system
        alpha = -0.028*vtrap((v+65-35),-6)
	beta = 0.1056/exp((v+65-10)/40)
	sum = alpha+beta        
	nstau = 1/sum      nsinf = alpha/sum
            :"nf" fKDR activation system
        alpha = -0.07*vtrap((v+65-47),-6)
	beta = 0.264/exp((v+65-22)/40)
	sum = alpha+beta        
	nftau = 1/sum      nfinf = alpha/sum
	
}
 
PROCEDURE trates(v) {  :Computes rate and other constants at current v.
                      :Call once from HOC to initialize inf at resting v.
	LOCAL tinc
        TABLE nfinf, nfexp, nsinf, nsexp, nftau, nstau
	DEPEND dt, celsius FROM -100 TO 100 WITH 200
                           
	rates(v)	: not consistently executed from here if usetable_hh == 1
		: so don't expect the tau values to be tracking along with
		: the inf values in hoc

	       tinc = -dt * q10
	nfexp = 1 - exp(tinc/nftau)
	nsexp = 1 - exp(tinc/nstau)
}
 
FUNCTION vtrap(x,y) {  :Traps for 0 in denominator of rate eqns.
        if (fabs(x/y) < 1e-6) {
                vtrap = y*(1 - x/y/2)
        }else{  
                vtrap = x/(exp(x/y) - 1)
        }
}
 
UNITSON