A 1000 cell network model for Lateral Amygdala (Kim et al. 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:150288
1000 Cell Lateral Amygdala model for investigation of plasticity and memory storage during Pavlovian Conditioning.
Reference:
1 . Kim D, Paré D, Nair SS (2013) Mechanisms contributing to the induction and storage of Pavlovian fear memories in the lateral amygdala. Learn Mem 20:421-30 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Synapse; Dendrite;
Brain Region(s)/Organism: Amygdala;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell; 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;
Gap Junctions:
Receptor(s): AMPA; NMDA; Gaba; Dopaminergic Receptor;
Gene(s):
Transmitter(s): Dopamine; Norephinephrine;
Simulation Environment: NEURON;
Model Concept(s): Synaptic Plasticity; Short-term Synaptic Plasticity; Long-term Synaptic Plasticity; Learning; Neuromodulation;
Implementer(s): Kim, Dongbeom [dk258 at mail.missouri.edu];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell; AMPA; NMDA; Gaba; Dopaminergic Receptor; I Na,t; I L high threshold; I A; I M; I Sodium; I Calcium; I Potassium; I_AHP; Ca pump; Dopamine; Norephinephrine;
/
KimEtAl2013
README.txt
bg2inter.mod
bg2pyr.mod
ca.mod *
cadyn.mod
cal2.mod *
capool.mod *
function_TMonitor.mod *
h.mod *
im.mod
interD2pyrD_STFD.mod
interD2pyrDDA_STFD.mod
interD2pyrDDANE_STFD.mod
interD2pyrDNE_STFD.mod
interD2pyrV_STFD.mod
interD2pyrVDA_STFD.mod
interV2pyrD_STFD.mod
interV2pyrDDA_STFD.mod
interV2pyrDDANE_STFD.mod
interV2pyrDNE_STFD.mod
interV2pyrV_STFD.mod
interV2pyrVDA_STFD.mod
kadist.mod *
kaprox.mod
kdrca1.mod
kdrca1DA.mod
kdrinter.mod *
leak.mod *
leakDA.mod *
leakinter.mod *
na3.mod
na3DA.mod
nainter.mod *
pyrD2interD_STFD.mod
pyrD2interV_STFD.mod
pyrD2pyrD_STFD.mod
pyrD2pyrDDA_STFD.mod
pyrD2pyrV_STFD.mod
pyrD2pyrVDA_STFD.mod
pyrV2interD_STFD.mod
pyrV2interV_STFD.mod
pyrV2pyrD_STFD.mod
pyrV2pyrDDA_STFD.mod
pyrV2pyrV_STFD.mod
pyrV2pyrVDA_STFD.mod
sahp.mod
sahpNE.mod
shock2interD.mod
shock2interV.mod
shock2pyrD.mod
shock2pyrV.mod
tone2interD.mod
tone2interDNE.mod
tone2interV.mod
tone2interVNE.mod
tone2pyrD.mod
tone2pyrD_LAdv.mod
tone2pyrDNE.mod
tone2pyrDNE_LAdv.mod
tone2pyrV.mod
tone2pyrV_LAdd.mod
tone2pyrVNE.mod
tone2pyrVNE_LAdd.mod
BgGen.hoc
Cell_list.txt
Cell_type.txt
function_ConnectInternal.hoc
function_ConnectTwoCells.hoc
function_NetStimOR.hoc *
function_TimeMonitor.hoc *
function_ToneGen.hoc
function_ToneSignalGen_Ctx.hoc
function_ToneSignalGen_Th.hoc
interneuron_template.hoc
LA_model_main_file.hoc
LAcells_template.hoc
NM.txt
shock2Idd.txt
shock2Idv.txt
shock2LAdd.txt
shock2LAdv.txt
shockcondi.hoc
Syn_Matrix.txt
tone2Idd.txt
tone2Idd2.txt
tone2Idv.txt
tone2Idv2.txt
tone2LAdd.txt
tone2LAdd2.txt
tone2LAdv.txt
tone2LAdv2.txt
                            
//By Pirate Henry 2011 and modified by Dongbeom

obfunc LoadMatrix() { local nrow,ncol localobj mat,datafile
	nrow = $2
	ncol = $3
	datafile = new File()
	datafile.ropen($s1)
	mat = new Matrix()
	mat.scanf(datafile,nrow,ncol)
	//print mat.nrow, mat.ncol
	datafile.close()

	return mat
}

objref InternalSynMatrix,InternalThrMatrix,InternalWgtMatrix,InternalDelMatrix
InternalSynMatrix = new Matrix()
//InternalThrMatrix = new Matrix()
//InternalWgtMatrix = new Matrix()
//InternalDelMatrix = new Matrix()

InternalSynMatrix = LoadMatrix(FileLocationStr_InternalSynConns,TotalCellNum,TotalCellNum)

//InternalThrMatrix = LoadMatrix(FileLocationStr_InternalThrConns,TotalCellNum,TotalCellNum)
//InternalWgtMatrix = LoadMatrix(FileLocationStr_InternalWgtConns,TotalCellNum,TotalCellNum)

objref InternalsynList,InternalncList,fih,rdm
InternalsynList = new List()
InternalncList = new List()
rdm = new Random()

proc ConnectInternal() { local i,j,cellgid,inputid,synid,thr,wgt,del
	{pc.barrier()}
	for j = 0,CellNum-1 {
		//cellgid = CellList.o(j).mygid
		cellgid = j
		if(!pc.gid_exists(cellgid)) { continue }
		for i = 0,TotalCellNum-1 {
			Rdm_D = rdm.discunif(1, 5)						// random number generator for different delay
			inputid = i
			synid = InternalSynMatrix.x[inputid][cellgid]
			//print(synid)
			if (synid != 0) {
				//print(synid)
				//printf("The cell #%d gets input from Cell #%d with synid #%d!\n",cellgid,inputid,synid)
				/*thr = InternalThrMatrix.x[inputid][cellgid]
				wgt = InternalWgtMatrix.x[inputid][cellgid]
				del = InternalDelMatrix.x[inputid][cellgid]*/
				//printf("%f,%f,%f\n",thr,wgt,del)
				//if (del<dt) {
				//	print del
				//}
				//ConnectTwoCells(inputid,cellgid,synid,wgt,del,thr,InternalsynList,InternalncList)
				ConnectTwoCells(inputid,cellgid,synid,Rdm_D,InternalsynList,InternalncList)
			}
		}
	}
	{pc.barrier()}
	saveM.close()
}