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;
# -*- coding: iso-8859-1 -*-
from __future__ import division

from numpy import * # zeros, where, diff
from matplotlib.pyplot import *

import params
import model


import neuron
from neuron import hclass, h, nrn
import pylab as pyl


class Simulation(object):
    def __init__(self, recordingList):
        ''' Stimulation with one electrode and registration of voltage at several other.'''
        self.recordingList = recordingList 


    def run_neuron(self):
        h('celsius = {0}'.format(params.temperature))
        neuron.h.finitialize(params.v_init)
        neuron.h.fcurrent() 
        while h.t < params.tstop:
            h.fadvance()    
        self.get_recording()       

    
    def insert_IClamp(self, location = params.electrodeLocation, delay=params.delay, amp = params.amp, dur = params.dur):
        self.stim = h.IClamp(location)
        self.stim.delay = delay
        self.stim.amp = amp
        self.stim.dur = dur
        
    def get_recording(self):
        self.times = array(self.rec_t)     # alternativ to `list(rec_t)`: `numpy.array(rec_t)`
        for compartment in self.recordingList:
            compartment.voltage = []
            compartment.voltage.append(compartment.rec_v)

    def set_time_recording(self):
        self.rec_t = h.Vector()
        self.rec_t.record(h._ref_t)