NMFProfiler: an integrative supervised Non-Negative Matrix Factorization to extract typical profiles of groups of interest combining two different datasets.
Project description
NMFProfiler
Name
NMFProfiler: A multi-omics integration method for samples stratified in groups
Description
Installation
NMFProfiler can be installed from PiPy:
pip install nmfprofiler
In addition, various docker images are provided in the container registry.
Usage
Below is a short illustration of the method on a toy dataset.
from nmfprofiler.nmfprofiler import NMFProfiler
from nmfprofiler.toyexample import ToyExample
# Fix a seed (not mandatory)
seed = 240820
# Run NMFProfiler
model = NMFProfiler(
omics=[ToyExample().omic1, ToyExample().omic2],
y=ToyExample().y,
seed=seed,
as_sklearn=False,
backtrack=True)
res = model.fit()
# Get a quick overview of the dataset and model used
print(res)
# Visualize analyzed datasets (samples x features)
ToyExample().y # 2 groups
res.heatmap(obj_to_viz="omic", width=15, height=6, path="", omic_number=1)
res.heatmap(obj_to_viz="omic", width=15, height=6, path="", omic_number=2)
Note: NMFProfiler produces as many signatures as groups, i.e. levels in $\mathbf{y}$ vector. Hence in this case we will obtain 2 signatures.
# Visualize contribution matrix W obtained (samples x 2)
res.heatmap(obj_to_viz="W", width=10, height=10, path="")
# Visualize signature matrices H1 and H2 obtained (2 x features)
res.heatmap(obj_to_viz="H", width=15, height=6, path="", omic_number=1)
res.heatmap(obj_to_viz="H", width=15, height=6, path="", omic_number=2)
# Monitor the size of each error term of the loss
res.barplot_error(width=15, height=6, path="")
Support
For questions or additional feature requests, use gitlab issues if possible. Authors can also be contacted by email (check authors' webpages for email information).
Authors and acknowledgment
This work was supported by the ANRT (CIFRE no. 2022/0051).
License
GPL-3
Project status
Active
See Changelog
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 nmfprofiler-0.3.0.tar.gz
.
File metadata
- Download URL: nmfprofiler-0.3.0.tar.gz
- Upload date:
- Size: 58.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/7.0.1 keyring/24.3.0 pkginfo/1.9.6 readme-renderer/34.0 requests-toolbelt/1.0.0 requests/2.31.0 rfc3986/1.5.0 tqdm/4.66.2 urllib3/1.26.14 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
203b9f0411709042cdbf9781df5054f69e28cf9d543409ab2ec48c32e65e3386
|
|
MD5 |
5dca6a40a70547d43b812fe6acf162aa
|
|
BLAKE2b-256 |
c0d2647f5e30d9657481c2507fd48db55133f5cab5d6c20539d619825aebf7d6
|
File details
Details for the file NMFProfiler-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: NMFProfiler-0.3.0-py3-none-any.whl
- Upload date:
- Size: 44.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/7.0.1 keyring/24.3.0 pkginfo/1.9.6 readme-renderer/34.0 requests-toolbelt/1.0.0 requests/2.31.0 rfc3986/1.5.0 tqdm/4.66.2 urllib3/1.26.14 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d4876e7ef106348810a8e72ae8ef3abcc167cf9afff4bb1c4dbc2b07ff2516b4
|
|
MD5 |
44c1d9c5d08107033521a48a69c2d666
|
|
BLAKE2b-256 |
4537465f29e3ba67dd5a3351f38cc371d8b9a55bbe73d8fb95a71dc4b60b99ac
|