Skip to main content

cNMF Solution Network Space

Project description

cNMF-SNS logo


cNMF-SNS: powerful factorization-based multi-omics integration toolkit

version badge PyPI Latest Release Conda Latest Release Documentation status Downloads License

Authors: Ted Verhey, Heewon Seo, Sorana Morrissy

cNMF-SNS (consensus Non-negative Matrix Factorization Solution Network Space) is a Python package enabling mosaic integration of bulk, single-cell, and spatial expression data between and within datasets. Datasets can have partially overlapping features (eg. genes) as well as non-overlapping features. cNMF provides a robust, unsupervised deconvolution of each dataset into gene expression programs (GEPs). Network-based integration of GEPs enables flexible integration of many datasets across assays (eg. Protein, RNA-Seq, scRNA-Seq, spatial expression) and patient cohorts.

Communities with GEPs from multiple datasets can be annotated with dataset-specific annotations to facilitate interpretation.

⚡Main Features

Here are just a few of the things that cNMF-SNS does well:

  • Identifies interpretable, additive non-negative gene expression programs
  • Mosaic integration does not require subsetting features/genes to a shared or overdispersed subset
  • Ideal for incremental integration (adding datasets one at a time) since deconvolution is performed independently on each dataset generating invariant GEPs
  • Integration does not require comparable data sparsity or sequencing depth (single-cell, microarray, bulk)
  • Two interfaces: command-line interface for rapid data exploration and python interface for extensibility and flexibility

🔧 Install

☁️ Public Release

Install the package with conda:

conda install -c conda-forge cnmfsns

✨ Latest version from GitHub

Before installing cNMF-SNS using pip, it is recommended to first set up a separate conda environment and have conda manage as many dependencies as possible.

conda create --name cnmfsns -c conda-forge python=3.10 anndata pandas numpy scipy matplotlib upsetplot httplib2 tomli tomli-w click pygraphviz python-igraph semantic_version pyyaml scikit-learn fastcluster scanpy pyyaml
conda activate cnmfsns
pip install git+https://github.com/MorrissyLab/cNMF-SNS.git

📖 Documentation

📓 Python interface

To get started, sample proteomics datasets and a Jupyter notebook tutorial is available here.

Detailed API reference can be found on ReadTheDocs.

⌨️ Command line interface

See the command line interface documentation.

💭 Getting Help

For errors arising during use of cNMF-SNS, create and browse issues in the GitHub "issues" tab.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cnmfsns-1.4.1.tar.gz (60.0 kB view details)

Uploaded Source

Built Distribution

cnmfsns-1.4.1-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

Details for the file cnmfsns-1.4.1.tar.gz.

File metadata

  • Download URL: cnmfsns-1.4.1.tar.gz
  • Upload date:
  • Size: 60.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/6.6.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.10.10

File hashes

Hashes for cnmfsns-1.4.1.tar.gz
Algorithm Hash digest
SHA256 beac325b32e7b7c53666ff54698651b4c0c1d7c181b2a1fe86ddbec76bcef969
MD5 cce45260b1e7c798ee62e802f20600e4
BLAKE2b-256 84cf6c31d891dce50dc9b1bfe4c637228d3cda275cec9bb2dbbe137e9e045c13

See more details on using hashes here.

File details

Details for the file cnmfsns-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: cnmfsns-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 62.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/6.6.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.10.10

File hashes

Hashes for cnmfsns-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 813a968c3b14307b68c7767fa3bfd5591bb56bb28cb14d4446eda6cd97435960
MD5 62f934f949f92d41a94f15cd23fa649f
BLAKE2b-256 549b7b9be4b41347a8c2f67d87bf57edb2d869862b973dbdfde7cb358965c8d9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page