Irregular spiking in NMDA-driven prefrontal cortex neurons (Durstewitz and Gabriel 2006)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:82784
Slow N-Methyl-D-aspartic acid (NMDA) synaptic currents are assumed to strongly contribute to the persistently elevated firing rates observed in prefrontal cortex (PFC) during working memory. During persistent activity, spiking of many neurons is highly irregular. ... The highest interspike-interval (ISI) variability occurred in a transition regime where the subthreshold membrane potential distribution shifts from mono- to bimodality, ... Predictability within irregular ISI series was significantly higher than expected from a noise-driven linear process, indicating that it might best be described through complex (potentially chaotic) nonlinear deterministic processes. Accordingly, the phenomena observed in vitro could be reproduced in purely deterministic biophysical model neurons. High spiking irregularity in these models emerged within a chaotic, close-to-bifurcation regime characterized by a shift of the membrane potential distribution from mono- to bimodality and by similar ISI return maps as observed in vitro. ... NMDA-induced irregular dynamics may have important implications for computational processes during working memory and neural coding.
Reference:
1 . Durstewitz D, Gabriel T (2007) Dynamical basis of irregular spiking in NMDA-driven prefrontal cortex neurons. Cereb Cortex 17:894-908 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Neocortex; Prefrontal cortex (PFC);
Cell Type(s): Neocortex V1 L6 pyramidal corticothalamic GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I K; I Potassium;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Activity Patterns; Working memory; Calcium dynamics; Bifurcation;
Implementer(s): Durstewitz, Daniel [daniel.durstewitz at plymouth.ac.uk];
Search NeuronDB for information about:  Neocortex V1 L6 pyramidal corticothalamic GLU cell; GabaA; AMPA; NMDA; I Na,p; I Na,t; I L high threshold; I K; I Potassium;
// *********************************************************************
// Simulation code from Durstewitz & Gabriel (2006), "Dynamical basis of 
// irregular spiking in NMDA-driven prefrontal cortex neurons", Cerebral
// Cortex
// *********************************************************************
//
// (c) 2006 Daniel Durstewitz
//
// Code for single cell simulations

xopen("IB_DA.tem")
objref ibn
ibn=new IBcell()

ropen("SglCellPar.par")
vstart=fscan()
tend=fscan()
ibn.soma.L=fscan()
ibn.soma.diam=fscan()
ibn.soma.gNapbar_NapDA=fscan()
ibn.soma.gKsbar_Ks=fscan()
ibn.soma.gHVAbar_HVA=fscan()
ibn.soma.gKcbar_Kc=fscan()
ibn.dend.L=fscan()
ibn.dend.diam=fscan()
ibn.dend.gNMDAcbar_nmdac=fscan()
ibn.dend.gNapbar_NapDA=fscan()
ibn.dend.gKsbar_Ks=fscan()
ibn.dend.gHVAbar_HVA=fscan()
ibn.dend.gKcbar_Kc=fscan()

objref stim
ibn.soma stim=new IClamp(.5)
stim.del=0
stim.dur=1e9
stim.amp=fscan()
ropen()

load_file("stdrun.hoc")
objref cv
cv=new CVode(1)
cv.rtol(1e-8)
cv.atol(1e-10)
cv.active(1)
cv.use_local_dt(1)
finitialize(vstart)
fcurrent()
cv.re_init()

t=0
tstop=tend
dt=0.05

thPC=-20
objref ST
objref STdet
ST=new Vector()
ibn.soma STdet=new APCount(.5)
STdet.thresh=thPC
STdet.record(ST)

n=int(tstop/dt)
objref PCv
objref PCt
PCv=new Vector(n)
PCt=new Vector(n)
for j=0,n-1 { PCt.x[j]=j*dt }
ibn.soma cv.record(&v(.5),PCv,PCt,1)
objref PCv2
objref PCt2
PCv2=new Vector(n)
PCt2=new Vector(n)
for j=0,n-1 { PCt2.x[j]=j*dt }
ibn.dend cv.record(&v(.5),PCv2,PCt2,1)

run()

objref fpV
fpV=new File()
func write_to_fileV() {
     strdef fn
     sprint(fn,"out/PCsgl%d.dat",$1)
     fpV.wopen(fn)
     for j=0,PCt.size()-1 {
	      fpV.printf("%f %f %f\n",PCt.x[j],PCv.x[j],PCv2.x[j])
	          }
     fpV.close()
     return i
}

objref fpST
fpST=new File()
func write_to_fileST() {
     strdef fn
     sprint(fn,"out/PCsgl%d.st",$1)
     fpST.wopen(fn)
     for j=0,ST.size()-1 {
	      fpST.printf("%f\n",ST.x[j])	
	          }
     fpST.close()
     return i
}

write_to_fileV(0)
write_to_fileST(0)

Loading data, please wait...