MEC layer II stellate cell: Synaptic mechanisms of grid cells (Schmidt-Hieber & Hausser 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:150239
This study investigates the cellular mechanisms of grid field generation in Medial Entorhinal Cortex (MEC) layer II stellate cells.
Reference:
1 . Schmidt-Hieber C, Häusser M (2013) Cellular mechanisms of spatial navigation in the medial entorhinal cortex. Nat Neurosci 16:325-31 [PubMed]
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: Entorhinal cortex;
Cell Type(s): Entorhinal cortex stellate cell;
Channel(s): I Na,t; I A; I K; I CNG;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA; Gaba;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s): Oscillations; Synaptic Integration; Attractor Neural Network; Place cell/field; Spatial Navigation; Grid cell;
Implementer(s): Schmidt-Hieber, Christoph [c.schmidt-hieber at ucl.ac.uk];
Search NeuronDB for information about:  GabaA; AMPA; NMDA; Gaba; I Na,t; I A; I K; I CNG;
/
grid
demo
test_rin.hoc
test_rin.py
                            
# Test R_in, sag ratio, firing pattern
# 23/7/2012
# (c) 2012, C.Schmidt-Hieber, University College London

import sys

from neuron import h
import matplotlib.pyplot as plt
import numpy as np

sys.path.append("./nrn")
import loadcell

# general settings
morpho = "garden" # One of "garden" or "remme"
dt = 0.05 # integration interval (ms)
tstop = 1000.0 # sweep duration (ms)
istep = 0.05 # current step (nA)

# load NEURON's standard library
h.load_file("stdrun.hoc")
cell = loadcell.loadcell("garden")

h.dt = dt
h("forall {nseg=1}") # low spatial accuracy
h.dt = dt
h.steps_per_ms = 1.0/h.dt # NEURON quirk
h.tstop = tstop

ic = h.IClamp(cell.somaloc.secRef.sec(cell.somaloc.loc), sec=cell.somaloc.secRef.sec)
ic.delay = 200.0
ic.dur = 500.0

mrec = h.Vector()
mrec.record(cell.somaloc.secRef.sec(0.5)._ref_v)

runs = range(-1,10)
for nrun in runs:
    sys.stdout.write("%06.2f%% completed\r" % (float(nrun-runs[0])/len(runs)*100.0))
    sys.stdout.flush()
    ic.amp = nrun*istep
    h.v_init = cell.Vrest
    h.run()
    mrecnp = np.array(mrec)
    plt.plot(np.arange(len(mrecnp))*h.dt, mrecnp, '-k')
    plt.xlabel("Time (ms)")
    plt.ylabel("Membrane potential (mV)")
    if nrun == -1:
        first_idx = int(ic.delay/h.dt)
        last_idx = int((ic.delay+ic.dur)/h.dt)

        last_v = mrecnp[last_idx]-mrecnp[first_idx]
        amp_v = mrecnp[first_idx:last_idx].min()-mrecnp[first_idx]

        rin = last_v / ic.amp
        sag_ratio = last_v/amp_v

    if nrun == 0:
        vrest = mrecnp[-1]

sys.stdout.write("\nInput resistance: %.2f MOhm\n" % rin)
sys.stdout.write("Sag ratio: %.3f\n" % sag_ratio)
sys.stdout.write("Resting potential: %.2f mV\n" % vrest)

plt.show()

# wait for user input
raw_input()

Loading data, please wait...