Skip to content

ModelDBRepository/2019882

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This entry contains the simulation scripts for the article "Computational modelling of novelty detection in the mismatch negativity protocols and its impairments in schizophrenia"

Directories and subdirectories:

  • ./ (this directory): The main directory with scripts for Brian2 simulations.
  • hay/: The directory for Hay model simulations
  • hay/models: The directory with the hoc files
  • hay/morphologies: The directory with the asc files
  • hay/saves_ACC: Empty directory - the Hay model simulations with the ACC gene expression alterations will be saved here
  • hay/saves_PFC: Empty directory - the Hay model simulations with the PFC gene expression alterations will be saved here
  • fIs/: Empty directory - the Brian2 simulations of single neuron f-I curves will be saved here

To run the simulations for Fig. 2A and plot the results, the grid search has to be run. Do this by:

Fig. 2A (super CPU-costly, approx 7000 CPU hours)

sh rungrid.sh
python3 drawfig_venn.py

To run the simulations for Fig. 2B and plot the results, we only need to run one simulation script that performs 4 experiments (one for each protocol). Do this by:

Fig. 2B (approx 2 min runtime)

python3 simSCZpop_AUCbased.py 1 CTRL 0 #Run only CTRL simulation with seed=1 imodel=0. If run with less arguments, it will simulate also other 15 models (and ACC and PFC variants too if without CTRL argument).
python3 drawfig_onesim.py

To run the simulations for Fig. 3A-C, do the following:

Fig. 3A (approx 2 min runtime)

python3 simCTRL_diffseq.py #You can check the results after this by "python3 drawfig_longseq.py" - it will plot panel A but give an error for drawing panel B and C if you didn't run the simulations for imodel=1-15 below.

Fig. 3B-C (approx 30 min runtime)

for imodel in `seq 1 15`
do
  python3 simCTRL_diffseq.py 1 $imodel
done
python3 drawfig_longseq.py

To run the simulations for Fig. 3D-E and plot the results, do the following:

Fig. 3D-E (approx 5-6 hours runtime)

sh docheckups_NMDAblock.sh
python3 drawfig_NMDAblocked.py

Fig. 3F-G (approx 5-6 hours runtime)

sh docheckups_delays.sh
python3 drawfig_delays.py

To run the simulations for Fig. 4 and plot the results, do the following:

Fig. 4 (runtime many days):

sh runsynfire.sh
python3 drawfigstdp0.py

To run Fig. 5A-B, we have to run the Hay model simulations. These will be done in the "hay" folder as follows:

Fig. 4A-B

cd hay
nrnivmodl #compile the .MOD mechanisms
python3 CTRL.py #Takes ~2 minutes
sh runACC.sh #Takes ~15-18 hours
sh runPFC.sh #Takes ~14-17 hours
cd ..
python3 drawfig_SCZ_allcortical_a.py

To run Fig. 5C-G, run the following:

sh runFigSCZ.sh
python3 drawfig_SCZ_allcortical_b.py

To run Fig. 5H-L, run the following:

sh runFigSCZ_19percent.sh
python3 drawfig_SCZ_allcortical_c.py

To run Fig. 6, run the following:

sh runfigcortfit.sh
python3 drawfigcortfit.py

To run Fig. 7A-D, run the following (in addition to the simulations run for Fig. 5 and 6):

python3 sim_fIcurve_0to1amps_fittedtaus.py ACC #Takes less than a minute
python3 sim_fIcurve_0to1amps_fittedtaus.py PFC #Takes less than a minute
python3 drawfig_SCZ_corticalsubcortical_a.py

To run Fig. 7E-I, run the following:

python3 interpolate_fIcurve_membranetimeconstant_cortical.py #This can be done once the simulations for Fig. 5 and 6 have been performed. This saves taus_cortical_subjectwise_*.sav.
sh runFigSCZ_corticalsubcortical.sh
python3 drawfig_SCZ_corticalsubcortical_b.py

