MOFA-FLEX is a versatile factor analysis framework designed to streamline the construction and training of complex matrix factorisation models for omics data. It is built on a probabilistic programming-based Bayesian factor analysis framework that integrates concepts from multiple existing methods while remaining modular and extensible. MOFA-FLEX generalises widely used matrix factorisation tools by incorporating flexible prior options (including structured sparsity priors for multi-omics data and covariate-informed priors for spatio-temporal data), non-negativity constraints, and diverse data likelihoods - allowing users to mix and match components to suit their specific needs. Additionally, MOFA-FLEX introduces a novel module for integrating prior biological knowledge in the form of gene sets or, more generally, variable sets, enabling the inference of interpretable latent factors linked to specific molecular programs.
Please refer to the documentation. In particular, the
You need to have Python 3.11 or newer installed on your system. If you don't have Python installed, we recommend installing Micromamba.
There are several alternative options to install MOFA-FLEX:
- Install the latest release of MOFA-FLEX from PyPI:
pip install mofaflex- Install the latest development version:
pip install git+https://github.com/bioFAM/mofaflex.git@mainSee the changelog.
For questions and help requests, you can reach out in the discussions. If you found a bug, please use the issue tracker.
If you use MOFA-FLEX in your work, please cite
Qoku A, Rohbeck M, Walter FC, Kats I, Stegle O, and Buettner F. MOFA-FLEX: A Factor Model Framework for Integrating Omics Data with Prior Knowledge. Preprint at bioRxiv (2025). DOI: 10.1101/2025.11.03.686250.
BibTeX
@article {mofaflex,
author = {Qoku, Arber and Rohbeck, Martin and Walter, Florin Cornelius and Kats, Ilia and Stegle, Oliver and Buettner, Florian},
title = {MOFA-FLEX: A Factor Model Framework for Integrating Omics Data with Prior Knowledge},
eprint = {2025.11.03.686250},
year = {2025},
doi = {10.1101/2025.11.03.686250},
URL = {https://www.biorxiv.org/content/early/2025/11/04/2025.11.03.686250},
archiveprefix = {bioRxiv}
}