Dendritic Discrimination of Temporal Input Sequences (Branco et al. 2010)

 Download zip file   Auto-launch 
Help downloading and running models
Compartmental model of a layer 2/3 pyramidal cell in the rat somatosensory cortex, exploring NMDA-dependent sensitivity to the temporal sequence of synaptic activation.
1 . Branco T, Clark BA, Häusser M (2010) Dendritic discrimination of temporal input sequences in cortical neurons. Science 329:1671-5 [PubMed]
2 . Branco T, Häusser M (2011) Synaptic integration gradients in single cortical pyramidal cell dendrites. Neuron 69:885-92 [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; Dendrite;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L2/3 pyramidal GLU cell;
Gap Junctions:
Receptor(s): NMDA;
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Spatio-temporal Activity Patterns; Synaptic Integration; Direction Selectivity;
Search NeuronDB for information about:  Neocortex L2/3 pyramidal GLU cell; NMDA; Glutamate;
procedures to insert synapses with AMPAR and NMDAR

AMPA is modelled with the built-in function AlphaSynapse
NMDA is modelled with mechanisms from Kampa et al. 2004 

Tiago Branco (2010)

proc init_syn_params(){
    AMPAtau = 2
    AMPAgmax = 0.0005       //500 pS
    NMDAgmax = 8000         //8000 pS (Popen is 0.2 so effective gmax = 1600 pS, use 5000 pS for active model)

// read file with synapse location
objref mloc, floc, rloc
floc = new File("./synapse_loc.dat")
mloc = new Matrix()

nsyn = 1
proc init_syns(){
    nsyn = $1
    objectvar cAMPA[nsyn], cNMDA[nsyn]
    create PRE[nsyn]
    for n = 0, nsyn-1 {
	dendid = mloc.x[n][0]
	pos = mloc.x[n][1]
	print n
	addAMPA(dendid, pos, n)
	addNMDA(dendid, pos, n) 

objectvar cAMPA[1]
proc addAMPA(){
        n = $3
	cAMPA[n] = new AlphaSynapse()
	dend[$1] cAMPA[n].loc($2)
	cAMPA[n].tau = AMPAtau 
        cAMPA[n].gmax = AMPAgmax

create PRE[1]
proc addPRE(){
        n = $1
	PRE[n] {diam=1 L=1}
	PRE[n] {insert rel}
	PRE[n].dur_rel = 0.5
	PRE[n].amp_rel = 2

objectvar cNMDA[nsyn]
proc addNMDA(){
        n = $3
	cNMDA[n] = new NMDA_Mg_T()
	dend[$1] cNMDA[n].loc($2)
	cNMDA[n].gmax = NMDAgmax
	setpointer cNMDA[n].C, PRE[n].T_rel(0.5)
	Erev_NMDA_Mg = 5
	mg_NMDA_Mg_T = 1