Papers
Topics
Authors
Recent
Search
2000 character limit reached

SimOmics: Synthetic Multi-Omics Data Generator

Updated 6 July 2026
  • SimOmics is an R package for generating synthetic multi-omics datasets with user-specified feature dimensions and latent factors.
  • It enables benchmarking and method development by simulating block-specific data for transcriptomics, proteomics, and metabolomics.
  • The tool employs a latent factor generative model with configurable noise, sparsity, and covariance to replicate realistic biological variability.

Searching arXiv for the specified SimOmics and related RITHMS papers to ground the article. SimOmics is an R package for generating realistic, multivariate, and multi-omics synthetic datasets. It is designed for benchmarking, method development, and reproducibility in bioinformatics, especially for omics integration tasks such as those encountered in transcriptomics, proteomics, and metabolomics. The toolkit can simulate any number of omics blocks with user-specified feature dimensionality, while exposing explicit ground truth through latent factors, loadings, block labels, and related metadata. Within a broader simulation workflow, it also provides a natural setting for domain-specific extensions; in particular, the transgenerational hologenomic simulator RITHMS is described as sitting naturally within a SimOmics pipeline when benchmarking host-genome-plus-microbiome analyses (Lai, 14 Jul 2025, Pety et al., 11 Feb 2025).

1. Scope, intended uses, and conceptual role

SimOmics is positioned as a general-purpose synthetic data generator for multivariate and multi-omics settings. Its stated applications are benchmarking new data-integration or machine-learning methods, validating complete analysis pipelines under known ground truth, stress-testing edge cases such as high noise, low correlation, and small nn, and supporting reproducibility studies by shipping synthetic data with manuscripts (Lai, 14 Jul 2025). Because the simulated objects include both observed data and the latent variables used to generate them, the package is oriented toward controlled evaluation rather than primary biological discovery.

A central feature of the package is its block-based view of omics integration. Features are partitioned into omics-specific blocks, such as transcriptomics, proteomics, and metabolomics, and these blocks can share signal through latent factors and through explicitly modeled cross-block covariance. This makes SimOmics suitable for methods that assume shared and block-specific structure, including tools named in the package description such as mixOmics, MOFA2, and iClusterPlus (Lai, 14 Jul 2025).

A common misconception is that SimOmics is restricted to a fixed set of omics modalities. The package description instead states that it can simulate any number of omics blocks, with named block sizes supplied by the user. Another potential misconception is that it is only a high-level wrapper. In fact, the package exposes both low-level building blocks and a high-level convenience function, allowing either component-wise control or end-to-end simulation (Lai, 14 Jul 2025).

2. Latent-factor generative model

The core simulation machinery is a latent factor model. Let nn denote the number of samples, pp the total number of features across all blocks, and KK the number of latent factors. Factor scores are generated as

FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),

so that each column fiN(0,ΣF)f_i \sim N(0,\Sigma_F), where ΣFRK×K\Sigma_F \in \mathbb{R}^{K \times K} controls correlations among factors. A loading matrix LRp×KL \in \mathbb{R}^{p \times K} maps latent factors into observed feature space, producing the signal

S=LF.S = L\,F.

Observed data are then formed by additive residual noise,

X=S+E,X = S + E,

with nn0. In compact form, the package describes the model as

nn1

(Lai, 14 Jul 2025).

This formulation gives SimOmics a standard but flexible multivariate backbone. The factor covariance nn2 governs dependencies among latent sources of variation, while the loading matrix nn3 determines which features respond to which factors and with what scale. A plausible implication is that the package can be used to separate questions about signal geometry from questions about residual structure, since these are parameterized independently.

The model is explicitly multiblock rather than merely high-dimensional. Total feature dimensionality nn4 is partitioned into block sizes nn5, making it possible to align simulation with common integrative analysis designs in which each block corresponds to an assay or molecular layer. This block structure is then used downstream in the residual covariance model and in the packaging of output objects (Lai, 14 Jul 2025).

