Each "sample" carries three synthetic omics readouts (genomics, transcriptomics, proteomics) that share one underlying biological signal but are corrupted by a technical batch offset. The particles flow left to right through five pipeline stages, and their vertical position is recomputed at every stage from the actual transformation applied there.
Batch separation is measured as the fraction of total variance explained by batch identity, and cross-omics correlation is the Pearson correlation between two omics layers for the same samples — both recomputed live from the current particle positions.
raw_ij = signal_i * scale_j + batchOffset_j[b(i)] * B + noise_ij
z_ij = (raw_ij - mean_j) / std_j (normalize)
c_ij = z_ij - K * (batchMean_j[b(i)] - grandMean_j) (correct, K=correction strength)
joint_ij = (1-W)*c_ij + W * mean_layer(c_i*) (integrate, W=integration weight)
BSI = Var(batch means) / Var(all values)
r(X,Y) = cov(X,Y) / (std(X) * std(Y)) (Pearson correlation)
- Samples — number of biological samples (particles = samples x 3 omics layers).
- Batch effect strength (B) — how strongly a technical batch shifts raw readouts, driving up batch separation.
- Correction strength (K) — fraction of the batch-mean shift removed at the "Batch Correct" stage.
- Integration weight (W) — how strongly the joint model pulls each sample's three omics layers toward one shared latent point.
- Flow speed — animation speed of samples moving through the pipeline; Pause/Reset View control playback and camera.
This mirrors real multi-omics workflows (e.g. TCGA or single-cell multi-omics integration) where batch correction (ComBat, limma) and joint embedding (MOFA, iNMF, WGCNA-style joint factors) are needed before biological signal can be reliably interpreted.