This repository contains simulation files used in the publication Trpevski, et al. "Glutamate spillover provides robust all-or-none behavior of plateau potentials in multicompartment models of striatal projection neurons", Authorea. March 29, 2023. DOI: 10.22541/au.168012861.16093883/v1
The simulations are implemented in Python 3, using the NEURON simulator through its Python 3 interface. This README file provides instructions for running the simulation scripts and reproducing the figures in the paper.
- NEURON simulator
- Python 3
- Required Python packages (list them here)
The repository contains the following files:
fig_2B.py
andfig_2B_hm.py
for reproducing plots in Fig. 2B.iv.py
for generating Fig. 3.single_run.py
for running a single simulation with clustered inputs.nmda_plateaus.py
for obtaining results for variable cluster size (as in Fig. 2).alpha_mpi.py
andeta_mpi.py
for generating full simulated data, which were run on the Fenix Infrastructure resorces for 5 hours with the setup in the filesalpha.sh
andeta.sh
, respectively.analyze_alpha.py
andanalyze_eta.py
for analyzing the full simulated data.
The simulation code is organized around two classes:
d1msn.py
for the cell (inherits from the general classneuron_cls.py
)spillover_experiment.py
for the experiment performed with the cell (inherits from the general classexperiment.py
)
All parameters in the neuron model and the simulations are set in the parameters.py
file.
To run an elementary simulation, such as single_run.py
, follow these steps:
- Create a neuron using the
d1msn
class. - Create an experiment with that neuron using the
spillover_experiment
class. - Set up the input to the neuron using the
insert_synapses()
method. Important arguments for this method are:noise_SPN
- inserts the background noisemy_spillover
- creates a cluster of synapses with extrasynaptic NMDARsno_spillover
- creates a cluster of synapses without extrasynaptic NMDARs
- Set up the recording via the
set_up_recording()
method. - Run the simulation via the
simulate()
method. - Plot the results via the
plot_results()
method.
The results of the simulations are provided in the results
folder. This includes the simulated data used in the fig_2B.py
and fig_2B_hm.py
scripts.
The DOI for the publication is DOI: [10.3389/fncel.2023.1196182]
The code is released under GNU General Public License v3.0.