Skip to main content

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, non-negative programs at multiple resolutions
  • 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
  • Integration performs well even when the datasets have mismatched features (eg. Microarray, RNA-Seq, Proteomics) or sparsity (eg single-cell vs bulk RNA-Seq and ATAC-Seq)
  • Two interfaces: command-line interface for rapid data exploration and python interface for extensibility and flexibility

🔧 Install

☁️ Public Release

Install the package with conda (in an isolated conda environment)

conda create -n cnmfsns -c conda-forge cnmfsns
conda activate cnmfsns

📖 Documentation

🗐 Data guidelines

cNMF-SNS can factorize a wide variety of datasets, but will work optimally in these conditions:

  • Use untransformed (raw) data where possible, and avoid log-transformed data.
  • For single-cell or spatial RNA-Seq data, the best data to use is feature counts, then TPM-normalized values, then RPKM/FPKM-normalized values.

📓 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.

Metadata

Release files for cnmfsns 1.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cnmfsns 1.8.2
File Size Uploaded
cnmfsns-1.8.2.tar.gz 65.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cnmfsns 1.8.2
File Interpreter ABI Platform
cnmfsns-1.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 132.6 kB

Release files / cnmfsns-1.8.2.tar.gz

Download URL cnmfsns-1.8.2.tar.gz
Size 65.0 kB
Tags Source
SHA-256 checksum
How to use checksums
10eda05712851baddc0467ca3fa25008f75d7de19104567b44c77afca8f0704b
BLAKE2b-256 checksum
How to use checksums
b8a4159d68df15f1cf231eca89f9615731fd56179c9d58738cb862f585076123
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / cnmfsns-1.8.2-py3-none-any.whl

Download URL cnmfsns-1.8.2-py3-none-any.whl
Size 67.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4532fa068ced772a4f7f3ca47f5bae06007a3e1d2945f39b9ba70a490e99d77b
BLAKE2b-256 checksum
How to use checksums
0cedd3ea97f2ba2c347fc017164bb5503387019397c0209991dafa21a82b9d2d
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.8.2 This release

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.5

2 release files

1.6.0

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page