This readme describes the steps to reproduce the paper figures
- PYHTON : 3.10.12
- NEURON : 8.2.3
- MOOSE : 4.0.0 (pymoose)
- Version numbers of all python packages are listed in the requirements.txt file present in the repository.
Git clone the repository and go into synaptic-convergence-paper directory and execute the below lines
python3 -m venv conv-env
source conv-env/bin/activate
pip install -r requirements.txt
Only schematics
Path : synaptic-convergence-paper/simulations/figures/figure1
command : python3 plot_figure1.py
Ensure that schematics are present in the directory containing the plotting file
- Figure 2A, C, D, E
Schematics
Schematics need to be present in the directory containing the plotting file - Figure 2F, G, H, I, J, K, M
Path : synaptic-convergence-paper/simulations/codes/groups
command :python3 group_counts.py <run_number> <seed>
The run number and seeds can be found in the same path. It takes around ~20 hrs for each run-number and seed combination. 100 processes were launched in parallel with different seeds for the analysis mentioned in the paper. - Figure 2B
Path : synaptic-convergence-paper/simulations/codes/groups/cam
command :python3 generate_Ca_CaM_trace.py
Ensure that the model file Ca_CaM.g is present in the same path - Figure 2L
Path : synaptic-convergence-paper/simulations/codes/groups
command :python3 categorize_stimulus_driven_groups.py <run_number> <seed>
The run number and seeds can be found in the same path. It takes around 4 mins for each run-number and seed combination. 100 processes were launched in parallel with different seeds for the analysis mentioned in the paper.
Path : synaptic-convergence-paper/simulations/figures/figure2
command : python3 plot_figure2.py
Path : synaptic-convergence-paper/simulations/figures/figure2
command : python3 plot_figure2_param_screen.py
- Figure 3B, C, D, E, F, G, H, I, J, K
Path : synaptic-convergence-paper/simulations/codes/groups
command :python3 group_counts_with_activation.py <run_number> <seed>
The run number and seeds can be found in the same path. It takes around 5hrs for each run-number and seed combination for hippo-elec. 100 processes were launched in parallel with different seeds for the analysis mentioned in the paper. Might take longer for some of the other network configurations
Path : synaptic-convergence-paper/simulations/figures/figure3
command : python3 plot_figure3.py
- Figure 4A, B, C
Schematics
Schematics needs to be present in the directory containing the plotting file - Figure 4D, E, F, G, H, I
Path : synaptic-convergence-paper/simulations/codes/sequences
command:python3 sequence_counts.py <run_number> <seed>
The run number and seeds can be found in the same path. It takes around ~4 hrs for each run-number and seed combination. 100 processes were launched in parallel for the analysis mentioned in the paper.
Path : synaptic-convergence-paper/simulations/figures/figure4
command : python3 plot_figure4.py
Path : synaptic-convergence-paper/simulations/figures/figure4
command : python3 plot_figure4_param_screen.py
- Figure 5A
Schematic
Schematic needs to be present in the directory containing the plotting file - Figure 5B
Path : synaptic-convergence-paper/simulations/codes/sequences/chemical
command :python3 sim_seq_vs_scrambled.py
- Figure 5C
Path : synaptic-convergence-paper/simulations/codes/sequences/chemical
command :python3 sim_q_scores_vs_stimulus_patterns.py
- Figure 5D
Schematic
Schematic needs to be present in the directory containing the plotting file - Figure 5E
Path : synaptic-convergence-paper/simulations/codes/sequences/chemical
command :python3 sim_ectopic_positions.py
runtime : 70 min - Figure 5F
Path : synaptic-convergence-paper/simulations/codes/sequences/chemical
command :python3 sim_selectivity_seq_length.py
Path : synaptic-convergence-paper/simulations/figures/figure5
command : python3 plot_figure5.py
Note
For the below figure we chose the model published on ModelDB (https://modeldb.science/140828) for examining the effect of ectopic inputs on the selectivity of electrical sequences (Branco, Clark, and Häusser 2010). The base code from ModelDB was modified and run using the NEURON Simulator. The original channel kinetics parameters post the fix to NMDA_Mg_T initialization, and the dendrite used for testing were retained as is from ModelDB github repository (https://github.com/ModelDBRepository/140828). We tested out the effects of ectopics using the passive version of the model.
- Figure 6A
Schematic
Schematic needs to be present in the directory containing the plotting file - Figure 6B
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical
command :python3 main.py
Ensure that all the dependent files are present. Sequence of length 5 was chosen for this. - Figure 6C
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical
command :python3 main.py
The command needs to be run separately for sequences of 3, 5 and 8 inputs. Ensure that all the dependent files for each sequence length are present. Accordingly modify the synapse_loc<sequence_length>.dat filename in the init_synapses.hoc file and the corresponding synapse_order_<sequence_length>.dat filename in init_sim.hoc. The output needs to be redirected to tempV_<sequence_length>panelC.dat and tempM<sequence_length>panelC.dat files as well in init_sim.hoc. - Figure 6D
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical
command :python3 main.py
runtime : ~50 min Note that the mosinit.hoc file will need to call init_sim_ectopic.hoc instead of init_sim.hoc. This was done for a sequence of length 5. Accordingly use synapse_order_5.dat, ectopic_input_time_panelD.dat in init_sim_ectopic.hoc. Use synapse_loc_5.dat and ectopic_synapse_loc_panelD.dat in init_synapses_ectopic.hoc. Use The output needs to be redirected to tempV_panelD.dat and tempM_panelD.dat as well in init_sim_ectopic.hoc. - Figure 6E
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical
command :python3 main.py
runtime : ~30 min in total for sequences of length 3 to 9 Note that the mosinit.hoc file will need to call init_sim_ectopic.hoc instead of init_sim.hoc. The command needs to be run separately for sequences of different sequence lengths. Ensure that all the dependent files for each sequence length are present. Accordingly use synapse_order<sequence_length>.dat, ectopic_input_time_<sequence_length>.dat in init_sim_ectopic.hoc. Use synapse_loc_<sequence_length>.dat and ectopic_synapse_loc_<sequence_length>.dat in init_synapses_ectopic.hoc. Use The output needs to be redirected to tempV_<sequence_length>panelE.dat and tempM<sequence_length>panelE.dat as well in init_sim_ectopic.hoc.
Path : synaptic-convergence-paper/simulations/figures/figure6
command : python3 plot_figure6.py
Follow instructions in Figure 6D
Path : synaptic-convergence-paper/simulations/figures/figure6
command : python3 plot_ectopic_responses.py
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical
command : python3 main.py
Note that the mosinit.hoc file will need to first call init_sim.hoc. The command needs to be run separately for sequences of sequence lengths of 5 and 9 by changing the appropriate file names within both the hoc files. Ensure that all the dependent files for each sequence length are present. Accordingly use synapse_order<sequence_length>.dat in init_sim.hoc. Use synapse_loc_<sequence_length>.dat in init_synapses.hoc. Use The output needs to be redirected to tempV_<sequence_length>panelC.dat and tempM<sequence_length>panelC.dat as well in init_sim.hoc. Redirect the other output files appropriately
Repeat the above step by replacing the init_sim.hoc with init_sim_without_nmda.hoc in mosinit.hoc. All the file names for sequence lengths 5 and 9 will have to be changed as per above instructions in init_sim_without_nmda.hoc and init_synapses_without_nmda.hoc accordingly.
Path : synaptic-convergence-paper/simulations/codes/sequences/electrical/branco-model
Run mosinit.hoc with init_sim.hoc and init_sim_without_nmda.hoc separately.
Path : synaptic-convergence-paper/simulations/figures/figure6
command : python3 plot_figure6_supplement2.py
- Figure 7 - all panels
Path : synaptic-convergence-paper/simulations/codes/sequences
command :python3 seq_selectivity_with_activation.py <run_number> <seed>
The run number and seeds can be found in the same path.
This takes around ~13 hrs when for each run-number and seed combination for hippo-CICR for T_POP_POST=10000 neurons. 100 processes were launched in parallel for the analysis mentioned in the paper.
Path : synaptic-convergence-paper/simulations/figures/figure7
command : python3 plot_figure7.py
Follow instructions in Figure 7. In seq_selectivity_with_activation.py, use prm.cortex_cicr in networks and T_POP_POST=4000
Path : synaptic-convergence-paper/simulations/figures/figure7
command : python3 plot_figure7_cortex_cicr.py
Author - Upinder S Bhalla
- Figure 8B, C, D, E, F, G
Path : synaptic-convergence-paper/simulations/figures/figure8
command:./runMAPKSeries.bat ./runVmSeries.bat ./runCaMSeries.bat
Path : synaptic-convergence-paper/simulations/figures/figure8
command : python3 analyzeNonlin6.py