Skip to content

Code and Data for Mohanta and Assisi "Intermittent inputs reveal invariant odor representations" (2021).

License

Notifications You must be signed in to change notification settings

neurorishika/intermittent-odors

Repository files navigation

Intermittent inputs reveal invariant odor representations

Authors: Rishika Mohanta1, Collins Assisi1

1 Indian Institute of Science Education and Research (IISER) Pune, Maharashtra, India

Abstract

Steady odor streams are typically encoded as robust spatiotemporal spike trains by olfactory networks. However, odorants often come riding upon chaotically pulsed plumes of air. As a consequence, the spike sequences must also be different every time an animal encounters the odorant. Nevertheless, animals are capable of decoding sensory cues and navigating highly complex and turbulent ‘odorscapes’. Here, we attempt to find the neural invariants of stable olfactory percepts in a computational model of the locust olfactory system. We show that when time-varying odor inputs intermittently perturb subsets of neurons in the antennal lobe network, the activity of the network reverberates in a manner that depends on both the nature of the inputs it receives and the structure of the neuronal sub-network that these inputs stimulate. We demonstrate that it is possible to decipher the structure of the perturbed sub-network by examining transient synchrony in the activity of the neurons. We find that the ability to reconstruct the sub-network structure is vastly improved when odor inputs arrive or are sampled in an intermittent manner. Thus, the structure of the stimulated sub-network itself serves as a unique invariant code that represents the odor.'

Requirements

This project is designed for Python 3.8.5 (Anaconda Distribution + Jupyter Notebook) and MATLAB 9.8 (R2020a) on a 64-bit Windows system with a dedicated NVidia GPU for CUDA based code acceleration. A GPU is not necessary but is suggested for considerable speedup. Code under the slurm/ directory is written for a Ubuntu Linux based HPC server with access to atleast 10 compute nodes managed by SLURM. To run the code you will also need 7zip (https://www.7-zip.org/) installed in the default directory. Adobe Illustrator CC 2015 or above is also required. The project also contains pre-built FFMPEG binaries for generation of animations.

The following python packages are also required to be installed:

elephant==0.10.0
imageio==2.9.0
matplotlib==3.3.4
neo==0.10.0
networkx==2.5
numpy==1.20.1
pandas==1.2.4
quantities==0.12.5
requests==2.25.1
scikit_learn==1.0.1
scipy==1.6.2
seaborn==0.11.1
statannotations==0.4.2
tensorflow (or tensorflow-gpu)==2.7.0
tqdm==4.59.0

Instructions for Reproducing Data and Figures

(For Exact Replication) Download Data

Run get_data.py to fetch and extract all the data used to generate the figures for the associated paper.

Run Simulation and Generate Figures

Note: For fresh reproductions on new random networks, change the seeds in modules/random_network_generator.ipynb and generate new matrices. The community identities for the matrices can be calculated using the MATLAB script modules/runNSCA.m.

Fig 1–4 can be generated by running the corresponding Jupyter Notebooks.

The instructions for running the intermittent odor simulations on a SLURM HPC Server is provided under slurm/README.md. After the intermittent odors are simulated, place all the generated zipped files under the data/ directory. Fig 5–8 can now be generated by running the corresponding Jupyter Notebooks.

Associated Datasets

R. Mohanta and C. Assisi. 2021. Intermittent inputs reveal invariant odor representations (Part 1). Retrieved from https://osf.io/7d46t/
R. Mohanta and C. Assisi. 2021. Intermittent inputs reveal invariant odor representations (Part 2). Retrieved from https://osf.io/skrwn/

About

Code and Data for Mohanta and Assisi "Intermittent inputs reveal invariant odor representations" (2021).

Topics

Resources

License

Stars

Watchers

Forks