Ketamine disrupts theta modulation of gamma in a computer model of hippocampus (Neymotin et al 2011)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:139421
"Abnormalities in oscillations have been suggested to play a role in schizophrenia. We studied theta-modulated gamma oscillations in a computer model of hippocampal CA3 in vivo with and without simulated application of ketamine, an NMDA receptor antagonist and psychotomimetic. Networks of 1200 multi-compartment neurons (pyramidal, basket and oriens-lacunosum moleculare, OLM, cells) generated theta and gamma oscillations from intrinsic network dynamics: basket cells primarily generated gamma and amplified theta, while OLM cells strongly contributed to theta. ..."
Reference:
1 . Neymotin SA, Lazarewicz MT, Sherif M, Contreras D, Finkel LH, Lytton WW (2011) Ketamine disrupts ? modulation of ? in a computer model of hippocampus. J Neurosci 31:11733-43 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA3 pyramidal GLU cell; Hippocampus CA3 interneuron basket GABA cell; Hippocampus CA3 stratum oriens lacunosum-moleculare interneuron;
Channel(s): I L high threshold; I A; I K; I K,Ca;
Gap Junctions:
Receptor(s): GabaA; NMDA; Glutamate;
Gene(s): HCN1; HCN2;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; Python;
Model Concept(s): Oscillations; Synchronization; Therapeutics; Pathophysiology; Schizophrenia; Information transfer; Brain Rhythms;
Implementer(s): Lazarewicz, Maciej [mlazarew at gmu.edu]; Neymotin, Sam [samn at neurosim.downstate.edu];
Search NeuronDB for information about:  Hippocampus CA3 pyramidal GLU cell; Hippocampus CA3 interneuron basket GABA cell; GabaA; NMDA; Glutamate; I L high threshold; I A; I K; I K,Ca; Gaba; Glutamate;
/
hpcdemo
readme.html
CA1ih.mod *
CA1ika.mod *
CA1ikdr.mod *
CA1ina.mod *
caolmw.mod *
capr.mod *
icaolmw.mod *
icapr.mod *
iholmkop.mod *
iholmw.mod *
ihpyrkop.mod *
kahppr.mod *
kaolmkop.mod *
kapyrkop.mod *
kcaolmw.mod *
kcpr.mod *
kdrbwb.mod *
kdrolmkop.mod *
kdrpr.mod *
kdrpyrkop.mod *
misc.mod *
MyExp2Syn.mod *
MyExp2SynAlpha.mod *
MyExp2SynBB.mod *
MyExp2SynNMDA.mod *
MyExp2SynNMDABB.mod *
nafbwb.mod *
nafolmkop.mod *
nafpr.mod *
nafpyrkop.mod *
stats.mod
vecst.mod *
wrap.mod *
aux_fun.inc *
declist.hoc *
decmat.hoc *
decnqs.hoc *
decvec.hoc *
default.hoc *
drline.hoc *
geom.hoc *
geom.py *
grvec.hoc *
init.hoc *
labels.hoc *
local.hoc *
misc.h *
mosinit.py
network.py *
nqs.hoc *
nqs_utils.hoc *
nrnoc.hoc *
params.py
pyinit.py *
run.py
screenshot.png
simctrl.hoc *
stats.hoc *
syncode.hoc *
xgetargs.hoc *
                            
: $Id: MyExp2SynNMDA.mod,v 1.3 2010/12/13 21:34:42 samn Exp $ 
NEURON {
	POINT_PROCESS MyExp2SynNMDA
	NONSPECIFIC_CURRENT i, iNMDA
	RANGE tau1, tau2, e, i, iNMDA, s, sNMDA, tgtid, synid, r, tau1NMDA, tau2NMDA
}

UNITS {

	(nA) = (nanoamp)
	(mV) = (millivolt)
	(uS) = (microsiemens)
}

PARAMETER {

	tau1     =   0.1 (ms) <1e-9,1e9>
	tau2     =  10 (ms) <1e-9,1e9>	
	tau1NMDA = 15  (ms)
	tau2NMDA = 150 (ms)
	e        = 0	(mV)
	mg       = 1
	r        = 1
	
	tgtid    = -1
	synid    = -1
}

ASSIGNED {

	v       (mV)
	i       (nA)
	iNMDA   (nA)
	s       (1)
	sNMDA   (1)
	mgblock (1)
	factor  (1)
	factor2 (1)
}

STATE {

	A  (1)
	B  (1)
	A2 (1)
	B2 (1)
}

INITIAL {

	LOCAL tp
	if (tau1/tau2 > .9999) {
		tau1 = .9999*tau2
	}
	A = 0
	B = 0	
	tp = (tau1*tau2)/(tau2 - tau1) * log(tau2/tau1)
	factor = -exp(-tp/tau1) + exp(-tp/tau2)
	factor = 1/factor
	
	if (tau1NMDA/tau2NMDA > .9999) {
		tau1NMDA = .9999*tau2NMDA
	}
	A2 = 0
	B2 = 0	
	tp = (tau1NMDA*tau2NMDA)/(tau2NMDA - tau1NMDA) * log(tau2NMDA/tau1NMDA)
	factor2 = -exp(-tp/tau1NMDA) + exp(-tp/tau2NMDA)
	factor2 = 1/factor2
}

BREAKPOINT {
	
	SOLVE state METHOD cnexp
	: Jahr Stevens 1990 J. Neurosci
	mgblock = 1.0 / (1.0 + 0.28 * exp(-0.062(/mV) * v) )
	s     = B  - A
	sNMDA = B2 - A2
	i     = s     * (v - e) 
	iNMDA = sNMDA * (v - e) * mgblock
}

DERIVATIVE state {

	A'  = -A/tau1
	B'  = -B/tau2	
	A2' = -A2/tau1NMDA
	B2' = -B2/tau2NMDA
}

NET_RECEIVE(wAMPA(uS), srcgid) {
	
	if(r>=0){ : if r>=0, g = AMPA + NMDA*r
	
		A = A + factor*wAMPA
		B = B + factor*wAMPA
		
		A2 = A2 + factor2*wAMPA*r
		B2 = B2 + factor2*wAMPA*r
		
	}else{
	
		if(r>-1000){ : if r>-1, g = NMDA*r  
		
			A2 = A2 - factor2*wAMPA*r
			B2 = B2 - factor2*wAMPA*r
		
		}
		
		: if r<0 and r<>-1, g = 0
		
	}	
}

Loading data, please wait...