Installation¶
Before installing ISF, make sure you have the following requirements installed:
Requirement |
Download |
|
|---|---|---|
Check requirements
You can check if the requirements are installed correctly by running the following commands in your terminal:
which pixi
which git
Each command should return a path to the program. If it doesn’t, you may need to restart your shell, or something went wrong during the installation of the requirements.
You can then install ISF:
git clone https://github.com/mpinb/in_silico_framework.git
cd in_silico_framework
pixi run install
Important
Windows support is still experimental. If you are using ISF with Dask parallellization on Windows, please monitor your dask dashboard closely. In case you encounter any issues, feel free to open an issue and include relevant logs. Note that many of the core ISF workflows (network mapping, neuron model generation etc.) require extensive resources, which often implies a (Linux-based) High Performance Computing environment.
Before installing ISF, make sure you have the following requirements installed:
Requirement |
Download |
|
|---|---|---|
7.8 ≤ version ≤ 8.2 |
Check requirements
You can check if the requirements are installed correctly by running the following commands in your terminal:
which pixi
which git
which neuron
Each command should return a path to the program. If it doesn’t, you may need to restart your shell, or something went wrong during the installation of the requirements.
You can then install ISF:
git clone https://github.com/mpinb/in_silico_framework.git
cd in_silico_framework
pixi run install
The ISF environment¶
ISF provides two environments:
default: the runtime environment used when you activate the ISF environment. This includes all dependencies of ISF necessary for normal operationdocs: dependencies needed to build the ISF documentation
Each ISF environment adapts the following environment variables:
PYTHONPATH: ISF packages are prepended to thePYTHONPATH. In addition, thePYTHONPATHthat existed before activating the ISF environment is preserved within ISF. This allows the user to use ISF in conjunction with other projects, provided that package names and dependencies do not clash.ISF_HOME: the root directory of the ISF project, as installed on the user system.
PYTHONPATH: ISF packages and the python packages that ship with your NEURON installation are prepended to thePYTHONPATHin that order. The NEURON python packages can be found at%NEURONHOME%/lib/python. In addition, thePYTHONPATHthat existed before activating the ISF environment is preserved within ISF. This allows the user to use ISF in conjunction with other projects, provided that package names and dependencies do not clash.PATH: The location of your NEURON executables is appended to yourPATH, so that you can invoke them from within the environment. These are located at%NEURONHOME%/binISF_HOME: the root directory of the ISF project, as installed on the user system.
Attention
The ISF pixi environment is, similar to other virtual environments, not isolated from system-level or user-level site-packages by default.
If you have installed site-packages on the system- or user-level (i.e. not in a virtual environment) you may contaminate your virtual environments in unintended ways.
It is recommended to install all python packages for any project in a dedicated environment for each project.
If you encounter unexpected package versions or mismatches, try inspecting the result of:
python -m site
If ENABLE_USER_SITE is True (default) and USER_SITE exists (not default), then all site-packages in USER_SITE will be loaded into
virtual environments. For most use cases, this is not desirable.
Configuration¶
The config module allows the user to configure many aspects of ISF, such as:
The default file format for saving objects in a
data_base(seeconfig)Which file locking method to use (see
config.file_locking)User-specific configuration for your project, such as morphology label names, cell type definitions, synapse mapping strategies, and default values for activity data (see
config.user)
ISF works best with a dask server for parallel computing, and all compute-intensive workflows in ISF work with a client for distributed computing. We provide default scripts to launch a dask server and workers that should work on most systems:
pixi run launch_dask_server
pixi run launch_dask_workers
For High-Performance Computing (HPC), you may want to launch the dask server with custom configuration instead of these default scripts.
The underlying commands for these shortcuts are configured in the pyproject.toml file.
Usage¶
We recommend to use ISF within a JupyterLab server for interactive use:
pixi run launch_jupyter_lab_server
pixi also supports a conda-style shell activation:
pixi shell
This can be useful for executing shell scripts within the ISF environment, or configuring HPC job submissions. To get started with ISF, feel free to consult the Tutorials.
Test ISF¶
To test if all components of ISF are working as intended, you can run the test suite locally.
pixi run test
Documentation unclear, incomplete, broken or wrong? Let us know