Modelling the fly brain wtih Python's Neurokernel
Neurokernel is an open source Python framework for emulation of the brain of the fruit fly (Drosophila melanogaster) on multiple Graphics Processing Units (GPUs). GPU was chosen as a powerful and affordable commodity parallel computing technology that will have the computational power for scaling and testing neural circuit models. Although Neurokernel has been tested mainly on Linux, it may run on other platforms as well. Its installation requires Python 2.7, CUDA 5.0 or later, at least one NVIDIA GPU, and NVIDIA's GPU drivers. Demonstrations of Neurokernel use cases are available in the form of notebooks for the IPython interactive computing environment.
The fruit fly was chosen for this project, because its nervous system is capable of complex behavioral and information processing tasks, implements complex sensory-driven behaviors; its brain structure can be implemented via present-day computational technology. The model system of the fruit fly’s brain and reverse engineering how biological neural circuits process information are a key to understanding human brain function. It can be essential for psychiatric and neurological treatments and development of computer architecture that can replicate the information processing capabilities of biological brains.
In order to accurately emulate the fly brain and link the fly’s behavior to the function of its neural circuitry, a lot of interdisciplinary effort and research is required. Building such a powerful toolkit demands rich data and well-developed algorithms, advanced genetic techniques and electrophysiological recording instruments, input from neuroscience, computer science, and systems engineering.
Neurokernel’s model organizes the fly’s brain into fewer than 50 functional modules called local processing units (LPUs) with a unique population of local neurons. Most of these modules correlate with the anatomically distinct regions of the fly’s brain associated with specific functional subsystems, e.g. sensation, locomotion. Support for LPUs combination, independent development and model integration allows researchers to collaboratively construct whole-brain emulations and models of entire subsystems of the fly’s brain, explore brain functions, and accelerate model execution to the same time scale as a live fly’s brain.
Neurokernel is more than neural circuit simulator, it is an architectural framework that provides a high-level programming model and scalable commodity parallel computing resources. At the same time it ensures interoperability while multiple independent researchers work on different parts of the fly’s brain. Neurokernel helps to visualize the fly's neural circuitry to analyze the way its structure interrelates with the fly's behavior and find out the structure of the fly’s brain connectivity map, or connectome. Neurokernel is constantly developed and improved with the aim to scale up the fly’s brain models in computational complexity without requiring their reimplementation. For more information go to neurokernel.github.io.