# Spillover 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. ## Requirements - NEURON simulator - Python 3 - Required Python packages (list them here) ## Usage The repository contains the following files: - `fig_2B.py` and `fig_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` and `eta_mpi.py` for generating full simulated data, which were run on the [Fenix Infrastructure resorces](https://www.cscs.ch/) for 5 hours with the setup in the files `alpha.sh` and `eta.sh`, respectively. - `analyze_alpha.py` and `analyze_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 class `neuron_cls.py`) - `spillover_experiment.py` for the experiment performed with the cell (inherits from the general class `experiment.py`) All parameters in the neuron model and the simulations are set in the `parameters.py` file. ## Running a Simulation To run an elementary simulation, such as `single_run.py`, follow these steps: 1. Create a neuron using the `d1msn` class. 2. Create an experiment with that neuron using the `spillover_experiment` class. 3. Set up the input to the neuron using the `insert_synapses()` method. Important arguments for this method are: - `noise_SPN` - inserts the background noise - `my_spillover` - creates a cluster of synapses with extrasynaptic NMDARs - `no_spillover` - creates a cluster of synapses without extrasynaptic NMDARs 4. Set up the recording via the `set_up_recording()` method. 5. Run the simulation via the `simulate()` method. 6. Plot the results via the `plot_results()` method. ## Results 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. ## DOI The DOI for the publication is DOI: [10.3389/fncel.2023.1196182] ## License The code is released under GNU General Public License v3.0. ## References - [[NEURON Simulator documentation link]](https://neuron.yale.edu/neuron/)