Differential modulation of pattern and rate in a dopamine neuron model (Canavier and Landry 2006)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:84612
"A stylized, symmetric, compartmental model of a dopamine neuron in vivo shows how rate and pattern can be modulated either concurrently or differentially. If two or more parameters in the model are varied concurrently, the baseline firing rate and the extent of bursting become decorrelated, which provides an explanation for the lack of a tight correlation in vivo and is consistent with some independence of the mechanisms that generate baseline firing rates versus bursting. ..." See paper for more and details.
Reference:
1 . Canavier CC, Landry RS (2006) An increase in AMPA and a decrease in SK conductance increase burst firing by different mechanisms in a model of a dopamine neuron in vivo. J Neurophysiol 96:2549-63 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Electrogenic pump;
Brain Region(s)/Organism:
Cell Type(s): Substantia nigra pars compacta DA cell;
Channel(s): I L high threshold; I N; I T low threshold; I A; I K; I K,Ca; I Sodium; I Calcium; Na/K pump;
Gap Junctions:
Receptor(s): AMPA; NMDA; Gaba;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Bursting; Detailed Neuronal Models; Intrinsic plasticity; Calcium dynamics; Sodium pump;
Implementer(s): Kuznetsova, Anna [anna.kuznetsova at utsa.edu];
Search NeuronDB for information about:  Substantia nigra pars compacta DA cell; AMPA; NMDA; Gaba; I L high threshold; I N; I T low threshold; I A; I K; I K,Ca; I Sodium; I Calcium; Na/K pump;
/
CanavierLandry2006
in_vitro
ampa.mod
cabalan.mod *
cachan.mod *
capump.mod *
hh3.mod *
kca.mod *
leak.mod *
nabalan.mod *
nmdaL.mod
pump.mod *
stim.mod *
fig4a.hoc
fig4a1.hoc
fig4a1.ses
fig4a2.hoc
fig4a2.ses
fig4a3.hoc
fig4a3.ses
                            
TITLE calcium channels (L, N, and T types) 
 
UNITS {
       (molar) = (1/liter)
       (S)  = (siemens)
       (mA) = (milliamp)
       (mV) = (millivolt)
       (mM) = (millimolar)
        F = (faraday)  (coulomb)
        R = (mole k)   (mV-coulomb/degC)
       
}
 
NEURON {
        SUFFIX cachan
        USEION ca READ cai WRITE ica
        RANGE  gcalbar,gcanbar,gcatbar,ica,ical,icat,ican,kml,kmn
        GLOBAL dlinf,dninf,dtinf,ftinf,flinf,fninf
}
 
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
 
PARAMETER {
        v (mV)
        dt (ms)
        cai   (mM)
        celsius =  35.0      (degC)
        gcatbar =  1044.0e-6 (S/cm2)
        gcanbar =  171.0e-6  (S/cm2)
        gcalbar =  216.0e-6  (S/cm2)
        kmn = 0.0001   (mM)
        kml = 0.00045  (mM)
        eca = 120 (mV)
        cao = 2.0 (mM)
        
}
 
STATE {
        d_t dl dn ft
}
 
ASSIGNED {
        ica (mA/cm2)
        ical (mA/cm2)
        ican (mA/cm2)
        icat (mA/cm2)
        dlinf dninf dtinf ftinf fninf flinf
 }
 
BREAKPOINT {
        SOLVE states METHOD cnexp
        fninf = kmn/(kmn + cai)
        flinf = kml/(kml + cai)
        ical = gcalbar*dl*flinf*(v - eca)
        ican = gcanbar*dn*fninf*(v - eca)
        icat = gcatbar*d_t*ft*(v - eca)
        ica  = ical + ican + icat
}
 
UNITSOFF
 
INITIAL {
        dl = boltz(v,-50.0,3.0)
        dn = boltz(v,-45.0,7.0)
        d_t = boltz(v,-63.5,1.5)
        ft = boltz(v,-76.2,-3.0)
}

DERIVATIVE states {  :Computes state variables m, h, and n 
LOCAL dlinf,dninf,dtinf,ftinf,dltau,dntau,dttau,fttau
        dlinf = boltz(v,-50.0,3.0)
        dninf = boltz(v,-45.0,7.0)
        dtinf = boltz(v,-63.5,1.5)
        ftinf = boltz(v,-76.2,-3.0)
        dltau = gaussian(v,18.0,20.0,45.0,1.50)
        dntau = gaussian(v,18.0,25.0,70.0,0.30)
        dttau = gaussian(v,65.0,6.32455,66.0,3.5)
        fttau = gaussian(v,50.0,10.0,72.0,10.0)
        dl'  = (dlinf-dl)/dltau
        dn'  = (dninf-dn)/dntau
        d_t' = (dtinf-d_t)/dttau
        ft'  = (ftinf-ft)/fttau
}
 
 
FUNCTION gaussian(v,a,b,c,d) {
        LOCAL arg
        arg= a*exp(-(c+v)*(v+c)/(b*b)) +d
        gaussian = arg
}
 
 
FUNCTION boltz(x,y,z) {
               LOCAL arg
                arg= -(x-y)/z
                if (arg > 50) {boltz = 0}
                else {if (arg < -50) {boltz = 1}
                else {boltz = 1.0/(1.0 + exp(arg))}}
}

 
UNITSON