Skip to contents

proteoDeconv is an R package that facilitates the deconvolution of bulk proteomic data to estimate cell type proportions. With proteoDeconv, you can preprocess your data to prepare it for deconvolution, create cell type signature matrices, and perform deconvolution using multiple algorithms.

Installation

You can install the development version of proteoDeconv from GitHub:

# install.packages("pak")
pak::pak("ComputationalProteomics/proteoDeconv")

Usage example

Below is a brief example that demonstrates loading the provided example data and signature matrix from the package and performing deconvolution. You can learn more in vignette("proteoDeconv").

library(proteoDeconv)

# Load example data
mix_data <- readRDS(system.file("extdata", "mixed_samples_matrix.rds", package = "proteoDeconv"))
signature <- readRDS(system.file("extdata", "cd8t_mono_signature_matrix.rds", package = "proteoDeconv"))

# Preprocess data
mix_processed <- mix_data |>
  extract_identifiers() |>      # Extract IDs
  update_gene_symbols() |>      # Update to current gene symbols
  handle_missing_values() |>    # Handle NAs
  handle_duplicates() |>        # Handle duplicates
  convert_to_tpm()              # Scale to TPM-like scale

# Run deconvolution
results <- deconvolute(
  algorithm = "epic",
  data = mix_processed,
  signature = signature
)

# View the deconvolution results
print(results)

Prerequisites

CIBERSORTx

To use proteoDeconv with CIBERSORTx:

  • Ensure Docker is installed on your system.

  • Register and obtain a token from the CIBERSORTx website.

  • Set the token and email as environment variables in your .Renviron file (this file can be in your home directory or in your project folder):

    CIBERSORTX_TOKEN=your_token_here
    CIBERSORTX_EMAIL=your_email_here

CIBERSORT

For running proteoDeconv with the original CIBERSORT method, download the CIBERSORT source code from the CIBERSORT website and source it before executing deconvolutions:

source("/path/to/CIBERSORT.R")

Further reference

For a detailed walkthrough of a complete workflow, see the introduction to proteoDeconv or the function reference.

Support

For bug reports or any other inquiries, please open an issue on our GitHub repository.