Runs the EPIC algorithm on preprocessed proteomic data to estimate cell type proportions in mixed samples using a reference signature matrix.
Arguments
- data
A numeric matrix of the bulk proteome data with gene identifiers as row names and samples as columns.
- signature
A numeric matrix of reference signature profiles with gene identifiers as row names and cell types as columns.
- with_other_cells
Logical; if TRUE, EPIC will include an "other cells" component in the output to account for cell types not present in the reference. Default is TRUE.
Value
A numeric matrix with samples as rows and cell types as columns, representing the estimated proportion of each cell type in each sample.
Details
The function normalizes both the input data matrix and signature
matrix using the handle_scaling
function before running the EPIC
deconvolution. The EPIC algorithm uses constrained least squares regression
to estimate cell type proportions.
References
Racle, J. et al. (2017). Simultaneous enumeration of cancer and immune cell types from bulk tumor gene expression data. eLife, 6:e26476.
See also
handle_scaling
for preprocessing inputs before
deconvolution, deconvolute
for a unified interface to
multiple deconvolution methods.
Examples
if (FALSE) { # \dontrun{
# Load example data and signature matrix
data_file <- system.file("extdata", "mixed_samples_matrix.rds", package = "proteoDeconv")
mixed_samples <- readRDS(data_file)
signature_file <- system.file("extdata", "cd8t_mono_signature_matrix.rds", package = "proteoDeconv")
signature_matrix <- readRDS(signature_file)
# Run EPIC deconvolution
result <- deconvolute_epic(
data = mixed_samples,
signature = signature_matrix,
with_other_cells = TRUE
)
# View first few rows of the result
head(result)
} # }