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

Citation

If you are using NMFProfiler, please cite:

Mercadié, A., Gravier, É., Josse, G., Fournier, I., Viodé, C., Vialaneix, N., & Brouard, C. (2025). NMFProfiler: A multi-omics integration method for samples stratified in groups. Bioinformatics, 41(2), btaf066.

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.2.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nmfprofiler-0.3.2-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file nmfprofiler-0.3.2.tar.gz.

File metadata

  • Download URL: nmfprofiler-0.3.2.tar.gz
  • Upload date:
  • Size: 59.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nmfprofiler-0.3.2.tar.gz
Algorithm Hash digest
SHA256 83458f4100151a1b1d71a6c9dafb5224f7fd2a62356c646f453902734474e4bd
MD5 5813649daaa652ae13d71b00b52ce015
BLAKE2b-256 cefb8ca46ea656ccdf0b68e8d347dd892125332f2ac51b8afa2be1e9f9d035c9

See more details on using hashes here.

File details

Details for the file nmfprofiler-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: nmfprofiler-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nmfprofiler-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 778c7a391a2baf67f44c451a673e6f0bee3a875b1a1c76323c84dfb4f7cdb293
MD5 a4dbc68888ac942094872cb94d2d43e4
BLAKE2b-256 dfb2a579f1bd1ae0d4658c78700c304ce68f240b2f2fbe5f0512845622ad3a13

See more details on using hashes here.

Supported by

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