Single excitatory axons form clustered synapses onto CA1 pyramidal cell dendrites (Bloss et al 2018)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:237728
" ... Here we show that single presynaptic axons form multiple, spatially clustered inputs onto the distal, but not proximal, dendrites of CA1 pyramidal neurons. These compound connections exhibit ultrastructural features indicative of strong synapses and occur much more commonly in entorhinal than in thalamic afferents. Computational simulations revealed that compound connections depolarize dendrites in a biophysically efficient manner, owing to their inherent spatiotemporal clustering. ..."
Reference:
1 . Bloss EB, Cembrowski MS, Karsh B, Colonell J, Fetter RD, Spruston N (2018) Single excitatory axons form clustered synapses onto CA1 pyramidal cell dendrites. Nat Neurosci 21:353-363 [PubMed]
Citations  Citation Browser
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:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s):
Implementer(s):
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell;
/
BlossEtAl2018
readme.html
dists.mod *
eff.mod *
gScale.mod
id.mod *
kad.mod *
kap.mod *
kdr.mod *
na3.mod *
nmdaSyn.mod
syns.mod *
addChannels.hoc *
addSpines.hoc
addSynapses.hoc
buildCell.hoc
channelParameters.hoc *
createBiophysics.hoc
createMorphology.hoc
createPlots.hoc
createPointers.hoc
doAnalysis.hoc
getBranchOrder.hoc *
idMorph.hoc
initializationAndRun.hoc
loadMorph.hoc
mosinit.hoc *
processMorph.hoc
proofreadMorph.hoc
resetNSeg.hoc *
screenshot.png
simParameters.hoc
singleSim.hoc
singleSimDist.hoc
spineGeom.hoc
spineShaftConc.hoc
start.hoc
trackVoltages.hoc
twinApical.swc *
varyDistribution.hoc
varySpaceTime.hoc
                            
if(theSim<2.1){
	// incorporate AMPA-only synapses
	scaleSyn=8.2
	weightAmpa = 0.00013*scaleSyn
	weightNmda = 0
}else{
	// incorporate AMPA and NMDA synapses	
	scaleSyn=6
	weightAmpa = 0.00012*scaleSyn
	weightNmda = 0.00012*scaleSyn
}

// allows access to parent X values. Used multiple times as helper.
func getParentX(){
	neck[$1]{
		tempVal = parent_connection()
	}
	pop_section()
	return tempVal
}

// ADD TWO SYNAPSES AND INVESTIGATE CLUSTERED VS. DISTRIBUTED INPUTS
// ACROSS STRETCH OF DENDRITE.
nSyn=nSpine 

objref nsAmpa[nSyn],ncAmpa[nSyn],synAmpa[nSyn]
objref nsNmda[nSyn],ncNmda[nSyn],synNmda[nSyn]

synStart = 100 // time to start synapses
proc initSynapses(){
	for ii=0,nSyn-1{

		shaftInput = shaftInputs.x[ii]
		if(abs(shaftInput)<0.1){
			head[ii]{
				synAmpa[ii] = new Exp2Syn(0.5)
				synNmda[ii] = new Exp2SynNMDA(0.5)
			}
		}else{
			theXVal = getParentX(ii)
			dendTar.sec{
				synAmpa[ii] = new Exp2Syn(theXVal)
				synNmda[ii] = new Exp2SynNMDA(theXVal)
			}
		}
		
		nsAmpa[ii] = new NetStim(0.5)
		nsNmda[ii] = new NetStim(0.5)
		ncAmpa[ii] = new NetCon(nsAmpa[ii],synAmpa[ii])
		ncNmda[ii] = new NetCon(nsNmda[ii],synNmda[ii])	
	
		synAmpa[ii].tau1 = 0.2 // harnett et al., 2012
		synAmpa[ii].tau2 = 2 // harnett et al., 2012
		synAmpa[ii].e = 0
		synNmda[ii].tau1 = 1 // harnett et al., 2012
		synNmda[ii].tau2 = 75 // harnett et al., 2012
		synNmda[ii].e = 0
		
		nsAmpa[ii].interval = 0
		nsAmpa[ii].number = 1
		nsAmpa[ii].noise = 0
		nsNmda[ii].interval = 0
		nsNmda[ii].number = 1
		nsNmda[ii].noise = 0
		
		ncAmpa[ii].delay = 0
		ncNmda[ii].delay = 0
		ncAmpa[ii].weight = weightAmpa
		ncNmda[ii].weight = weightNmda
	}
}

// Change weights of synapses.
proc initSynapticWeight(){
	ncAmpa[0].weight = $1
	ncAmpa[1].weight = $2
	ncNmda[0].weight = $3
	ncNmda[1].weight = $4
}

// Change start times of synapses.
proc initSynapticTime(){
	nsAmpa[0].start = $1
	nsNmda[0].start = $1
	nsAmpa[1].start = $2
	nsNmda[1].start = $2
}

// move two spines to new locations, as specified by user.
// $1: x location for spine 1
// $2: x location for spine 2
proc moveSpines(){
	dendTar.sec{
		connect neck[0](0),$1
		connect neck[1](0),$2
	}
}