Pycabnn (Python tool for Constructing an Anatomical Basis of a Neural Network; pronounce it as "pie cabin") is a Python 3 package to aid building a physiologically realistic neural network model. Pycabnn is for setting up a structural basis of a model, such as placing neurons in space and determine their connectivity, based on anatomical constraints. It is primarily developed for a model of the granular layer in the cerebellar cortex [1]. However, we tried to make it as adaptable as possible to other circuit models.
For a detailed explanation about algorithms used/implemented, please check out our paper [2].
Pycabnn is written in pure Python 3 and depends on the following packages:
- numpy
- scikit-learn
- joblib
- tqdm (for progress bars)
- pandas and pytables (for saving results in HDF5 files)
- ipyparallel and cloudpickle (for utilizing multiple CPUs)
You will also need to install the followings to run example scripts:
- matplotlib (for plotting)
- NEURON (for reading a parameter file)
- Jupyter notebook (for reading notebooks)
We do not have proper setup.py for installation yet. For usage, please check out example scripts:
Run generate_cell_position.py
as:
python generate_cell_position.py -p PARAM_PATH -o OUTPUT_PATH all
We included some parameter data in test_data/params
for PARAM_PATH
. The results will be save in a ".npz" file, cell_positions.npz
, within OUTPUT_PATH
, along with text files.
Run run_connector.py
as:
python run_connector.py -i INPUT_PATH -o OUTPUT_PATH -p PARAM_PATH all
We included some test data in the test_data
directory: Use test_data/cell_position
for INPUT_PATH
and test_data/params
for PARAM_PATH
. OUTPUT_PATH
can be anywhere. This script will generate the connectivity data as tables in HDF5 and text files.
-
Ines Wichert - Connectivity generation
-
Sanghun Jee - Cell position generation
-
Sungho Hong - Project conception and supervision
-
Erik De Schutter - Project supervision
This project is licensed under the MIT License - see the LICENSE.txt file for details
- Ivan Raikov
- Peter Bratby
- Sudhakar, S.K., Hong, S., Raikov, I., Publio, R., Lang, C., Close, T., Guo, D., Negrello, M., and De Schutter, E. (2017). Spatiotemporal network coding of physiological mossy fiber inputs by the cerebellar granular layer. PLoS Comput. Biol. 13, e1005754.
- Wichert I., Jee S., De Schutter, E., and Hong S. (2020) Pycabnn: Efficient and extensible software to construct an anatomical basis for a physiologically realistic neural network model. Front. Neuroinform. 14, 31.
Written by Sungho Hong, Computational Neuroscience Unit, Okinawa Institute of Science Technology
March, 2020