Layer V pyramidal cell functions and schizophrenia genetics (Mäki-Marttunen et al 2019)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:249463
Study on how GWAS-identified risk genes of shizophrenia affect excitability and integration of inputs in thick-tufted layer V pyramidal cells
Reference:
1 . Mäki-Marttunen T, Devor A, Phillips WA, Dale AM, Andreassen OA, Einevoll GT (2019) Computational modeling of genetic contributions to excitability and neural coding in layer V pyramidal cells: applications to schizophrenia pathology Front. Comput. Neurosci. 13:66
Citations  Citation Browser
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: Neocortex;
Cell Type(s):
Channel(s): I A; I M; I h; I K,Ca; I Calcium; I A, slow; I Na,t; I Na,p; I L high threshold; I T low threshold;
Gap Junctions:
Receptor(s): AMPA; NMDA; Gaba;
Gene(s):
Transmitter(s): Glutamate; Gaba;
Simulation Environment: NEURON; Python;
Model Concept(s): Schizophrenia; Dendritic Action Potentials; Action Potential Initiation; Synaptic Integration;
Implementer(s): Maki-Marttunen, Tuomo [tuomo.maki-marttunen at tut.fi];
Search NeuronDB for information about:  AMPA; NMDA; Gaba; I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I M; I h; I K,Ca; I Calcium; I A, slow; Gaba; Glutamate;
/
l5pc_scz
almog
cells
README.html
BK.mod *
ca_h.mod
ca_r.mod
cad.mod *
epsp.mod *
ih.mod *
kfast.mod
kslow.mod
na.mod
ProbAMPANMDA2.mod *
ProbUDFsyn2.mod *
SK.mod *
best.params *
calcifcurves2.py
calcifcurves2_comb_one.py
calcnspikesperburst.py
calcsteadystate.py
calcupdownresponses.py
cc_run.hoc *
coding.py
coding_comb.py
coding_nonprop_somaticI.py
coding_nonprop_somaticI_comb.py
collectifcurves2_comb_one.py
collectthresholddistalamps.py
combineppicoeffs_comb_one.py
drawfigcomb.py
drawnspikesperburst.py
findppicoeffs.py
findppicoeffs_merge.py
findppicoeffs_merge_comb_one.py
findthresholdbasalamps_coding.py
findthresholddistalamps.py
findthresholddistalamps_coding.py
findthresholddistalamps_comb.py
main.hoc *
model.hoc *
model_withsyns.hoc
mosinit.hoc *
mutation_stuff.py
myrun.hoc *
myrun_withsyns.hoc
mytools.py
params.hoc *
protocol.py
savebasalsynapselocations_coding.py
savesynapselocations_coding.py
scalemutations.py
scalings_cs.sav
setparams.py
synlocs450.0.sav
                            
from neuron import h


defVals = {
  'transvec.x(4)': 118.437,      #gih_end
  'transvec.x(5)': 351.814,      #gih_x2
  'transvec.x(6)': -0.0137979,   #gih_alpha
  'transvec.x(7)': 2.5117,       #gih_start
  'transvec.x(9)': 3.78767,      #gkslow_start
  'transvec.x(10)': -0.0915783,  #gkslow_alpha
  'transvec.x(11)': 205.886,     #gkslow_beta
  'transvec.x(12)': 28.2824,     #gka_start
  'transvec.x(13)': -0.0117721,  #gka_alpha
  'transvec.x(14)': 331.65,      #gka_beta
  'transvec.x(15)': 352.142,     #gna_soma
  'transvec.x(16)': 56.4519,     #gna_api
  'transvec.x(20)': 9.27521e-05, #pcah_soma
  'transvec.x(21)': 0.000155847, #pcah_api
  'transvec.x(25)': 0.00314901,  #pcar_soma
  'transvec.x(26)': 0.000488401, #pcar_api
  'transvec.x(31)': 3.18076,     #gsk_soma
  'transvec.x(32)': 0.524016,    #gsk_dend
  'transvec.x(34)': 0.638741,    #gbk_soma
  'transvec.x(35)': 1.22971,     #gbk_dend
}

variables = [['transvec.x(4)', 0.8, 1.25],
             ['transvec.x(5)', 0.8, 1.25],
             ['transvec.x(6)', 0.8, 1.25],
             ['transvec.x(7)', 0.8, 1.25],
             ['transvec.x(9)', 0.8, 1.25],
             ['transvec.x(10)', 0.8, 1.25],
             ['transvec.x(11)', 0.8, 1.25],
             ['transvec.x(12)', 0.8, 1.25],
             ['transvec.x(13)', 0.8, 1.25],
             ['transvec.x(14)', 0.8, 1.25],
             ['transvec.x(15)', 0.8, 1.25],
             ['transvec.x(16)', 0.8, 1.25],
             ['transvec.x(20)', 0.8, 1.25],
             ['transvec.x(21)', 0.8, 1.25],
             ['transvec.x(25)', 0.8, 1.25],
             ['transvec.x(26)', 0.8, 1.25],
             ['transvec.x(31)', 0.8, 1.25],
             ['transvec.x(32)', 0.8, 1.25],
             ['transvec.x(34)', 0.8, 1.25],
             ['transvec.x(35)', 0.8, 1.25]]



