Sensory-evoked responses of L5 pyramidal tract neurons (Egger et al 2020)

 Download zip file 
Help downloading and running models
Accession:239145
This is the L5 pyramidal tract neuron (L5PT) model from Egger, Narayanan et al., Neuron 2020. It allows investigating how synaptic inputs evoked by different sensory stimuli are integrated by the complex intrinsic properties of L5PTs. The model is constrained by anatomical measurements of the subcellular synaptic input patterns to L5PT neurons, in vivo measurements of sensory-evoked responses of different populations of neurons providing these synaptic inputs, and in vitro measurements constraining the biophysical properties of the soma, dendrites and axon (note: the biophysical model is based on the work by Hay et al., Plos Comp Biol 2011). The model files provided here allow performing simulations and analyses presented in Figures 3, 4 and 5.
Reference:
1 . Egger R, Narayanan RT, Guest JM, Bast A, Udvary D, Messore LF, Das S, de Kock CP, Oberlaender M (2020) Cortical Output Is Gated by Horizontally Projecting Neurons in the Deep Layers Neuron
Model Information (Click on a link to find other models with that property)
Model Type: Dendrite; Realistic Network; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Calcium; I h; I M; I K; I Na,t; I Na,p; I K,Ca;
Gap Junctions:
Receptor(s): AMPA; GabaA; NMDA;
Gene(s):
Transmitter(s): Glutamate; Gaba;
Simulation Environment: NEURON; Python;
Model Concept(s): Active Dendrites; Detailed Neuronal Models; Sensory processing; Stimulus selectivity; Synaptic Integration;
Implementer(s): Egger, Robert [robert.egger at nyumc.org];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; GabaA; AMPA; NMDA; I Na,p; I Na,t; I K; I M; I h; I K,Ca; I Calcium; Gaba; Glutamate;
import os

installationDirectory = os.path.abspath(os.path.dirname(__file__))

resultsFolder = os.path.join(installationDirectory, 'evoked_activity/manipulation1/results')
spikeTimesScript = os.path.join(installationDirectory, 'lib/visualization/spike_raster_plots.py')
synapseHistogramScript = os.path.join(installationDirectory, 'lib/visualization/active_synapse_histograms.py')

analysisFolder = os.path.join(installationDirectory, 'manipulation1_analysis')
if not os.path.exists(analysisFolder):
    os.makedirs(analysisFolder)
    os.makedirs(os.path.join(analysisFolder, 'spike_raster_plots'))
    os.makedirs(os.path.join(analysisFolder, 'active_synapses'))

whiskers = ('B1', 'B2', 'B3', 'C1', 'C2', 'C3', 'D1', 'D2', 'D3', 'E2')

scriptName = os.path.join(analysisFolder, 'manipulation1_analysis_script.sh')
with open(scriptName, 'w') as scriptFile:
    header = '#!/bin/bash\n'
    header += '\n'
    scriptFile.write(header)
    
    # generate spike time files
    line = 'echo \"******************************************\"\n'
    line += 'echo \"ANALYSIS STEP 1: generate spike time files\"\n'
    line += 'echo \"******************************************\"\n'
    line += 'python '
    line += spikeTimesScript
    line += ' '
    line += resultsFolder
    line += ' '
    line += os.path.join(analysisFolder, 'spike_raster_plots')
    line += '\n\n'
    scriptFile.write(line)
    
    # generate spike raster plots/PSTHs
    line = 'echo \"******************************************\"\n'
    line += 'echo \"ANALYSIS STEP 2: generate spike raster plots/PSTHs\"\n'
    line += 'echo \"******************************************\"\n'
    line += 'python '
    line += spikeTimesScript
    line += ' '
    line += resultsFolder
    line += ' vm_all_traces.csv'
    line += ' '
    line += os.path.join(analysisFolder, 'spike_raster_plots')
    line += '\n'

    for whisker in whiskers:
        line += 'python '
        line += spikeTimesScript
        line += ' '
        line += resultsFolder
        line += ' vm_all_traces.csv'
        line += ' '
        line += whisker + '_deflection '
        line += os.path.join(analysisFolder, 'spike_raster_plots', 'summary', whisker + 'deflection_location_all')
        line += '\n'
    line += '\n'
    scriptFile.write(line)
    
    # generate synapse activation histograms
    line = 'echo \"******************************************\"\n'
    line += 'echo \"ANALYSIS STEP 3: generate active synapse histograms\"\n'
    line += 'echo \"******************************************\"\n'
    for whisker in whiskers:
        line += 'python '
        line += synapseHistogramScript
        line += ' '
        line += resultsFolder
        line += ' synapses.csv '
        line += whisker
        line += '_deflection '
        suffix = whisker + '_deflection'
        line += os.path.join(analysisFolder, 'active_synapses', suffix)
        line += '\n'
    line += '\n'
    for whisker in whiskers:
        line += 'python '
        line += synapseHistogramScript
        line += ' '
        line += resultsFolder
        line += ' synapses.csv spike_times.csv '
        line += whisker
        line += '_deflection '
        suffix = whisker + '_deflection'
        line += os.path.join(analysisFolder, 'active_synapses', suffix)
        line += '\n'
    line += '\n'
    scriptFile.write(line)
    
os.chmod(scriptName, 0777)

Loading data, please wait...