Dopamine neuron of the vent. periaqu. gray and dors. raphe nucleus (vlPAG/DRN) (Dougalis et al 2017)

 Download zip file 
Help downloading and running models
The following computer model describes the electrophysiological properties of dopamine (DA) neurons of the ventrolateral periaquaductal gray and dorsal raphe nucleus (vlPAG/DRN). the model and how to replicate Figures 7-10 of the manuscript (Dougalis et al., 2017 J Comput Neurosci). SUMMARY: We have conducted a voltage-clamp study to provide a kinetic description of major sodium, potassium and calcium ionic currents operant on adult DA vlPAG/DRN neurons in brain slices obtained from pitx3-GFP mice. Based on experimentally derived voltage-clamp data, we then constructed a simplified, conductance-based, Hodgkin and Huxley-type, computer model and validated its behaviour against in vitro neurophysiological data. Using simulations in the computational DA model, we explored the contribution of individual ionic currents in vlPAG/DRN DA neuron’s spontaneous firing, pacemaker frequency and threshold for spike frequency adaptation in silico. The data presented here extend our previous physiological characterization (Dougalis et al. 2012) and argue that DA neurons of the vlPAG/DRN express autorhythmicity in the absence of synaptic transmission via the interplay of potassium and sodium currents without the absolute need of calcium currents. The properties of the ionic currents recorded here (IH current, IA current), the lack of small oscillating potentials in the presence of sodium channel blockers taken together with the mechanisms for autorhythmicity (reliance more on sodium rather than calcium currents) also support further the idea that vlPAG/DRN DA neurons are operationally similar to VTA, rather than SNc, DA neurons. In particular, the properties of a slowly inactivating IA current in conjunction with the small and slowly activating IH current described herein pinpoint that vlPAG/DRN DA neurons are most similar to prefrontal cortex or medial shell of nucleus accumbens projecting DA neurons (see Lammel et al. 2008, 2011).
1 . Dougalis AG, Matthews GAC, Liss B, Ungless MA (2017) Ionic currents influencing spontaneous firing and pacemaker frequency in dopamine neurons of the ventrolateral periaqueductal gray and dorsal raphe nucleus (vlPAG/DRN): A voltage-clamp and computational modelling study. J Comput Neurosci 42:275-305 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Brainstem;
Cell Type(s): Dopamine neuron of vlPAG/DRN;
Channel(s): I A; I K; I M; I Cl, leak; I Na,t; I Na,p; I h; I T low threshold; I Calcium;
Gap Junctions:
Simulation Environment: NEURON;
Model Concept(s): Depolarization block; Action Potentials; Spike Frequency Adaptation; Ion Channel Kinetics; Activity Patterns;
Implementer(s): Dougalis, Antonios [antoniosdougalis at];
Search NeuronDB for information about:  I Na,p; I Na,t; I T low threshold; I A; I K; I M; I h; I Calcium; I Cl, leak;
//Messaging panel and functionalities for saving files

objref vbox5
vbox5 = new VBox()
vbox5.intercept(1)   //all following creations go into the "vbox" box
xpanel("Saving Simulation Data", 1)
xlabel("Would you like to save simulated data?")
xbutton("YES, Save my data", "savalldata()")
xbutton("Do NOT Save Yet", "run()")
xbutton("Close dialogue, Do NOT want to Save anything", "vbox5UNMAP()")

vbox5.intercept(0)   //ends intercept mode"Saving Simulations",350, 0, -1, 1)

proc vbox5UNMAP(){

objref rect, recv, recik_kA, recicaLVA_caLVA, recicaHVA_caHVA, recina_NaT, recina_NaP, recih_H, recik_kM, recik_kDR, recileak_leak       //create vectors to hold t & v values from simulations
rect = new Vector(400001)
recv = new Vector(400001)
recik_kA = new Vector(400001)
recicaLVA_caLVA = new Vector(400001) 
recicaHVA_caHVA = new Vector(400001)  
recina_NaT = new Vector(400001)
recina_NaP = new Vector(400001)
recih_H = new Vector(400001)
recik_kM = new Vector(400001)
recik_kDR = new Vector(400001)
recileak_leak = new Vector(400001)

rect.record(&t)                       //record t values in the vector rect 
recv.record(&DA.v(0.5))               //record v values in the vector recv
recik_kA.record(&DA.ik_kA(0.5))             //record ik values in the vector recik 
recicaLVA_caLVA.record(&DA.icaLVA_caLVA(0.5))             //record icaLVA values in the vector recicaLVA_caLVA 
recicaHVA_caHVA.record(&DA.icaHVA_caHVA(0.5))            //record icaHVA values in the vector recicaHVA_caHVA 

objref savdata              //create a file to be opened and saved and to hold values from vectors rect and recv
savdata = new File()
savdata.wopen("vlPAG_DRN Analysis.dat")
savdata.printf("t DA.v(0.5)\n")             //first line of data file
savdata.printf("s mV mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2\n")       //second line of data for units
savdata.printf("time voltage ik_kA icaLVA_calLVA icaHVA_caHVA ina_NaT ina_NaP ih_H ik_kM ik_kDR ileak_leak\n")       //third line of data for labels      
objref tempmatrix
tempmatrix = new Matrix(400001, 11)
tempmatrix.setcol(0, rect)
tempmatrix.setcol(1, recv)
tempmatrix.setcol(2, recik_kA)
tempmatrix.setcol(3, recicaLVA_caLVA)
tempmatrix.setcol(4, recicaHVA_caHVA)
tempmatrix.setcol(5, recina_NaT)
tempmatrix.setcol(6, recina_NaP)
tempmatrix.setcol(7, recih_H)
tempmatrix.setcol(8, recik_kM)
tempmatrix.setcol(9, recik_kDR)
tempmatrix.setcol(10, recileak_leak)

tempmatrix.fprint(savdata, " %g")

proc savalldata(){
savdata.wopen("vlPAG_DRN Analysis.dat")
savdata.printf("t DA.v(0.5)\n")             //first line of data file
savdata.printf("s mV mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2 mA/cm2\n")       //second line of data for units
savdata.printf("time voltage ik_kA icaLVA_caLVA icaHVA_caHVA ina_NaT ina_NaP ih_H ik_kM ik_kDR il_leak\n")      //third line of data for labels  
for i=0, rect.size()-1 {
   savdata.printf("%g\ %g\ %g\ %g\ %g\ %g\ %g\ %g\ %g\ %g\ %g\n", rect.x(i), recv.x(i), recik_kA.x(i), recicaLVA_caLVA.x(i), recicaHVA_caHVA.x(i), recina_NaT.x(i), recina_NaP.x(i), recih_H.x(i), recik_kM.x(i), recik_kDR.x(i), recileak_leak.x(i))
tempmatrix.fprint(savdata, " %g")

Loading data, please wait...