MultiSCALE (Multilayer Systems for Cross-modal Analysis and Linking of Entities) is a Python toolbox for modelling, computing, and analyzing multilayer networks. It can accept a supra-adjacency matrix as input, as well as tabular or network data, in which cases inter-layer links are modelled to create a multilayer network. Multilayer network metrics were implemented based on the MuxVizPy Python package, which is backed by graph-tool. It is installed as a submodule here.
To install MultiSCALE, conda and uv are needed to install graph-tool and Python dependencies, respectively.
- Create a conda environment with graph-tool and activate it
conda create -n multiscale python=3.12 graph-tool -c conda-forge
conda activate multiscale- Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh- Install the package
git clone https://github.com/multinetlab-amsterdam/multiSCALE.git
cd multiSCALE
uv pip install -e .The minimum required dependencies to run MultiSCALE are:
- numpy>=1.24
- scipy>=1.10
- pandas>=2.3.3
- polars>=0.20
- pyarrow>=14.0
- sparse>=0.15.4
- numba>=0.59
- tensorly>=0.8
- matplotlib>=3.4
- tqdm>=4.60
- scikit-learn>=1.7.0
- gglasso>=0.1.7
MultiSCALE can accept as input:
- a supra-adjacency matrix as a
.mat - one or multiple
.csvwhere the rows are observations and columns are variables - one or multiple folders which have
.csvcorresponding to connectivity matrices of individual subjects
MultiSCALE is licensed under the GPL-3.0 license.
- The multilayer network metrics are based on the MuxVizPy Python package.