Warning: CxSystem2 BUI is developed for using in a local environment and should not be installed on a publicly accessible server unless extra security measures are added on top of it
CxSystem is a cerebral cortex simulation framework, which operates on personal computers. We have tested the simulation software with a simplified version of a comprehensive cortical microcircuit model [1], which is available as configuration file.
The CxSystem aims at easy testing and buildup of diverse models at single cell resolution. Implemented on the top of the Python-based Brian2 simulator, CxSystem supports the main goal of Brian, i.e. minimizing development time, by providing the user with a simplified interface.
The preliminary version of this software has been developed at Aalto University 2012-2015 [2], and the full version at the Hospital District of Helsinki and Uusimaa and University of Helsinki 2013-2017. The software is distributed under the terms of the GNU General Public License, Copyright 2017 Vafa Andalibi, Henri Hokkanen and Simo Vanni.
We highly recommend installing CxSystem2
on a virtual environment. Use the following commands to install a Python3 virtual environment and install CxSystem:
Make sure you have python 3.11 or above. To create activate a venv
in windows at ~/CX2
(you can deactivate the environment with the command deactivate
and reactivate later by running the second command):
C:\> python --version
Python 3.11.9
C:\> python3 -m venv %userprofile%\CX2
C:\> %userprofile%\CX2\Scripts\activate
(CX2) C:\> pip install --upgrade setuptools
(CX2) C:\> pip install -U cxsystem2
Moreover, to use the C++ standalone device on Windows, install the Visual C++ Build Tools 2015.
Make sure you have python 3.11 or above. To create activate a venv
in Linux/Mac at ~/CX2
(you can deactivate the environment with the command deactivate
and reactivate later by running the second command):
$ python --version
Python 3.11.9
$ python3 -m venv ~/CX2
$ source ~/CX2/bin/activate
(CX2) $ pip install --upgrade setuptools
(CX2) $ pip install -U cxsystem2
To develop CxSystem2
, after cloning the repository install it with the following commands:
(CX2) $ git clone https://github.com/VisualNeuroscience-UH/CxSystem2
(CX2) $ cd CxSystem2
(CX2) $ pip install --upgrade setuptools
(CX2) $ pip install -r requirements.txt
(CX2) $ pip install -U -e .
With this method any change to the code will be reflected on the package immediately.
Set up your SSH key for GitHub
Install Poetry (if not already installed): If you don't have Poetry installed, follow the instructions on the official Poetry website:
Clone the repository:
git clone git@github.com:VisualNeuroscience-UH/CxSystem2.git
cd CxSystem2
Install dependencies (main only):
poetry install
Install dependencies (full, incl. doc and bui etc):
poetry install --with full
Activate the virtual environment:
poetry shell
Verify the installation:
poetry show
This will list all successfully installed packages in light blue typeface. If they are red, the packages were not installed correctly.
Test the installation:
pytest
Remove full installation (main remains):
poetry install --without full
poetry install --sync
CxSystem2
comes with two interfaces:
CxSystem's BUI is built to provide users with an interactive environment for changing the parameters for simulations.
Beside the BUI, Some of the main functionalities of the CxSystem2
are available in terminal, including the BUI itself. All of the following commands have built-in documentations available with -h
or --help
flags:
This command (all in lower letters and case sensitive) can be used to run a simulation locally using anatomy and physiology configuration files.
This command will run the CxSystem2
BUI django server.
CxSystem2 supports csv
and json
for importing/exporting configuration files. To convert the configuration files, use the cxconfig
and pass the path to the configuration file path as its argument. This command recognizes the file type and convert it to the alternative extension.
Use cxcluster
to download the results from the cluster. cxcluster
takes in one argument which is the path to the metadata file saved as a result of cluster-run submission. For convenience, at the end of a cluster-run job submission, CxSystem2
prints the command that should be run to retrieve the result.
This command can be used to visualize the result of the simulation using visimpl
visualizer. ViSimpl binaries are available at the Modeling and Virtual Reality Group download page at Universidad Rey Juan Carlos and Universidad Politécnica de Madrid. This command can also be used to generate a pdf of rasterplots from a set of simulations.
You can access the documentation of the CxSystem2 at cxsystem2.readthedocs.io.
If you use CxSystem2 for your work, we kindly ask you to cite any of our related articles:
Andalibi, V., Hokkanen, H., Vanni, S., Controlling complexity of cerebral cortex simulations—I: CxSystem, a flexible cortical simulation framework, 2019, Neural computation
Hokkanen, H., Andalibi, V., Vanni, S., Controlling complexity of cerebral cortex simulations—II: Streamlined microcircuits, 2019, Neural computation
You are encouraged to use Github's Issues to report bugs, or request enhancements or new features.
- GPL-3-Clause
- Copyright 2019 © HUS Helsinki University Hospital.
[1] Markram, H., Muller, E., Ramaswamy, S., Reimann, M. W., Abdellah, M., Sanchez, C. A., … Schürmann, F. (2015). Reconstruction and Simulation of Neocortical Microcircuitry. Cell, 163(2), 456–492. http://doi.org/10.1016/j.cell.2015.09.029
[2]Heikkinen, H., Sharifian, F., Vigário, R., & Vanni, S. (2015). Feedback to distal dendrites links fMRI signals to neural receptive fields in a spiking network model of the visual cortex. Journal of Neurophysiology, 114(1), 57–69. http://doi.org/10.1152/jn.00169.2015