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. (2005) 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