Skip to main content

CxSystem2, A Flexible Cortical Simulation Framework

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

License Github Issues Github Issues Github Issues Documentation Status PyPI version Build Status

Table of Contents

Synopsis

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.

Installation

We highly recommend installing CxSystem2 on a virtual environment. Use the following commands to install a Python3 virtual environment and install CxSystem:

Windows

Make sure you have python 3.5 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.7.4
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.

Linux/Mac

Make sure you have python 3.5 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.7.4
$ python3 -m venv ~/CX2
$ source ~/CX2/bin/activate
(CX2) $ pip install --upgrade setuptools
(CX2) $ pip install -U cxsystem2

Development

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.

Interfaces

CxSystem2 comes with two interfaces:

Browser User Interface (BUI)

CxSystem's BUI is built to provide users with an interactive environment for changing the parameters for simulations.

Command Line Interface (CLI)

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:

cxsystem2

This command (all in lower letters and case sensitive) can be used to run a simulation locally using anatomy and physiology configuration files.

cxserver

This command will run the CxSystem2 BUI django server.

cxconfig

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.

cxcluster

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.

cxvisualize

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.

Documentation

You can access the documentation of the CxSystem2 at cxsystem2.readthedocs.io.

Citation

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

Support

You are encouraged to use Github's Issues to report bugs, or request enhancements or new features.

Team

License

License


[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

Release files for cxsystem2 2.1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cxsystem2 2.1.2.0
File Size Uploaded
cxsystem2-2.1.2.0.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cxsystem2 2.1.2.0
File Interpreter ABI Platform
cxsystem2-2.1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / cxsystem2-2.1.2.0.tar.gz

Download URL cxsystem2-2.1.2.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
f7948220cc2f063680deb51b4c346e2cd97c2118185b276fac54b51c77f29877
BLAKE2b-256 checksum
How to use checksums
6e6ae1fdd9b9acf7db78a83f6776ca3e0e8093e62dd9840118252f26b9ebb379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / cxsystem2-2.1.2.0-py3-none-any.whl

Download URL cxsystem2-2.1.2.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0cf1a515e17c07f8cb71430bf14a4c2736d82ad0dc13abfa2dfc1c599271f9bb
BLAKE2b-256 checksum
How to use checksums
65b45b196d7a26d75569999d6f618f2f549f8ba1a342b6bcf1526d2d59632e0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page