SimOmics: Synthetic Multi-Omics Data Generator
- 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 , 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 denote the number of samples, the total number of features across all blocks, and the number of latent factors. Factor scores are generated as
so that each column , where controls correlations among factors. A loading matrix maps latent factors into observed feature space, producing the signal
Observed data are then formed by additive residual noise,
with 0. In compact form, the package describes the model as
1
This formulation gives SimOmics a standard but flexible multivariate backbone. The factor covariance 2 governs dependencies among latent sources of variation, while the loading matrix 3 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 4 is partitioned into block sizes 5, 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,
6
where each within-block covariance matrix 7 can follow patterns such as constant correlation 8 or AR-1. To inject inter-block correlation, off-diagonal blocks can be set to 9, 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 0 of features may load on factor 1, with two mechanisms specified. Under hard-thresholding, entries are drawn as 2 and the smallest 3 fraction is zeroed out. Under continuous shrinkage priors, the package description gives
4
The user controls 5 through loadingSparsity and 6 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 7 with user control over 8 or global SNR. For count data, two observation models are listed:
- Poisson:
9
- Negative binomial (NB):
0
where 1 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 2, 3, and 4 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 sim5truth (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 6 between 3 and 10 to mirror typical pathway dimensionality, setting sparsity 7 so that 5–20% of loadings are non-zero per factor, matching block sizes 8 to real data while ensuring 9, and setting block correlation 0 in the range 0.3–0.7 to model moderate sharing of signal across omics. Noise parameters such as 1 and 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. sim3truth contains the latent factors 4, loading matrix 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 6, centered-log-ratio transformed abundances 7, and host genotypes 8, with transmission governed by a parameter 9 that balances maternal and ambient inheritance. The phenotype is then generated from a direct genetic component 0, a microbiota-mediated component 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.