Computes correlations between exposures and feature types including DEGs, omics, latent factors, top factor features, or principal components (PCs). Optionally computes feature–feature correlations to support network analysis.
Usage
run_correlation(
  expomicset,
  feature_type = c("degs", "omics", "factors", "factor_features", "exposures", "pcs"),
  exposure_cols = NULL,
  variable_map = NULL,
  n_pcs = NULL,
  feature_cors = FALSE,
  robust = FALSE,
  score_col = "stability_score",
  score_thresh = NULL,
  correlation_method = "spearman",
  correlation_cutoff = 0.3,
  cor_pval_column = "p.value",
  pval_cutoff = 0.05,
  deg_pval_col = "adj.P.Val",
  deg_logfc_col = "logFC",
  deg_pval_thresh = 0.05,
  deg_logfc_thresh = log2(1.5),
  batch_size = 1500,
  action = c("add", "get")
)Arguments
- expomicset
 A
MultiAssayExperimentobject.- feature_type
 Type of features to correlate. One of
"degs","omics","factors","factor_features","exposures", or"pcs".- exposure_cols
 Optional vector of exposure column names (from
colData) to use.- variable_map
 Optional mapping of features to include by assay for
omicsmode.- n_pcs
 Number of PCs to use when
feature_type = "pcs".- feature_cors
 Logical; if
TRUE, compute correlations between features rather than with exposures.- robust
 Logical; restrict DEGs to those passing sensitivity threshold.
- score_col
 Column name in sensitivity analysis with feature stability score.
- score_thresh
 Threshold for filtering robust features.
- correlation_method
 One of
"pearson","spearman", or"kendall".- correlation_cutoff
 Minimum absolute correlation to retain.
- cor_pval_column
 Column in output to filter by p-value (default:
"p.value").- pval_cutoff
 Maximum p-value or FDR threshold to retain a correlation.
- deg_pval_col
 Column with DEG adjusted p-values.
- deg_logfc_col
 Column with DEG log fold-changes.
- deg_pval_thresh
 P-value cutoff for DEGs.
- deg_logfc_thresh
 Log fold-change cutoff for DEGs.
- batch_size
 Number of features to process per batch (default: 1500).
- action
 Whether to
"add"results to metadata or"get"as a data frame.
Value
If action = "add", returns updated MultiAssayExperiment
with results added to metadata.
If action = "get", returns a tidy data.frame of correlations.
Examples
# create example data
mae <- make_example_data(
    n_samples = 10,
    return_mae = TRUE
)
#> Ensuring all omics datasets are matrices with column names.
#> Creating SummarizedExperiment objects.
#> Creating MultiAssayExperiment object.
#> MultiAssayExperiment created successfully.
# run correlation analysis
mae <- mae |>
    run_correlation(
        feature_type = "exposures",
        exposure_cols = c("exposure_pm25", "exposure_no2", "age", "bmi")
    )