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(
omic1=ToyExample().omic1,
omic2=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="omic1", width=15, height=6, path="")
res.heatmap(obj_to_viz="omic2", width=15, height=6, path="")
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="H1", width=15, height=6, path="")
res.heatmap(obj_to_viz="H2", width=15, height=6, path="")
# 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).
License
GPL-3
Project status
Active