cNMF Solution Network Space
Project description
cNMF-SNS: powerful factorization-based multi-omics integration toolkit
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cnmfsns-1.8.0.tar.gz
.
File metadata
- Download URL: cnmfsns-1.8.0.tar.gz
- Upload date:
- Size: 63.3 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | af948f27a7347f85b3500b7586b061497034f110f2d151d98cb2fcea07175868 |
|
MD5 | b0904ef62517c72fb92e7c3c11d163f9 |
|
BLAKE2b-256 | 8094de511cbd391c8a21aef4787cc26b090aad44f402b062a1e7fe38b737ac53 |
File details
Details for the file cnmfsns-1.8.0-py3-none-any.whl
.
File metadata
- Download URL: cnmfsns-1.8.0-py3-none-any.whl
- Upload date:
- Size: 66.0 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea31a272a1be8ed5f84ce3243ffc7ceb5fe72487f6ca648fa61d2aa8114388f2 |
|
MD5 | 9cefd8241d94563ca596a616352d2507 |
|
BLAKE2b-256 | aab5f00b77a4901876b0302e14a1330e8b1bec509e2ef3f8b4ac528ddeb5124e |