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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| cnmfsns-1.8.2.tar.gz | 65.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|