Skip to content

Convergence of grouped and sequential inputs from neural ensembles in a randomly connected feedforward network

License

Notifications You must be signed in to change notification settings

BhallaLab/synaptic-convergence-paper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This readme describes the steps to reproduce the paper figures

Software versions

  • 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.

Setting up

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

Figure 1

Only schematics

Plot generation

Path : /networkConnectivity/simulations/figures/figure1
command : python3 plot_figure1.py
Ensure that schematics are present in the directory containing the plotting file

Figure 2

Data generation

  • 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 : network-connectivity/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 : network-connectivity/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 : network-connectivity/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.

Plot generation

Path : /networkConnectivity/simulations/figures/figure2
command : python3 plot_figure2.py

Figure 2 - Supplement 1

Plot generation

Path : /networkConnectivity/simulations/figures/figure2
command : python3 plot_figure2_param_screen.py

Figure 3

Data generation

  • Figure 3B, C, D, E, F, G, H, I, J, K
    Path : network-connectivity/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

Plot generation

Path : /networkConnectivity/simulations/figures/figure3
command : python3 plot_figure3.py

Figure 4

Data generation

  • 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 : network-connectivity/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.

Plot generation

Path : /networkConnectivity/simulations/figures/figure4
command : python3 plot_figure4.py

Figure 4 - Supplement 1

Plot generation

Path : /networkConnectivity/simulations/figures/figure4
command : python3 plot_figure4_param_screen.py

Figure 5

Data generation

  • Figure 5A
    Schematic
    Schematic needs to be present in the directory containing the plotting file
  • Figure 5B
    Path : network-connectivity/simulations/codes/sequences/chemical
    command : python3 sim_seq_vs_scrambled.py
  • Figure 5C
    Schematic
    Schematic needs to be present in the directory containing the plotting file
  • Figure 5D
    Path : network-connectivity/simulations/codes/sequences/chemical
    command : python3 sim_ectopic_positions.py
    runtime : 70 min
  • Figure 5E
    Path : network-connectivity/simulations/codes/sequences/chemical
    command : python3 sim_selectivity_seq_length.py

Plot generation

Path : /networkConnectivity/simulations/figures/figure5
command : python3 plot_figure5.py

Figure 6

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.

Data generation

  • Figure 6A
    Schematic
    Schematic needs to be present in the directory containing the plotting file
  • Figure 6B
    Path : network-connectivity/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 : network-connectivity/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 : network-connectivity/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 : network-connectivity/simulations/codes/sequences/electrical
    command : python3 main.py
    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.

Plot generation

Path : /networkConnectivity/simulations/figures/figure6
command : python3 plot_figure6.py

Figure 6 - Supplement 1

Data generation

Follow instructions in Figure 6D

Plot generation

Path : /networkConnectivity/simulations/figures/figure6
command : python3 plot_ectopic_responses.py

Figure 7

Data generation

  • Figure 7 - all panels
    Path : network-connectivity/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.

Plot generation

Path : /networkConnectivity/simulations/figures/figure7
command : python3 plot_figure7.py

Figure 7 - Supplement 1

Data generation

Follow instructions in Figure 7. In seq_selectivity_with_activation.py, use prm.cortex_cicr in networks and T_POP_POST=4000

Plot generation

Path : /networkConnectivity/simulations/figures/figure7
command : python3 plot_figure7_cortex_cicr.py

About

Convergence of grouped and sequential inputs from neural ensembles in a randomly connected feedforward network

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published