motifcluster 
Motif-based spectral clustering of weighted directed networks
Introduction
This repository provides implementations of motif-based spectral clustering of weighted directed networks in R and in Python. This code is based on methods detailed in [Underwood, Elliott and Cucuringu, 2020], which is available at arXiv:2004.01293. These packages provide the capability for:
- Building motif adjacency matrices
- Sampling random weighted directed networks
- Spectral embedding with motif adjacency matrices
- Motif-based spectral clustering
The methods are all designed to run quickly on large sparse networks, and are easy to install and use.
Branches
The master branch contains stable versions. The develop branch may be unstable, and is for development purposes only.
Authors
- William George Underwood, Princeton University (Python, R, maintainer)
- Andrew Elliott, The Alan Turing Institute (Python)
License
This repository and its included R and Python packages are all licensed under GPLv3.
R package
The motifcluster R package is in the R directory.
Installation
The R package can be installed from CRAN with:
install.packages("motifcluster")
Dependencies
The R package has the following dependencies, available on CRAN:
- igraph
- LICORS
- Matrix
- RSpectra
Documentation
The package's manual is in the R/doc directory. R documentation files are provided for each function available in the package. An instructional vignette is in the R/vignettes directory.
Python package
The motifcluster Python package is in the python directory.
Installation
The Python package can be installed from PyPI with:
pip install motifcluster
Dependencies
The Python package has the following dependencies, available on PyPI:
- Networkx
- Numpy
- Scipy
- Scikit-learn
Documentation
Full documentation is available at motifcluster.readthedocs.io.
Performance
The performance directory contains scripts and plots relating to timing the construction of motif adjacency matrices, in both R and Python.
Sticker
A high-resolution hexagonal sticker is available in the sticker directory.