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
import matplotlib
matplotlib.use('Agg')
import numpy
from pylab import *
import mytools
import pickle
import time
import sys
import random
from setparams import *
from os.path import exists

random.seed(1)
import mutation_stuff
MT = mutation_stuff.getMT()

unpicklefile = open('scalings_cs.sav', 'r')
unpickledlist = pickle.load(unpicklefile)
unpicklefile.close()

theseCoeffsAllAll = unpickledlist[0]
theseMutValsAllAll = unpickledlist[2]
ISIs = [10.0*x for x in range(0,51)]
lensToStart = [150.0, 300.0, 450.0, 600.0]

icomb = 0
#combs_all = [ [[0,5,1], [1,2,15], [2,4,7], [3,1,0], [5,0,0], [8,5,0], [13,2,0]],           #max, Hay cell 0
#              [[0,5,0], [1,3,0], [2,5,1], [3,1,1], [6,3,0], [8,3,0], [12,1,1], [13,5,0]],  #min, Hay cell 0
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,0], [5,0,0], [8,5,0], [13,3,0]],           #max, Hay cell 1
#              [[0,5,0], [1,3,0], [2,5,1], [3,1,1], [6,3,0], [8,3,0], [12,1,1], [13,5,0]],  #min, Hay cell 1
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,0], [5,0,0], [8,5,0], [13,2,0]],           #max, Hay cell 2
#              [[0,5,0], [1,3,0], [2,5,1], [3,1,1], [6,3,0], [8,3,0], [12,1,1], [13,5,0]],  #min, Hay cell 2
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,1], [5,0,0], [8,5,0], [13,5,0]],           #max, Hay cell 3
#              [[0,5,0], [1,3,0], [2,5,1], [3,0,1], [6,3,0], [8,3,0], [12,1,1], [13,4,0]],  #min, Hay cell 3
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,1], [5,0,0], [8,5,0], [13,1,0]],           #max, Hay cell 4
#              [[0,5,0], [1,3,0], [2,5,1], [3,0,1], [6,3,0], [8,3,0], [12,1,1], [13,5,0]],  #min, Hay cell 4
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,1], [5,0,0], [8,5,0], [13,5,0]],           #max, Hay cell 5
#              [[0,5,0], [1,3,0], [2,5,1], [3,0,1], [6,3,0], [8,3,0], [12,1,1], [13,3,0]],  #min, Hay cell 5
#              [[0,5,1], [1,2,15], [2,4,7], [3,1,1], [5,0,0], [8,5,0], [13,0,0]],           #max, Hay cell 6
#              [[0,5,0], [1,3,0], [2,5,1], [3,0,1], [6,3,0], [8,3,0], [12,1,1], [13,5,0]] ] #min, Hay cell 6                                                                                                  
combs_all = [ [[0,2,9], [1,2,9], [2,4,1], [3,1,0], [5,0,0], [8,5,0], [13,0,0]],           #max, Hay cell 0
              [[0,2,4], [1,2,8], [2,5,0], [3,0,0], [6,0,0], [8,2,0], [12,1,1], [13,5,0]], #min, Hay cell 0
              [[0,4,5], [1,2,3], [2,1,7], [3,0,1], [5,0,0], [8,2,0], [12,1,1]],           #max, Almog cell 0
              [[0,3,2], [1,2,14], [2,4,4], [3,1,0], [6,1,0], [8,5,0], [12,0,0], [13,5,0]] ]

if len(sys.argv) > 1:
  icomb = int(float(sys.argv[1]))
combs = combs_all[icomb]


for istartdist in range(0,len(lensToStart)):
 startdist = lensToStart[istartdist]
 startdist = int(startdist)
 if len(sys.argv) > 2 and int(float(sys.argv[2])) != istartdist:
   continue

 for icell in range(0,7):
  theseCoeffsAll = theseCoeffsAllAll[icell]
  gCoeffsAll = []
  if len(sys.argv) > 3 and int(float(sys.argv[3])) != icell:
    continue

  unpicklefile = open('thresholddistalamp'+str(startdist)+'_cs'+str(icell)+'_comb'+str(icomb)+'.sav', 'r')
  unpickledlist = pickle.load(unpicklefile)
  unpicklefile.close()
  gs_thiscomb = unpickledlist[1]

  iitercounter = -1
  gCoeffsThisMut = []
  for iter in [0, 2, 6, 8, -1]:
    iitercounter = iitercounter + 1
    gCoeffsThisIter = []
    thisg = gs_thiscomb[iitercounter][-1]                                                                                                                             
    counter = -1 

    if not exists('PPIcoeffs'+str(startdist)+'_cs'+str(icell)+'_comb'+str(icomb)+'_iter'+str(iter)+'.sav'):
      print 'PPIcoeffs'+str(startdist)+'_cs'+str(icell)+'_comb'+str(icomb)+'_iter'+str(iter)+'.sav does not exist, continuing'
      continue

    unpicklefile = open('PPIcoeffs'+str(startdist)+'_cs'+str(icell)+'_comb'+str(icomb)+'_iter'+str(iter)+'.sav', 'r')
    unpickledlist = pickle.load(unpicklefile)
    unpicklefile.close()
    gCoeffsThisMutVal = unpickledlist[1][0]

    gCoeffsThisMut.append(gCoeffsThisMutVal[:])

  picklelist = [theseCoeffsAll,gCoeffsThisMutVal,ISIs,MT]
  file = open('PPIcoeffs'+str(startdist)+'_cs'+str(icell)+'_comb'+str(icomb)+'.sav', 'w')
  pickle.dump(picklelist,file)
  file.close()