Skip to main content

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

NMFProfiler method scheme

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


Download files

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

Source Distribution

nmfprofiler-0.3.0.tar.gz (58.4 kB view details)

Uploaded Source

Built Distribution

NMFProfiler-0.3.0-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

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

Hashes for nmfprofiler-0.3.0.tar.gz
Algorithm Hash digest
SHA256 203b9f0411709042cdbf9781df5054f69e28cf9d543409ab2ec48c32e65e3386
MD5 5dca6a40a70547d43b812fe6acf162aa
BLAKE2b-256 c0d2647f5e30d9657481c2507fd48db55133f5cab5d6c20539d619825aebf7d6

See more details on using hashes here.

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

Hashes for NMFProfiler-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4876e7ef106348810a8e72ae8ef3abcc167cf9afff4bb1c4dbc2b07ff2516b4
MD5 44c1d9c5d08107033521a48a69c2d666
BLAKE2b-256 4537465f29e3ba67dd5a3351f38cc371d8b9a55bbe73d8fb95a71dc4b60b99ac

See more details on using hashes here.

Supported by

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