ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/267067.

Hyperexcitability from Nav1.2 channel loss in neocortical pyramidal cells (Spratt et al 2021)

 Download zip file 
Help downloading and running models
Accession:267067
Based on the Layer 5 thick-tufted pyramidal cell from the Blue Brain Project, we modify the distribution of the sodium channel Nav1.2 to recapitulate an increase in excitability observed in ex vivo slice experiments.
Reference:
1 . Spratt PWE, Alexander RPD, Ben-Shalom R, Sahagun A, Kyoung H, Keeshen CM, Sanders SJ, Bender KJ (2021) Paradoxical hyperexcitability from NaV1.2 sodium channel loss in neocortical pyramidal cells Cell Rep. 36(5):109483 [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: Prefrontal cortex (PFC);
Cell Type(s): Neocortex layer 5 pyramidal cell;
Channel(s): I h; I M; I Potassium; I Sodium; I L high threshold; I T low threshold;
Gap Junctions:
Receptor(s):
Gene(s): Nav1.2 SCN2A;
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s):
Implementer(s): Ben-Shalom, Roy [rbenshalom at ucdavis.edu]; Kyoung, Henry [hkyoung at berkeley.edu];
Search NeuronDB for information about:  I L high threshold; I T low threshold; I M; I h; I Sodium; I Potassium;
/
SprattEtAl2021
Ri Increase
.ipynb_checkpoints
mechanisms
morphology
params
Stims
Volts
README *
.provenance.json *
25% Ri Increase Figures.ipynb *
axon_utils.hoc
biophysics.hoc *
cellinfo.json *
constants.hoc *
creategui.hoc *
createsimulation.hoc *
fit.hoc *
gui.ses *
init.hoc *
LICENSE *
morphology.hoc *
mosinit.hoc *
ringplot.hoc *
run.py *
run_RmpRiTau.py *
runModel.hoc *
template.hoc *
topo_code.hoc *
                            
/*                                                                               
 * @file ringplot.hoc                                                           
 * @brief Horizontally scrolling plot                                
 * @author M. Hines @ Yale, Werner Van Geit @ BBP                                                 
 * @date 2015                                                                    
*/        

load_file("nrngui.hoc")

begintemplate RingPlot
public g, clipped_voltage
public view_count, fastflush, flush, cleanup
objref g, clipped_voltage, clipped_time, voltage, time, max_vec


/** Constructor */
proc init() {
    // Generate graph
    g = new Graph(0)

    // Horizontal width of the plot (in ms)
    clip_size = 3000.0

    // Record voltage
    voltage = new Vector(10000)
    voltage.record(&v(.5))

    // Record time
    time = new Vector(10000)
    time.record(&t)

    // Vector that will contain the clipped data
    clipped_voltage = new Vector()
    clipped_time = new Vector()

    // Set up location and size of window
    g.view(0, -90, 3000, 120, 50, 650, 1007.04, 450)
}

/** View count of the graph */
func view_count() {
    return g.view_count() 
}

/** Fast flush the plot */
func fastflush() {
    update()
    return g.flush()
}

/** Flush the plot */
func flush() {
  update()
  return g.flush()
}

/** Update the plot */
proc update() {
    // Set clipping region (in ms)
    clip_size = 3000.0
  
    // Time at right side of clipping region
    right_t = t

    // Time at left side of clipping region
    // Wait until time reaches clip_size to start scrolling
    if (t >= clip_size) {
        left_t = t - clip_size
    } else {
        left_t = 0.0
    }

    // Calculate clipped vectors
    clipped_voltage.copy(voltage, 0, left_t/dt, right_t/dt-1)
    clipped_time.copy(time, 0, left_t/dt, right_t/dt-1)
    clipped_time.sub(left_t)

    // Erase previous plot
    g.erase()
    // Plot clipped vectors
    clipped_voltage.plot(g, clipped_time)
}

/** Clean up the plot */
proc cleanup() {

    // Vector that will contain the clipped data
    clipped_voltage = new Vector()
    clipped_time = new Vector()
    
}

endtemplate RingPlot

Loading data, please wait...