This is a reimplementation of the dentate gyrus model from which the following papers are based:
- Santhakumar et al. (2005)
- Yim et al. (2015)
Our model is modified primarily from the Yim et al. (2015) implementation. Changes are listed at the end of this file.
Please see the CONTRIBUTING.md
file.
Scripts were tested on Windows 10 and Arch Linux.
I recommend using Linux, and using the shell scripts, since this will create the necessary results/output directories.
sh run.sh
Note that here you will need to create the directories to store results. See run.sh
for the directory names.
nrnivmodl mods
.\main.hoc
...[load templates here (see main.hoc) for example ]...
strdef netlabel
netlabel = "MyDG"
random_seed = 1
objref dg
dg = new DentateGyrus(netlabel, random_seed)
dg.run()
Here we do not list all specific changes implemented, but rather a high-level overview of how the Yim et al. (2015) code was modified.
- Network is now encapsulated as a
template
to facilitate batch simulations - NEURON code was (largely) rewritten to achieve several goals
- Making code more modular, packing routines into smaller functions
- Making variable names more expressive (still work to do here)
- Attempting to maximize local scope for variables, rather than allowing for global definitions
- Development of functions to "transform" network in order to test different effects
- Analysis code written in Julia
- Added capability for spontaneous action potential discharge of granule cells
- Added option for oscillatory perforant path inputs at different frequency bands
For experiments in Singh et al., 2023, "Granule cells perform frequency-dependent pattern separation in a computational model of the dentate gyrus".
- Fully intact, tuned model producing base "U"-shaped curve can be simulated by running
run.sh
. - Lesion studies currently will require direct manipulation of
DentateGyrus.hoc
.- Set the following parameter values to 0 in the
set_connectivity_params()
, save DentateGyrus.hoc, and re-runrun.sh
.- feedforward inhibition: scale_PP2BC_strength
- feedback inhibition: scale_GC2BC_strength
- feedforward and feedback: scale_PP2BC_strength and scale_GC2BC_strength
- all basket cell inhibition: scale_BC2GC_strength
- hipp cell inhibition: scale_HC2GC_strength
- mossy cell excitation: scale_MC2GC_strength
- Set the following parameter values to 0 in the
- Single neuron experiments demonstrating "U"-shaped ISI relationship can be simulated by running
run_singlegc.sh
. Analysis can then be completed usinggcpp_analysis.ipynb
. - Single-cell tuning for HIPP cells and MCs are in
optimize_HCs.py
andoptimize_MCs.py