Skip to content

BIMSBbioinfo/scmaui

Repository files navigation

scMaui

Tests badge

scMaui is python package that implements a variational auto-encoder for multi-omics data integration. The model is capable of handling variable numbers input and output modalities as well as missing modalities. The model also features a range of log-likelihood implementations for determining the reconstruction loss, including the negative binomial or the negative multinomial model.

scMaui_scheme.png

The package is freely available under a GNU Lesser General Public License v3 or later (LGPLv3+)

Citation

scMaui paper is now available on bioRxiv.

Installation

pip install scmaui

Usage

import pkg_resources
from scmaui.data import load_data, SCDataset
from scmaui.utils import get_model_params
from scmaui.ensembles import EnsembleVAE

# get some toy data
toy_data_path = pkg_resources.resource_filename('scmaui', 'resources/gtx.h5ad')

adatas = load_data([toy_data_path], names=['gtx'])
dataset = SCDataset(adatas, losses=['negbinom'])

# create an scMaui model
params = get_model_params(dataset)
ensemble = EnsembleVAE(params=params)

# fit the model
ensemble.fit(dataset, epochs=10)
ensemble.summary()

# obtain latent features
latents, _ = ensemble.encode(dataset)

# obtain an imputation
imputed = ensemble.impute(dataset)

# obtain input feature attributions
selected_cells = latents.index.tolist()[:5] # select first 5 cells
explanation = ensemble.explain(dataset, cellids=selected_cells)

Command-line usage

scMaui offers a command line interface for model fitting. The results are stored in an output directory (-output).

scmaui -data adata.h5ad \
      -datanames gtx \
      -output <outputdir> \
      -epochs 200 \
      -ensemble_size 10 \
      -nlatent 15 \
      -adversarial label1 label2 \
      -conditional covariate1 covariate2 \
      -losses negmul negbinom

Additional information on available hyper-parameters are available through

scmaui -h

Tutorials

We provide tutorials for data preprocessing, scMaui usage and some downstream analyses. You can find the tutorials here.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •