Skip to content

FlyBrainLab/EOScircuits

Repository files navigation

./ffbo_logo.png

EOScircuits

Drosophila Early Olfactory Circuit Libraries for FlyBrainLab.

Features

  1. Integration with OlfTrans for modeling odorant input
  2. Simulation of Drosophila Antenna circuit based on model in Lazar, A. A., & Yeh, C.-H. (2020).
  3. Simulation of Drosophila Antennal Lobe and Mushroom Body based on modified model in Lazar, A. A., Liu, T., & Yeh, C. H. (2020).

API

See notebooks folder for detailed examples of using each circuit module.

There are 3 modules that are exposed to user, each 1 of the modules has 2 main classes: Config and Circuit. The Config completely specifies the executable circuit that is the core concept of Circuit. To do this, each instance of Config specifies the number as well as the unique ids of each individual nodes in the circuit. For example, in eoscircuits.ant.ANTConfig, the number of nodes and other relevant attributes are specified as

  1. eoscircuits.ant.ANTConfig.NR: Number of receptors in the graph
  2. eoscircuits.ant.ANTConfig.NO: Number of Olfactory Sensory Neurons (OSNs) expressing each given receptor type

3. eoscircuits.ant.ANTConfig.affs: An array of affinity values (of length eoscircuits.ant.ANTConfig.NR) for each receptor type. The concept of affinity is detailed in the paper Lazar, A. A., & Yeh, C.-H. (2020). as well as in the package OlfTrans. 3. eoscircuits.ant.ANTConfig.receptors: An array of names (of length eoscircuits.ant.ANTConfig.NR) for each receptor type

Based on these, the node ids for the Odorant Transduction Process (OTP) nodes, as well as the Biophysical Spike Generators (BSG) nodes in the Antenna circuit is given as:

  1. eoscircuits.ant.ANTConfig.osn_otps: the naming scheme follows the format 'OSN/{receptor_name}/{osn_index}/OTP', where the osn_index specifies the index of the OSN expressing this specific receptor_name. The value for osn_index is from 0 to eoscircuits.ant.ANTConfig.NO[r]-1 where r is the index of the specific receptor_name within the :code:eoscircuits.ant.ANTConfig.receptors array.
  2. eoscircuits.ant.ANTConfig.osn_bsgs: the naming scheme follows the format 'OSN/{receptor_name}/{osn_index}/BSG'

After the Config object is instantiated, the main entry point for each Circuit is the classmethod Circuit.create_from_config, which will create a networkx.MultiDiGraph (as attribute Circuit.graph) that is compatible with our simulation engine of choice: NeuroKernel using NeuroDriver as circuit specification API.

Each instance of Circuit can be simulated by calling the Circuit.simulate function. However, you need to specify the inputs to pass to the circuit as well as the outputs that you would like to record. The inputs are specified as instances of neurokernel.LPU.InputProcessors and the outputs (specified as the record_var_list argument to Circuit.simulate) is a list of tuple of the form (variable_name, node_ids). The simulation will return a tuple of 3 elements that correspond to the InputProcessor, OutputProcessor and the LPU that, together, completely specifies an executable circuit for NeuroDriver.

Circuit Modules

Using the API specified above, EOSCircuits provides the following 3 modules to model the Drosophila olfactory system:

  1. eoscircuits.ant: Antenna Circuit
    • eoscircuits.ant.ANTConfig
    • eoscircuits.ant.ANTCircuit
  2. eoscircuits.al: Antennal Lobe Circuit
    • eoscircuits.ant.ALConfig, subclassed from eoscircuits.ant.ANTConfig
    • eoscircuits.ant.ALCircuit
  3. eoscircuits.mb: Mushroom Body Circuit
    • eoscircuits.ant.MBConfig subclassed from eoscircuits.ant.ALConfig
    • eoscircuits.ant.MBCircuit

References

  1. Lazar, A. A., & Yeh, C.-H. (2020). A molecular odorant transduction model and the complexity of spatio-temporal encoding in the Drosophila antenna. PLOS Computational Biology.
  2. Lazar, A. A., Liu, T., & Yeh, C. H. (2020). An odorant encoding machine for sampling, reconstruction and robust representation of odorant identity. ICASSP.
  3. Lazar, A. A., Liu, T., Turkcan, M. K., & Zhou, Y. (2021). Accelerating with FlyBrainLab the discovery of the functional logic of the Drosophila brain in the connectomic era. ELife.

License

Free software: BSD license

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

Early Olfactory Circuit libraries for FlyBrainLab.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published