Excitatory synaptic interactions in pyramidal neuron dendrites (Behabadi et al. 2012)

 Download zip file 
Help downloading and running models
" ... We hypothesized that if two excitatory pathways bias their synaptic projections towards proximal vs. distal ends of the basal branches, the very different local spike thresholds and attenuation factors for inputs near and far from the soma might provide the basis for a classical-contextual functional asymmetry. Supporting this possibility, we found both in compartmental models and electrophysiological recordings in brain slices that the responses of basal dendrites to spatially separated inputs are indeed strongly asymmetric. ..."
1 . Behabadi BF, Polsky A, Jadi M, Schiller J, Mel BW (2012) Location-dependent excitatory synaptic interactions in pyramidal neuron dendrites. PLoS Comput Biol 8:e1002599 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Synapse; Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Sodium; I Potassium;
Gap Junctions:
Receptor(s): AMPA; NMDA;
Transmitter(s): Glutamate;
Simulation Environment: NEURON; Python;
Model Concept(s): Dendritic Action Potentials; Spatio-temporal Activity Patterns; Active Dendrites; Detailed Neuronal Models; Synaptic Integration;
Implementer(s): Behabadi, Bardia [bardiafb+mdb at gmail.com];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; AMPA; NMDA; I Sodium; I Potassium; Glutamate;
# 2-compartment circuit parameters
eN = 0
eL = -70
eI = -90
gLD = 0.25
gLS = 4
gA = 2.5
gNbar = .5

V = npy.arange(-90, 0.01, 0.01)

def gN(gNbar, V):
    # The Supp Methods reports 22 and 12 for the constants below for 
    # mg2+ block. More precise constants below reproduce figure 4d
    mgB = (1 + npy.exp( -(V + 22.117)/12.657))**-1
    g = gNbar*mgB 
    return g

def I(g, V, e):
    I = g*(V - e)
    return I

def calcIs(nsyn, nsyn2=0):
    ILD = I(gLD, V, eL)
    IND = I(gN(gNbar*nsyn, V), V, eN)
    Idend = ILD + IND
    VS = V + Idend/gA
    ILS = I(gLS, VS, eL)
    INP = I(gN(gNbar*nsyn2, VS), VS, eN)
    Itot = Idend + ILS + INP
    return (ILD, IND, ILS, INP, Idend, Itot) 

def calcVs(nsyn, nsyn2=0):
    (ILD, IND, ILS, INP, Idend, Itot) = calcIs(nsyn, nsyn2)
    VS = V + Idend/gA
    fixedpts = npy.diff(Itot>0).sum()
    if fixedpts == 1:
        V0 = npy.interp(0, Itot, V)
        V0S = npy.interp(0, Itot, VS)
    if fixedpts == 3:
        # with multiple fixed pts, take smallest one
        first = npy.where(npy.diff(Itot>0))[0][0]
        V0 = npy.interp(0, Itot[first:first+1], V[first:first+1])
        V0S = npy.interp(0, Itot[first:first+1], VS[first:first+1])
    return (V0, V0S, fixedpts)

syns = npy.arange(21)
ss = []
for pmodlevel in npy.arange(41):
    # prox mod
    numfixedpts = npy.zeros(syns.size)
    Vs = npy.zeros(syns.size)
    VsS = npy.zeros(syns.size)
    for nsyn in syns:
        (Vs[nsyn], VsS[nsyn], numfixedpts[nsyn]) = calcVs(nsyn, pmodlevel)

s = npy.array(ss).T
# normalize 2C model responses to MC model (MC model max)
s90150max = 15.217
s -= s.min()
s *= s90150max/s.max()

h = f4plot(s)
h.savefig(os.path.join('figs','Figure 4d.png'))

Loading data, please wait...