% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/generateReport.R
\name{generateReport}
\alias{generateReport}
\title{Generate a Structured Summary Report of MultiOmicsBridge Results}
\usage{
generateReport(result, file = NULL, n_top = 10L)
}
\arguments{
\item{result}{A \code{\link{MOBResult}} object from
\code{\link{MultiOmicsBridgeAnalysis}}.}

\item{file}{An optional \code{character(1)} file path where the report
should be saved as a plain text file. If \code{NULL} (default), the
report is only printed to the console.}

\item{n_top}{An \code{integer(1)} number of top biomarkers to list.
Default: \code{10}.}
}
\value{
Invisibly returns a named \code{list} of character vectors,
  one per report section.
}
\description{
Prints a formatted text summary of a \code{\link{MOBResult}} object
to the console and optionally saves it to a plain-text file. The
report covers all five analysis modules: data dimensions, integration
method, top biomarkers, cross-omics correlations, and classifier
performance comparison.

For a full interactive HTML report, users can render the package
vignette template (\code{system.file("vignettes", package =
"MultiOmicsBridge")}) with \code{rmarkdown::render()} using their
own \code{MOBResult} object.
}
\examples{
library(S4Vectors)
scores <- matrix(rnorm(20), nrow = 10, ncol = 2,
    dimnames = list(paste0("S", 1:10), c("Comp1", "Comp2")))
bm <- DataFrame(
    feature = c("Gene1", "Taxon1", "Gene2"),
    omics_layer = c("host", "microbiome", "host"),
    loading_score = c(0.9, 0.8, 0.7),
    rank = c(1L, 2L, 3L), component = c(1L, 1L, 1L)
)
cr <- list(
    host_only       = list(mean_auc = 0.82, sd_auc = 0.05,
                           fold_auc = c(0.78, 0.84, 0.83)),
    microbiome_only = list(mean_auc = 0.75, sd_auc = 0.06,
                           fold_auc = c(0.70, 0.79, 0.76)),
    joint           = list(mean_auc = 0.94, sd_auc = 0.03,
                           fold_auc = c(0.92, 0.95, 0.94)),
    cv_folds        = 3L,
    outcome_levels  = c("ctrl", "treat")
)
obj <- MOBResult(scores, list(), bm, cr,
    params = list(integration_method = "DIABLO",
                  n_components = 2L,
                  outcome_levels = c("ctrl", "treat"),
                  cv_folds = 3L))
generateReport(obj, n_top = 3)

}
\seealso{
\code{\link{MultiOmicsBridgeAnalysis}}, \code{\link{MOBResult}}
}
