What problem does it solve? Multi-omics studies need a way to decompose several assay matrices into shared latent factors, but wiring R/Bioconductor objects to the Python mofapy2 engine and interpreting the results correctly (no biplot, non-partitioned R², sign ambiguity) is error-prone. ## Core Features & Use Cases - R-side model fitting: Build MOFA objects from named matrix lists, MultiAssayExperiment, or long data.frames with create_mofa, configure data/model/training options, and run the mofapy2 engine via basilisk or reticulate. - Downstream analysis: Extract factors and weights, correlate factors with sample covariates, summarise factors per group, and compute per-view per-factor variance explained. - ggplot2-native plotting: Produce factor scatter plots, weight scatter and bar plots, data heatmaps, and variance-explained heatmaps as composable ggplot objects. - Use Case: Given RNA-seq and ATAC-seq matrices for the same samples, fit a 10-factor MOFA model from R, correlate the factors with clinical covariates, and plot the top weights driving each factor. ## Quick Start Fit a MOFA2 model from my named list of omics matrices with 10 factors and a fixed seed, then plot factors 1 and 2 colored by condition.