Skip to content

Choosing a Method

No single method wins for every study. The right choice follows from what you are asking, how many samples you have, how complete they are, and what kind of answer you can act on. This page is the decision you make before you run anything. The comparison page is the read after the fact.

Your question Method Why
What are the main axes of variation? No labels. MOFA Interpretable factors, tolerates missing data
Which patients form subtypes? SNF Non-linear fusion, robust at small n
Which features separate a known class? DIABLO Supervised, selects a panel per layer
Do the layers share structure at all? MCIA No distributional assumptions, fast

If you are unsure, start with MOFA. It asks the least of the data and returns the most interpretable output. Reach for DIABLO only when you have a class label you trust and enough samples in each group to cross-validate.

Every method has a floor below which the result stops being stable.

Method Minimum Comfortable
MOFA 30 50+
SNF 30 50+
DIABLO 20 per class 30+ per class
MCIA 20 50+

DIABLO is the most demanding because feature selection runs inside cross-validation. Below 20 samples per class it overfits, and the panel it hands you will not replicate.

Real studies rarely measure every patient on every platform, and the methods differ sharply here.

  • MOFA handles missing values natively. A patient absent from one layer still contributes through the layers they do have. This is its biggest practical edge.
  • SNF, DIABLO, and MCIA expect complete cases. You either drop the incomplete patients or impute before the model sees the data. On the CLL cohort the MCIA page imputes to feature medians to keep all 200 patients; the DIABLO page instead drops to the 188 with complete data and a known IGHV status.

When a study has substantial gaps, MOFA is the safe default.

The methods do not return the same kind of thing, and that difference should drive the choice as much as anything.

  • MOFA gives a factor per axis of variation and a weight for every feature in every layer. You can name a factor by its top genes, CpGs, or mutations and correlate it with clinical variables.
  • DIABLO gives a selected feature panel per layer plus the correlations between blocks. That is a biomarker signature you can read directly.
  • SNF gives patient clusters and little else. To learn what separates the clusters you run a second analysis on top.
  • MCIA gives sample coordinates in a shared space and feature loadings, with pseudo-eigenvalues showing how much each layer contributes.

If you need feature-level interpretation, MOFA or DIABLO beats SNF.

Method Runtime, 200 samples, 4 layers
MCIA seconds
SNF seconds
MOFA minutes
DIABLO with cross-validation minutes to hours

MCIA and SNF are fast enough to rerun while you think. MOFA training takes a few minutes. DIABLO with a full grid of feature counts is the one that can run long.

Skipping per-layer normalization. Counts run to the thousands, methylation beta values sit between 0 and 1, mutations are binary. Concatenate them raw and the largest-scale layer dominates. Normalize each layer on its own first: a variance-stabilizing transform or log for expression, M-values for methylation, nothing for binary mutations.

Leaving batch effects in a layer. A batch effect inside one layer propagates into the integrated result and can masquerade as biology. Check each layer with a PCA colored by batch and correct with ComBat before integrating.

Overfitting DIABLO. Selecting many features without honest cross-validation gives a model that is perfect on the training set and useless elsewhere. Tune the number of features per block with repeated cross-validation and report the cross-validated error, not the training error.

Not checking against known biology. A good factor or cluster should line up with something real. If your top axis tracks IGHV status or a known subtype, that is reassuring. If it tracks the date the samples were processed, you have found a batch effect, not a discovery.

A workflow that uses each method for what it is good at

Section titled “A workflow that uses each method for what it is good at”
  1. Scan with MCIA. Seconds to run. Do the layers share structure? Do samples separate by anything you recognize?
  2. Map the variation with MOFA. Read the variance-explained plot, correlate the factors with clinical and technical variables, name the factors by their top features.
  3. Cluster with SNF if subtypes are the goal, then check whether the SNF clusters line up with the leading MOFA factor.
  4. Select a panel with DIABLO when you have a label worth predicting, and validate it by cross-validation.
  5. Compare. Trust the findings that survive across methods with different assumptions. On CLL, all four converge on the IGHV axis, which is the strongest kind of evidence that a signal is real.