Gamma genesis in the basolateral amygdala (Feng et al 2019)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:247968
Using in vitro and in vivo data we develop the first large-scale biophysically and anatomically realistic model of the basolateral amygdala nucleus (BL), which reproduces the dynamics of the in vivo local field potential (LFP). Significantly, it predicts that BL intrinsically generates the transient gamma oscillations observed in vivo. The model permitted exploration of the poorly understood synaptic mechanisms underlying gamma genesis in BL, and the model's ability to compute LFPs at arbitrary numbers of recording sites provided insights into the characteristics of the spatial properties of gamma bursts. Furthermore, we show how gamma synchronizes principal cells to overcome their low firing rates while simultaneously promoting competition, potentially impacting their afferent selectivity and efferent drive, and thus emotional behavior.
Reference:
1 . Feng F, Headley DB , Amir A, Kanta V, Chen Z, Pare D, Nair S (2019) Gamma oscillations in the basolateral amygdala: biophysical mechanisms and computational consequences eNeuro
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Extracellular; Synapse; Dendrite; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Amygdala;
Cell Type(s): Hodgkin-Huxley neuron;
Channel(s): I Na,t; I L high threshold; I A; I M; I Sodium; I Calcium; I Potassium; I_AHP; Ca pump; I h; I Na,p; I K;
Gap Junctions: Gap junctions;
Receptor(s): AMPA; NMDA; Gaba; Dopaminergic Receptor;
Gene(s):
Transmitter(s): Dopamine; Norephinephrine;
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Gamma oscillations; Short-term Synaptic Plasticity;
Implementer(s): Feng, Feng [ffvxb at mail.missouri.edu];
Search NeuronDB for information about:  AMPA; NMDA; Gaba; Dopaminergic Receptor; I Na,p; I Na,t; I L high threshold; I A; I K; I M; I h; I Sodium; I Calcium; I Potassium; I_AHP; Ca pump; Dopamine; Norephinephrine;
/
FengEtAl2019
input
readme.txt
bg2pyr.mod
ca.mod *
cadyn.mod *
cal2.mod *
capool.mod
function_TMonitor.mod *
gap.mod *
Gfluct_new_exc.mod
Gfluct_new_inh.mod
h.mod *
halfgap.mod
im.mod *
interD2interD_STFD_new.mod
interD2pyrD_STFD_new.mod
kadist.mod
kaprox.mod *
kdrca1.mod *
kdrca1DA.mod *
kdrinter.mod *
leak.mod *
leakDA.mod *
leakinter.mod *
na3.mod *
na3DA.mod *
nainter.mod *
nap.mod *
nat.mod *
pyrD2interD_STFD.mod
pyrD2pyrD_STFD_new.mod
sahp.mod *
sahpNE.mod *
vecevent.mod
xtra.mod
xtra_imemrec.mod
BL_main.hoc
BLcells_template_LFP_segconsider_all_Iinject_recordingimembrane.hoc
function_calcconduc.hoc
function_ConnectInputs_invivo_op.hoc
function_ConnectInternal_gj_simplify.hoc
function_ConnectInternal_simplify_online_op.hoc
function_ConnectTwoCells.hoc
function_LoadMatrix.hoc
function_NetStimOR.hoc *
function_TimeMonitor.hoc *
interneuron_template_gj_LFP_Iinject_recordingimembrane.hoc
                            
// Created by FF (2018)
// Procs here are used to introduce generated external spike trains to network 


objref Inputvecplay_E[Inputnum_E][E_connectnum],Inputspikes_E[Inputnum_E]
objref Inputsyn_E[Inputnum_E][E_connectnum],Inputnc_E[Inputnum_E][E_connectnum]
objref rc_E2P

objref Inputvecplay_I[Inputnum_I][I_connectnum],Inputspikes_I[Inputnum_I]
objref Inputsyn_I[Inputnum_I][I_connectnum],Inputnc_I[Inputnum_I][I_connectnum]
objref rc_E2I



proc ConnectInputs_E() { local i,j,k,cellgid,inputid,synid,thr,wgt,del localobj target  ///connect spike trains to PNs
		 {pc.barrier()}
	    for i = 0,Inputnum_E-1 {

        ind_start=0+2*i
        ind_stop=1+2*i
        
        if (Etn_spikes_ind.x[ind_start]<=Etn_spikes_ind.x[ind_stop]) {   ///only connect when there is spikes coming
        
        Inputspikes_E[i]=Etn_spikes.at(Etn_spikes_ind.x[ind_start],Etn_spikes_ind.x[ind_stop])  ///to get all external spikes
        
		for j = 0,E_connectnum-1 { 
		    
			cellgid = E2P_matrix.x[i][j]
			if (cellgid >= 0) {
            if(!pc.gid_exists(cellgid)) { continue }
            target = pc.gid2cell(cellgid)

				target.dend Inputsyn_E[i][j] = new pyrD2pyrD_STFD(0.9)
                 {rc_E2P = new Random(i*E_connectnum+j+1)}
                  wgt = rc_E2P.lognormal(9,0.05)
                  del = rc_E2P.uniform(0.5,1)
                Inputsyn_E[i][j].initW=wgt
				Inputvecplay_E[i][j] = new VecStim() 
				Inputvecplay_E[i][j].play(Inputspikes_E[i])

				Inputnc_E[i][j] = new NetCon(Inputvecplay_E[i][j],Inputsyn_E[i][j])
				
				
				Inputnc_E[i][j].weight = 1
				Inputnc_E[i][j].delay = del

				Inputnc_E[i][j].threshold = -10//nc.threshold = thr

			}
			}
		}
	}
	
	{pc.barrier()}
}

proc ConnectInputs_I() { local i,j,k,cellgid,inputid,synid,thr,wgt,del localobj target ///connect spike trains to FSIs
		 {pc.barrier()}
	    for i = 0,Inputnum_I-1 {

        ind_start=0+2*i
        ind_stop=1+2*i
        if (Etn_spikes_ind.x[ind_start]<=Etn_spikes_ind.x[ind_stop]) {   ///only connect when there is spikes coming
        Inputspikes_I[i]=Etn_spikes.at(Etn_spikes_ind.x[ind_start],Etn_spikes_ind.x[ind_stop])  ///to get all external spikes
        
		for j = 0,I_connectnum-1 { 
		    
			//inputid = i
			cellgid = E2I_matrix.x[i][j]
			if (cellgid >= 0) {
            if(!pc.gid_exists(cellgid)) { continue }
            target = pc.gid2cell(cellgid)

                target.dend Inputsyn_I[i][j] = new pyrD2interD_STFD(0.9)
                 {rc_E2I = new Random(i*I_connectnum+j+1)}
                  wgt = rc_E2I.lognormal(2,0.2)
                  del = rc_E2I.uniform(0.5,1)
                Inputsyn_I[i][j].initW=wgt				
				Inputvecplay_I[i][j] = new VecStim()                 
				Inputvecplay_I[i][j].play(Inputspikes_I[i])
				Inputnc_I[i][j] = new NetCon(Inputvecplay_I[i][j],Inputsyn_I[i][j])
				
				Inputnc_I[i][j].weight = 1
				Inputnc_I[i][j].delay = del

				Inputnc_I[i][j].threshold = -10//nc.threshold = thr
				
				
			}
			}
		}
	}

	{pc.barrier()}
}