Skip to contents

Purpose

OmicsBraid analyzes the same biological contrast across scientifically ordered molecular layers while retaining layer-specific uncertainty and matched-subject dependence.

Minimal known-truth example

library(OmicsBraid)
sim <- simulate_braid_data(
  n_per_group = 40,
  omics = c("RNA", "Protein", "Phosphoprotein"),
  rho = 0.4,
  seed = 42
)
fit <- run_omics_braid(
  sim$data,
  group = "group",
  reference = "Control",
  comparison = "Disease",
  omic_order = c("RNA", "Protein", "Phosphoprotein"),
  bootstrap_B = 300,
  equivalence_margin = 0.30,
  trajectory_margin = 0.15,
  pattern_draws = 1000,
  seed = 42
)

Inspect results

fit$effects
fit$integrated
fit$equivalence
fit$trend
fit$classification
braid_results_table(fit)

fit$integrated contains the GLS consensus, omnibus evidence, and cross-omic heterogeneity. The classification layer should be interpreted together with pattern_status and the underlying effect vector rather than as an isolated label.

Visualize one entity

plot_evidence_forest(fit, "inversion")
plot_effect_braid(fit, "inversion")

For a genome-wide overview:

Real data

Create an omics_braid_data object from analysis-ready assay matrices and metadata. Column names must identify samples and metadata must contain the same sample IDs.

obj <- omics_braid_data(
  assays = list(RNA = rna, Protein = protein, Phosphoprotein = phospho),
  metadata = metadata,
  sample_id = "sample_id"
)
validate_omics_braid_data(obj)

Do not feed raw sequencing counts or raw mass-spectrometry files directly into OmicsBraid.