NobleBlocks

From the research index

The paper comes from the research index. It wasn’t submitted here.

Simulate Patterns from Synfire Chains

Alexander Kleinjohann, David Berling

Zenodo (CERN European Organization for Nuclear Research)25 Jul 2022Open access

Abstract

No PDF here

The full text is at the publisher

You can read the abstract here, or open it at the publisher.

Read at the publisher

Simulate Patterns from Synfire Chains Repository containing code necessary to reproduce the results of A. Kleinjohann, D. Berling, T. Tetzlaff, S. Grün (2022). Cortical spatiotemporal spike patterns explained by a model of multiple synfire chains Executing the Workflow 1. Install [conda](https://docs.conda.io/en/latest/miniconda.html) if not installed already. 2. Install [snakemake](https://snakemake.readthedocs.io/en/stable/) if not installed already. 3. Configure `input_files/parameters.yaml` to choose parameter sets, output directories etc. See `input_files/parameters_template.yaml`. We provide the configurations to generate all the required data for reproducing our figures, see below. 4. Run `snakemake --use-conda --cores N`, where N should be replaced with the number of available CPU cores. Alternatively, `--cores N` can be replaced with `--profile cluster_profile`. We have included an example profile for the [slurm](https://slurm.schedmd.com/overview.html) submission system. You can specify user-specific slurm settings via `slurm_user_config.txt` (see `slurm_user_config_template.txt`). More profiles can be found [here](https://github.com/Snakemake-Profiles). Running `snakemake` without specifying a target will generate all data (detectability, fit to experimental patterns, scan num_chains instead of just using the optimum) for the specified parameters. Alternatively, you can specify targets manually, e.g. `snakemake detectability`, `snakemake fit`, `snakemake num_chains_scan` or combinations thereof, like `snakemake detectability fit`. *Warning*: Without parallelisation on a multiprocessor machine/cluster executing the workflow can take a long time. # Generating Figures The figures are generated with the iPython notebooks in `ipynbs_plots/`. In order to run a notebook, the following steps are necessary: 1. Install [conda](https://docs.conda.io/en/latest/miniconda.html) if not installed already. 2. Enter the folder which contains the notebooks (`cd ipynbs_plots/`). 3. Install the environment for running the notebooks if not installed already (`conda env create -f notebook_env.yaml -p .conda/`). 4. Activate the environment (`conda activate .conda/`). 5. Start a Jupyter Notebook instance (`jupyter notebook`). 6. Select the notebook you want to execute. For more information on how to work with Jupyter Notebooks, see [the notebook documentation](https://docs.jupyter.org/en/latest/running.html). The notebooks for Figures 1-3 are self-contained and do not require any additional data. The experimental data for Figure 4 is shipped with this repository under `data/experimental_results.pkl`. The data for the other figures can be generated as follows: ## Generating data for Figure 5 *Configuration Files*: all files in `input_files/configs_fig5/` For this figure, we only vary one parameter at a time. It is more efficient to do multiple simulations in which only one parameter is varied since we don't need all combinations of all parameter values. Note that some simulations can be reused for Figure 8. The simulations for all configurations in this folder have to be run in order to generate the data for Figure 5. Only the detectability data is required, though. E.g. the simulation for scanning the SFC lengths can be invoked with `snakemake detectability --configfile input_files/configs_fig5/scan_l.yaml --use-conda --cores N`. All other parameter scans are analogous to the one for l. ## Generating data for Figure 6 and Figure 7 *Configuration Files*: `input_files/config_fig6-fig7.yaml` For Figures 6 and 7, we vary all parameters and compute all combinations. We only need the detectability data here. E.g. the simulation for scanning the SFC lengths can be invoked with `snakemake detectability --configfile input_files/config_fig6-fig7.yaml --use-conda --cores N`. ## Generating data for Figure 8 and 9 *Configuration Files*: all files in `input_files/configs_fig8-fig9/` For Figure 8, we only vary one parameter at a time. It is more efficient to do multiple simulations in which only one parameter is varied since we don't need all combinations of all parameter values. Note that parts of the simulations for Figure 5 can be reused here, but we need the fit data here, not the detectability data, so it has to be calculated in addition. The simulations for all configurations in this folder have to be run in order to generate the data for Figure 8. Only the fit data is required, though. E.g. the simulation for scanning the SFC lengths can be invoked with `snakemake fit --configfile input_files/configs_fig8-fig9/scan_l.yaml --use-conda --cores N`. Additionally, the simulation for scanning num_chains can be run with `snakemake num_chains_scan --configfile input_files/configs_fig8/scan_l.yaml --use-conda --cores 1`. We use a different approach here since the results for different numbers of embedded SFCs can be obtained by resampling from the same simulation if it has enough embedded chains. All other parameter scans are analogous to the one for l explained above. Figure 9 only requires this num_chains_scan, Figure 8 uses the other scans as well. ## Generating data for Figure 10 and 11 *Configuration File*: `input_files/config_fig10-fig11.yaml` For Figure 10, we vary all parameters and compute all combinations. We only need the fit data here. E.g. the simulation for scanning the SFC lengths can be invoked with `snakemake fit --configfile input_files/config_fig10-fig11.yaml --use-conda --cores N`. The notebook for Figure 11 automatically finds the best fit parameter set in the data for Figure 10.

Identifiers

Discussion

Citations

Topics

Details

Published
25 Jul 2022
Publisher
European Organization for Nuclear Research
Language
EN

More

Suggest a correction or report