To run Fig. 7J-N, run the following (assuming the CTRL simulations for Fig. 7E-I are already done):

sh runFigSCZ_corticalsubcortical_19percent.sh
python3 drawfig_SCZ_corticalsubcortical_c.py

Copyright CC-BY Tuomo Mäki-Marttunen, Ahmed Eissa, Jan Fredrik Kismul 2023-2025


File breakdown:

README.html                                                                #This file
do_vary_fittedcortical_mmns.py                                             #Script to run one seed from one of the 16 models with a cortical output population with a given input strength and noise level
docheckups_NMDAblock.py                                                    #Script to run the model without NMDARs
docheckups_NMDAblock.sh                                                    #Bash script that runs docheckups_NMDAblock.py for the 16 models
docheckups_delays.py                                                       #Script to run the model with transmission delays
docheckups_delays.sh                                                       #Bash script that runs docheckups_delays.py for the 16 models
dosimSCZpop_19percentMorePruned_cortical.sh                                #Bash script that runs simSCZpop_19percentMorePruned_cortical.py for 20 seeds
dosimSCZpop_cortical.sh                                                    #Bash script that runs simSCZpop_cortical.py for 20 seeds
drawfig_NMDAblocked.py                                                     #Draws Fig. 3D-E
drawfig_SCZ_allcortical_a.py                                               #Draws Fig. 5A-B
drawfig_SCZ_allcortical_b.py                                               #Draws Fig. 5C-G
drawfig_SCZ_allcortical_c.py                                               #Draws Fig. 5H-L
drawfig_SCZ_corticalsubcortical_a.py                                       #Draws Fig. 7A-D
drawfig_SCZ_corticalsubcortical_b.py                                       #Draws Fig. 7E-I
drawfig_SCZ_corticalsubcortical_c.py                                       #Draws Fig. 7J-N
drawfig_blocked_1_noEP2.py                                                 #Draws Supp. Fig.
drawfig_blocked_2_noEP.py                                                  #Draws Supp. Fig.
drawfig_blocked_3_nolongs.py                                               #Draws Supp. Fig.
drawfig_blocked_4_ESEDonly.py                                              #Draws Supp. Fig.
drawfig_delays.py                                                          #Draws Fig. 3F-G
drawfig_longseq.py                                                         #Draws Fig. 3A-C
drawfig_onesim.py                                                          #Draws Fig. 2B
drawfig_rob_SDs.py                                                         #Draws Supp. Fig.
drawfig_rob_jitter.py                                                      #Draws Supp. Fig.
drawfig_rob_randominputs.py                                                #Draws Supp. Fig.
drawfig_rob_sizes.py                                                       #Draws Supp. Fig.
drawfig_stdpsynfire_gridsearch3.py                                         #Draws Fig. 4B
drawfig_venn.py                                                            #Draws Fig. 2A
drawfigcortfit.py                                                          #Draws Fig. 6
drawfigstdp0.py                                                            #Draws Fig. 4A
drawfigstdp.py                                                             #Draws Fig. 4B-O
fIs                                                                        #Directory where f-I curves of IAF models with different membrane constants are saved
gridsearch_mmns_2pm_sep7.py                                                #Script for running the grid search to fit the model
hay                                                                        #Directory for Hay model simulations
interpolate_fIcurve_membranetimeconstant_cortical.py                       #Script for combining the f-I data from Hay model and interpolating them to find their corresponding IAF membrane constants
mytools.py                                                                 #Generic tools for plotting and interpolating
myvenn.py                                                                  #A script based on venny4py to plot a Venn diagram
runFigSCZ.sh                                                               #Bash script that runs simSCZpop_AUCbased.py for 20 seeds
runFigSCZ_19percent.sh                                                     #Bash script that runs simSCZpop_19percentMorePruned.py for 20 seeds
runFigSCZ_corticalsubcortical.sh                                           #Bash script that runs simSCZpop_corticalsubcortical.py for 20 seeds
runFigSCZ_corticalsubcortical_19percent.sh                                 #Bash script that runs simSCZpop_corticalsubcortical_19percentMorePruned.py for 20 seeds
runfigcortfit.sh                                                           #Bash script that runs sim_fIcurve_0to1amps.py for 25 membrane constants (from 50 to 1200 ms)
rungrid.sh                                                                 #Bash script that runs the grid search
runsynfire.sh                                                              #Bash script that runs the STDP experiments with the synfire chain
simCTRL_diffseq.py                                                         #Script to run one seed from one of the 16 models with a different stimulus sequence
simSCZpop_19percentMorePruned.py                                           #Script to run all 16 models where synaptic conductance to E populations is reduced by 19 percent for a given seed
simSCZpop_19percentMorePruned_cortical.py                                  #cript to run all 16 models with the cortical output population (CO) where synaptic conductance to CO is reduced by 19 percent for a given seed
simSCZpop_AUCbased.py                                                      #Script to run all 16 models, both CTRL, SCZ(ACC) and SCZ(PFC) where all populations are considered cortical (no external cortical population)
simSCZpop_corticalsubcortical.py                                           #Script to run all 16 models with the cortical output population (CO), both CTRL, SCZ(ACC) and SCZ(PFC)
simSCZpop_corticalsubcortical_19percentMorePruned.py                       #Script to run all 16 models with the cortical output population (CO), where synaptic conductance to CO is reduced by 19 percent
sim_fIcurve_0to1amps.py                                                    #Script to run IAF f-I curve for a given membrane time constant, leak conductance and threshold potential
sim_mmns_2pm_sep_noISDIDD_savespikesonly.py                                #The main simulation script to simulate the model, no limit for the parameter variability (may not work for SD > 0.3)
sim_mmns_2pm_sep_noISDIDD_savespikesonly_limtau.py                         #The main simulation script to simulate the model
sim_mmns_2pm_sep_noISDIDD_savespikesonly_limtau_delays.py                  #Script to simulate the model with transmission delays
sim_mmns_2pm_sep_noISDIDD_savespikesonly_limtau_fixunits.py                #The main simulation script to simulate the model, fixed the units (the output is identical). I might recommend using this as a base script if you develop the model further since it has the correct units - however, it may in its current form be slower than sim_mmns_2pm_sep_noISDIDD_savespikesonly_limtau.py due to additional unit checks
sim_mmns_2pm_sep_noISDIDD_savespikesonly_limtau_givensequence.py           #Script to simulate the model with an alternative stimulus sequence
sim_mmns_2pm_sep_noISDIDD_withnoisyfittedcortical_savespikesonly_limtau.py #SCript to simulate the model with the cortical output population (CO)
sim_mmns_2pm_sep_nopm2_nopm_savespikesonly.py                              #Script to simulate the model without pacemaker (phase-locked) populations
sim_mmns_2pm_sep_nopm2_nosep_nopm_savespikesonly.py                        #Script to simulate the model without pacemaker (phase-locked) populations and without separate delayed-activating populations
sim_mmns_2pm_sep_nopm2_nosep_savespikesonly.py                             #Script to simulate the model without the alternative-phase pacemaker (phase-locked) population and without separate delayed-activating populations
sim_mmns_2pm_sep_nopm2_savespikesonly.py                                   #Script to simulate the model without the alternative-phase pacemaker (phase-locked) population
stdpsynfire_noNMDA_synstim_vartau.py                                       #Script to simulate the synfire chain model
stdpsynfire_noNMDA_synstim_vartau_random.py                                #Script to simulate the synfire chain model with random inputs
stdpsynfire_noNMDA_synstim_vartau_saveallweights.py                        #Script to simulate the synfire chain model and save all weight time courses

About

Integrate-and-fire network model for deviance detection in the MMN protocols (Eissa et al, 2026)

Topics

Resources

Stars

Watchers

Forks

Contributors