Model files using NEURON (v8.0.0) simulation environment and Python 3.8 programming language for the paper:
"Somatic depolarization enhances hippocampal CA1 dendritic spike propagation and distal input-driven
synaptic plasticity" by Tobias Bock, Adrian Negrean, and Steven A. Siegelbaum, 2022, The Journal of Neuroscience.
- Contact
- For inquiries and comments regarding the code contact:
Adrian Negrean at an2788@columbia.edu or negreanadrian@gmail.com
- For all other inquiries please contact the corresponding author: Tobias Bock at htb2110@columbia.edu
- General requirements
- Python 3.x (tested 3.8)
- NEURON (tested v8.0.0)
- to compile .mod mechanism files, cd to ./mechs/main-mech and run:
nrnivmodl .
- Installation
-
For a fresh installation, use conda to manage multiple pyhton environments.
To create a new conda environment called "
nrn3.8
" that uses Python 3.8:
conda create -n nrn3.8 python=3.8
-
To activate the new environment:
conda activate nrn3.8
- To install latest NEURON (here ver 8.0.0):
pip3 install neuron
(mac and linux) or use the installer for windows
- To check correct installation of NEURON in the Python environment, import package:
from neuron import h, gui
- Install required packages until all import errors are resolved.
- Usage
-
The simulation is organized around a core user-editable JSON file called a
"workflow", e.g. "./docs/workflows/main-workflow.json" that contains pre-defined computational tasks:
- "dedsp": Reproduces Fig 3B, Depolarization Enhacement of Dendritic Spike Propagation (DEDSP) with A-type K-channels.
- "dedsp_no_ka": Reproduces Fig 3C, tuft plateau spike propagation with A-type channels blocked.
- "dedsp_no_dend_spike": Reproduces Fig 3D, tuft subthreshold depolarization (no plateau) propagation with A-type channels.
- Each computational task consists of one or more task steps, each with settings described under "task-steps", e.g.
"dedsp" task has two steps, "run_model:dedsp" to run the simulation and "plot_recpar:vm" to plot results.
- To get help on setting for launching the simulation from the terminal:
python simctr.py --help
- To launch a computational task, e.g. "dedsp" from the terminal using the default workflow JSON:
python simctr.py ./docs/workflows/main-workflow.json dedsp
Each task run will save the current workflow and recorded variables in addition to other task dependent outputs to a defined
output folder set in the workflow JSON under "task_output".