MOFA is a factor analysis model that provides a general framework for the integration of multi-omic data sets in an unsupervised fashion.
Intuitively, MOFA can be viewed as a versatile and statistically rigorous generalization of principal component analysis to multi-omics data. Given several data matrices with measurements of multiple -omics data types on the same or on overlapping sets of samples, MOFA infers an interpretable low-dimensional representation in terms of a few latent factors. These learnt factors represent the driving sources of variation across data modalities, thus facilitating the identification of cellular states or disease subgroups.

For more details you can read our papers:

Implementation

MOFA is implemented in Python (mofapy2) and R (MOFA2). See Installation for installation instructions. Previous implementations of MOFA (mofapy and MOFA) are deprecated and no longer maintained. See News for an overview of changes in the most recent version of the implemenation and a comparison to older implementations.