% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/get_network_topology_parallel.R
\name{get_network_topology_parallel}
\alias{get_network_topology_parallel}
\title{Create network topology in parallel}
\usage{
get_network_topology_parallel(
  graph_obj = NULL,
  graph_obj_list = NULL,
  mat = NULL,
  graph_mat_list = NULL,
  transfrom.method = c("none", "scale", "center", "log2", "log10", "ln", "rrarefy",
    "rrarefy_relative"),
  r.threshold = 0.7,
  p.threshold = 0.05,
  method = c("WGCNA", "SpiecEasi", "SPARCC", "cor"),
  cor.method = c("pearson", "kendall", "spearman"),
  proc = c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"),
  SpiecEasi.method = c("mb", "glasso"),
  sparcc_R = 20,
  bootstrap = 100,
  parallel = FALSE,
  n_workers = NULL,
  seed = 1115
)
}
\arguments{
\item{graph_obj}{An graph object from build_graph_from_mat or build_graph_from_df.
The network object to be visualized.}

\item{graph_obj_list}{A list of graph objects. Optional alternative to
\code{graph_obj}. Each element is analyzed separately.}

\item{mat}{Numeric Matrix (default = NULL)
The matrix to build graph_obj}

\item{graph_mat_list}{A list of matrices corresponding to
\code{graph_obj_list}. Optional. Each element is paired with the graph
object at the same position and used for topology analysis separately.}

\item{transfrom.method}{Character.
Data transformation methods applied before correlation analysis.
Options include:
"none" (raw data),
"scale" (z-score standardization),
"center" (mean centering only),
"log2" (log2 transfrom),
"log10" (log10 transfrom),
"ln" (natural transfrom ),
"rrarefy" (random rarefaction using \code{vegan::rrarefy}),
"rrarefy_relative" (rarefy then convert to relative abundance).}

\item{r.threshold}{Numeric.
Correlation coefficient threshold; edges are kept only if |r| >= r.threshold.}

\item{p.threshold}{Numeric.
Significance threshold for correlations; edges are kept only if p < p.threshold.}

\item{method}{Character.
Relationship analysis methods.
Options include: "WGCNA", "SpiecEasi", "SPARCC" and "cor".}

\item{cor.method}{Character.
Correlation analysis method.
Options include "pearson", "kendall", and "spearman".}

\item{proc}{Character.
Correlation p-value adjustment methods.
Options include:
"holm", "hochberg", "hommel", "bonferroni",
"BH", "BY", "fdr", and "none".}

\item{SpiecEasi.method}{Character. Inverse-covariance estimation method
passed to SpiecEasi when \code{method = "SpiecEasi"}.
One of \code{"mb"} (Meinshausen-Buehlmann, default) or \code{"glasso"}.}

\item{sparcc_R}{Integer.
Number of bootstrap/permutation replicates for SparCC p-values (when \code{method = "SPARCC"}).
Default 20.}

\item{bootstrap}{Numeric  (default = 100).
Number of bootstrap iterations for stability analysis}

\item{parallel}{Logical (default = FALSE).
Whether to enable parallel computation.}

\item{n_workers}{Integer (default = NULL)
Number of parallel workers to use when \code{parallel = TRUE}}

\item{seed}{Integer (default = 1115).
Random seed for reproducibility.}
}
\value{
A list containing topology output and robustness output for a single
  network. When \code{graph_obj_list} is provided, returns a named list of
  such results.
}
\description{
Generates a data frame containing network topology information from either a
pre-built graph object or directly from an adjacency matrix.
}
\examples{
\dontrun{
data(ppi_example)
obj <- build_graph_from_df(
  df              = ppi_example$ppi,
  node_annotation = ppi_example$annotation
)
topo <- get_network_topology_parallel(
  graph_obj = obj,
  bootstrap = 20,
  parallel  = TRUE,
  n_workers = 2
)
head(topo$topology)
}
}