#                   NAME    TYPE      WHERE    AT A FIXED POS?   AMPLITUDE NAME
#                                              OR AT A DISTANCE                
#                                              FROM SOMA?                      
stimulus_types = [ ["st1",  "IClamp", "a_soma", ["fixed", 0.5],    "amp" ],
                   ["syn1", "epsp",   "apic", ["distance", 620], "imax" ] ]

#                   WHAT TYPE OF OUTPUT? VOLTAGE/[CA] AT A
#                   FIXED TIME (LAST TVEC BEFORE GIVEN TIME)
#                   OR MAXIMUM/NSPIKES DURING A GIVEN INTERVAL?
data_storage_types = [ ["fixed", 13000],
                       ["max", [10000,10200] ],
                       ["trace", [9950+5*x for x in range(0,51)] ],
                       ["highrestrace", [9950+x for x in range(0,251)] ],
                       ["highrestraceandspikes", [9950+x for x in range(0,251)] ],
                       ["nspikes", [12000, 15000] ],
                       ["nspikesandothers", [12000, 15000] ] ]


#            STIMULUS_TYPE   AMPLITUDE NAME  PARAMETERS        
#                                                              
#                                                              
stimuli = [ [ 0, [ ["del", 10000], ["dur", 3000] ] ],
            [ 0, [ ["del", 10000], ["dur", 100] ] ],
            [ 1, [ ["onset", 10000], ["tau0", 0.5], ["tau1", 5.0] ] ],
            [ 0, [ ["del", 10000], ["dur", 5000] ] ],
            [ 0, [ ["del", 10000], ["dur", 5] ] ] ]

#                NAME     WHAT    WHERE
#                                   WHICH    AT WHICH
#                                   BRANCH   LOCATIONS
recordings = [ [ "vsoma",  "v",   [ ["a_soma", [0.5] ] ] ],
               [ "vdend",  "v",   [ ["apic", [0.05*x for x in range(0,21)] ], 
                                    ["dend", [0.05*x for x in range(0,21)] ] ] ],
               [ "cadend", "cai", [ ["apic", [0.05*x for x in range(0,21)] ] ] ] ]

#                STIMULUS INDEX
#                        AMPLITUDES
#                                                 RECORDING INDEX
#                                                         DATA STORAGE INDEX
setup =      [ [ [1],   [0.25, 0.5],              0,      4 ],            # MEMBRANE POTENTIAL TRACE RESPONSE TO A 100 ms DC,
               [ [4],   [0.7],                    0,      4 ],            # MEMBRANE POTENTIAL TRACE RESPONSE TO A SHORT SOMATIC STIMULUS
               [ [2],   [1.75],                   0,      4 ],            # MEMBRANE POTENTIAL TRACE RESPONSE TO A SHORT SOMATIC STIMULUS
               [ [4,2], [[0.7, 1.75]],            0,      4 ],            # MEMBRANE POTENTIAL TRACE RESPONSE TO COMBINATION OF SHORT SOMATIC AND APICAL STIMULI
               [ [3],   [0.8, 0.9, 1.0],          0,      6 ] ]           # NUMBERS OF SPIKES, CVISI AND NSPIKESPERBURST AS A RESPONSE TO A LONG DC

stop_if_no_spikes = [ [0, 1], [0], [0], [1], [1, 1, 1] ]
stop_if_more_spikes_or_as_many_as = [ [2, 5], [5], [5], [5], [100, 200, 300] ]  # when nSpikes >= x)

# Return the full matrix of the step-wise fitting variables
def get_variables():
  global variables
  return variables
def get_defvals():
  global defVals
  return defVals

# Return the stimulus array
def get_stimuli():
  global stimuli
  return stimuli

# Return the stimulus types array
def get_stimulus_types():
  global stimulus_types
  return stimulus_types

# Return the data storage array
def get_data_storage_types():
  global data_storage_types
  return data_storage_types

# Return the recordings array
def get_recordings():
  global recordings
  return recordings

# Return the stimulus-recording setup array
def get_setup():
  global setup
  return setup

def get_nspike_restrictions():
  global stop_if_no_spikes, stop_if_more_spikes_or_as_many_as
  return [stop_if_no_spikes, stop_if_more_spikes_or_as_many_as]