Dentate Gyrus Feed-forward inhibition (Ferrante et al. 2009)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:124291
In this paper, the model was used to show how that FFI can change a steeply sigmoidal input-output (I/O) curve into a double-sigmoid typical of buffer systems.
Reference:
1 . Ferrante M, Migliore M, Ascoli GA (2009) Feed-forward inhibition as a buffer of the neuronal input-output relation PNAS 106(42):18004-18009
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;
Brain Region(s)/Organism: Dentate gyrus;
Cell Type(s): Dentate gyrus granule cell; Dentate gyrus MOPP cell;
Channel(s): I Na,t; I A; I K;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Activity Patterns; Ion Channel Kinetics; Synchronization; Spatio-temporal Activity Patterns; Action Potentials; Noise Sensitivity;
Implementer(s): Migliore, Michele [Michele.Migliore at Yale.edu]; Ferrante, Michele [mferr133 at bu.edu]; Ascoli, Giorgio A [ascoli at gmu.edu];
Search NeuronDB for information about:  Dentate gyrus granule cell; GabaA; AMPA; NMDA; I Na,t; I A; I K; Gaba; Glutamate;
/
FFI
MOPP_Fig_1B_left
ichan2.mod *
kaprox.mod
kdrca1.mod
na3n.mod
Fig_1B_left.hoc
fixnseg.hoc *
mosinit.hoc
n257-noaxon.hoc
                            
/* Sets nseg in each section to an odd value
   so that its segments are no longer than 
     d_lambda x the AC length constant
   at frequency freq in that section.

   Be sure to specify your own Ra and cm before calling geom_nseg()

   To understand why this works, 
   and the advantages of using an odd value for nseg,
   see  Hines, M.L. and Carnevale, N.T.
        NEURON: a tool for neuroscientists.
        The Neuroscientist 7:123-135, 2001.
*/

// these are reasonable values for most models
freq = 100      // Hz, frequency at which AC length constant will be computed
d_lambda = 0.1

func lambda_f() { local i, x1, x2, d1, d2, lam
        if (n3d() < 2) {
                return 1e5*sqrt(diam/(4*PI*$1*Ra*cm))
        }
// above was too inaccurate with large variation in 3d diameter
// so now we use all 3-d points to get a better approximate lambda
        x1 = arc3d(0)
        d1 = diam3d(0)
        lam = 0
        for i=1, n3d()-1 {
                x2 = arc3d(i)
                d2 = diam3d(i)
                lam += (x2 - x1)/sqrt(d1 + d2)
                x1 = x2   d1 = d2
        }
        //  length of the section in units of lambda
        lam *= sqrt(2) * 1e-5*sqrt(4*PI*$1*Ra*cm)

        return L/lam
}

proc geom_nseg() {
  soma area(0.5) // make sure diam reflects 3d points
  forall { nseg = int((L/(d_lambda*lambda_f(freq))+0.9)/2)*2 + 1  }
}