3. Covariance structure, sparsity, and noise models

SimOmics supports block-wise covariance modeling for the residual term. The residual covariance may be specified as block diagonal,

nn6

where each within-block covariance matrix nn7 can follow patterns such as constant correlation nn8 or AR-1. To inject inter-block correlation, off-diagonal blocks can be set to nn9, yielding a covariance matrix with both within-block and between-block dependence (Lai, 14 Jul 2025). This makes it possible to simulate moderate or strong cross-omics coupling without collapsing all blocks into a single homogeneous covariance model.

The package also supports sparsity in the loading matrix. Only a fraction pp0 of features may load on factor pp1, with two mechanisms specified. Under hard-thresholding, entries are drawn as pp2 and the smallest pp3 fraction is zeroed out. Under continuous shrinkage priors, the package description gives

pp4

The user controls pp5 through loadingSparsity and pp6 through loadingScale (Lai, 14 Jul 2025). The immediate significance is that latent factors need not affect all features uniformly; instead, factor-specific sparsity can mimic pathway-like or module-like activation patterns.

Noise modeling is explicitly “biologically inspired” and spans continuous and count-valued data. For continuous noise, the package permits feature-specific Gaussian residuals pp7 with user control over pp8 or global SNR. For count data, two observation models are listed:

  • Poisson:

pp9

  • Negative binomial (NB):

KK0

where KK1 or a user-supplied link (Lai, 14 Jul 2025).

These options are important because multi-omics integration often spans continuous intensities and overdispersed counts. SimOmics does not impose a single observation regime across all problems; rather, it exposes alternative noise distributions that can be tuned to reproduce empirical mean-variance behavior.

4. Software interface and workflow

The package offers a layered API. Low-level functions are listed as simulateFactors(n, K, factorCov), generateLoadings(p, K, sparsity, scale), simulateResidual(blocks, blockCov, noiseDist, noiseParams), and assembleData(L, F, E). The main high-level wrapper is simMultiOmics(), whose documented arguments include n, blocks, latentFactors, factorCov, blockCov, loadingSparsity, noiseDist, noiseParams, and seed (Lai, 14 Jul 2025).

Component Role
simulateFactors() Simulate latent factor scores
generateLoadings() Generate sparse loading matrix
simulateResidual() Simulate residual structure by block and noise model
assembleData() Combine KK2, KK3, and KK4 into observed data
simMultiOmics() End-to-end convenience wrapper

The canonical workflow begins by specifying sample size, block sizes, the number of latent factors, and covariance and sparsity controls. In the package example, the user simulates named blocks for transcriptome, proteome, and metabolome, chooses latentFactors=3, factorCov=diag(3), blockCov=0.4, loadingSparsity=0.15, and noiseDist="NB" with dispersion=10, then retrieves simulated data through simKK5truth (Lai, 14 Jul 2025). The design emphasizes immediate compatibility with downstream R workflows, since the returned object is already partitioned by omics block.

A second example illustrates joint clustering with two omics blocks and iClusterPlus. The simulation first produces transcriptome and proteome matrices, then defines two true classes from the sign of the first latent factor, runs iClusterPlus(dt1=X1, dt2=X2, k=2, lambda=c(0.1,0.1)), and compares recovered clusters to the latent-factor-derived labels. The example then visualizes latent factor recovery by plotting the true first factor against the recovered iCluster score (Lai, 14 Jul 2025). The example is didactic rather than inferential, but it clarifies the intended use of SimOmics as a benchmark substrate for integrative methods.

5. Parameterization, diagnostics, and output objects

