schist
schist copied to clipboard
An interface for Nested Stochastic Block Model for single cell analysis
SCHIST (/ ʃɪst /)
An interface for Nested Stochastic Block Model for single cell analysis. The idea behind schist is to create a scanpy-compatible interface to graph-tool methods.
Installation
As schist is available from conda-forge, installation is just easy as
conda install -c conda-forge schist
This will install graph-tool-base package as dependency, which does not include complete graphical capabilities. If you need access to the full graph-tool infrastracture, install it with
conda install -c conda-forge graph-tool
If you want to install schist from source, clone this repository and install in the usual way
git clone https://github.com/dawe/schist.git
cd schist
pip install .
How to use
Once schist has been installed, it can be used out of the box on scanpy objects:
import schist as scs
scs.inference.fit_model(adata)
Once the MCMC has converged, the adata.obs object will contain additional columns for multiple levels, named nsbm_level_0, nsbm_level_1, nsbm_level_2 and so on (by default up to nsbm_level_10).
Complete documentation can be found at this page
Cite
If you use schist you may cite the paper:
@article{Morelli_Giansanti_Cittaro_2021,
title={Nested Stochastic Block Models applied to the analysis of single cell data},
volume={22},
DOI={10.1186/s12859-021-04489-7},
number={1},
journal={BMC Bioinformatics},
author={Morelli, Leonardo and Giansanti, Valentina and Cittaro, Davide}, year={2021},
month={Dec},
pages={576}}
Name
schist (/ ʃɪst /) is a type of rock. Previous name for this project was scNSBM, which was hard to pronounce and caused typos when writing (scnbsm or scbsnm and so on…). We looked for a name which should have "single cell" in it (sc), something about the stochastic model (st) and something about the hierarchy (hi). That's were schist comes from.