Spikelet generation and AP initiation in a simplified pyr neuron (Michalikova et al. 2017) Fig 3

 Download zip file   Auto-launch 
Help downloading and running models
Accession:206400
The article by Michalikova et al. (2017) explores the generation of spikelets in cortical pyramidal neurons. This package contains code for simulating the model with simplified morphology shown in Figs 3 and S2.
Reference:
1 . Michalikova M, Remme MW, Kempter R (2017) Spikelets in Pyramidal Neurons: Action Potentials Initiated in the Axon Initial Segment That Do Not Activate the Soma. PLoS Comput Biol 13:e1005237 [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; Axon;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s): I Na,t;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s): Action Potentials; Electrotonus; Action Potential Initiation; Axonal Action Potentials;
Implementer(s): Michalikova, Martina [tinka.michalikova at gmail.com];
Search NeuronDB for information about:  I Na,t;
from neuron import h, nrn
import neuron

import params


class NewSection(nrn.Section):
    
    def __init__(self, SectionName='noName'):
        '''  Inherited from NEURON class Section'''
        nrn.Section.__init__(self, name = SectionName)    # Using the init of the parent
        self.SectionName = SectionName
        self.voltage = []
    
    def set_geom(self, length=1, diameter=1, nseg=1):
        '''Set length, diameter and nseg.'''
        self.L = length
        self.diam = diameter
        self.nseg = nseg
    
    def set_memb(self):
        '''Set cytoplasmic resistivity and membrane conductance.'''
        self.Ra = params.r_a
        self.cm = params.c_m
            
    def set_passive(self):
        '''Set passive membrane properties.'''
        self.insert("pas")
        for seg in self:
            seg.pas.g = params.gpas
            seg.pas.e = params.E_pas
    
    def set_na3(self, gna_max):
        ''' Insert the high-threshold sodium conductance.'''
        self.insert("na3")   
        for seg in self:
            na_channel = seg.na3
            na_channel.gbar = gna_max
            na_channel.sh = params.na3_shm #vshift of activation curve
            na_channel.shx = params.na3_shh #vshift of inactivation curve
            seg.ena = params.E_na
       
    def set_nax(self, gna_max, E_na=params.E_na): 
        ''' Insert the high-threshold sodium conductance.'''
        self.insert("nax")   
        for seg in self:
            na_channel = seg.nax
            na_channel.gbar = gna_max
            na_channel.sh = params.nax_shm #vshift of activation curve
            na_channel.shx = params.nax_shh #vshift of inactivation curve
            seg.ena = params.E_na        
            
                
    def set_active_k(self, gk_max): 
        ''' Insert active potassium conductance.'''
        self.insert("kdr")  
        for seg in self:
            k_channel = seg.kdr
            k_channel.gbar = gk_max
            seg.ek = params.E_k
         

    def set_recording(self, location): 
        self.rec_v = h.Vector()     
        self.rec_v.record(self(location)._ref_v)