The package description provides explicit parameter-selection guidance. It recommends choosing KK6 between 3 and 10 to mirror typical pathway dimensionality, setting sparsity KK7 so that 5–20% of loadings are non-zero per factor, matching block sizes KK8 to real data while ensuring KK9, and setting block correlation FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),0 in the range 0.3–0.7 to model moderate sharing of signal across omics. Noise parameters such as FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),1 and FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),2 are to be calibrated by matching mean-variance trends or overall SNR from a pilot dataset. The stated strategy is to compute summary statistics on a small real dataset—feature variances, pairwise correlations, and mean-variance curves—and choose noiseParams and blockCov to reproduce them (Lai, 14 Jul 2025).

This calibration guidance is methodologically significant because it frames realism as empirical matching rather than as a fixed built-in default. SimOmics provides mechanisms for realism, but it expects users to tune them against external reference data. A plausible implication is that the package is best used when a target application domain is already characterized by at least a pilot dataset.

The outputs are divided into observed data and truth objects. simFMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),3truth contains the latent factors FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),4, loading matrix FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),5, and any simulated class labels or block assignments (Lai, 14 Jul 2025). This separation is central to benchmark design: the data matrices mimic real analysis inputs, while the truth object preserves the exact generative quantities needed for quantitative evaluation.

SimOmics also includes diagnostic plotting functions. plotMeanVariance() checks whether the variance-mean relationship matches the target, plotCorrHeatmap() visualizes within- and between-block correlations, and plotPCA() verifies latent factor recovery and noise levels (Lai, 14 Jul 2025). These diagnostics do not constitute external validation, but they provide internal checks that the requested simulation regime has actually been realized.

6. Relationship to hologenomic simulation and broader SimOmics pipelines

SimOmics is a general multi-omics toolkit, whereas RITHMS is an “R Implementation of a Transgenerational Hologenomic Model-based Simulator” focused on host genomes, microbiota, and environment across generations. The connection between the two is stated explicitly: RITHMS “sits naturally within a SimOmics pipeline” when the goal is to benchmark hologenomic prediction models, explore selection schemes combining host genetics and microbiota, or study the eco-evolutionary dynamics of holobionts (Pety et al., 11 Feb 2025). This indicates complementarity rather than identity: SimOmics provides a broad synthetic-data framework, and RITHMS specializes it toward transgenerational hologenomic structure.

RITHMS extends beyond the latent-factor abstraction by modeling microbiota composition, vertical and horizontal transmission, environmental filtering, host genetic filtering, and phenotype formation. Its microbiota model uses raw taxa abundances FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),6, centered-log-ratio transformed abundances FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),7, and host genotypes FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),8, with transmission governed by a parameter FMN(0,ΣF,In),F \sim MN(0,\Sigma_F,I_n),9 that balances maternal and ambient inheritance. The phenotype is then generated from a direct genetic component fiN(0,ΣF)f_i \sim N(0,\Sigma_F)0, a microbiota-mediated component fiN(0,ΣF)f_i \sim N(0,\Sigma_F)1, and Gaussian noise, with calibration to direct heritability, microbiability, and total heritability (Pety et al., 11 Feb 2025). In this sense, RITHMS represents a domain-specific simulator that adds mechanistic structure not described in the core SimOmics package.

The reported extensions named for SimOmics pipelines include integrating RITHMS outputs into downstream genomic–microbiome GWAS, joint-prediction models, and Bayesian neural nets with host–microbiome interaction priors; extending to longitudinal microbiota by repeating the microbial-composition model at multiple ages; incorporating non-Gaussian noise covariance among taxa for explicit microbe–microbe interaction networks; and allowing semi-paired base populations by probabilistic data-augmentation steps (Pety et al., 11 Feb 2025). These are presented as extensions and therefore should not be conflated with the baseline capabilities of SimOmics itself.

An objective way to view the relationship is that SimOmics defines a general synthetic benchmarking environment for multiblock omics integration, while RITHMS demonstrates how specialized biological processes can be embedded into that environment when the target problem involves transgenerational hologenomic data rather than generic multivariate multi-omics measurements.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to SimOmics.