an R package for unified access to computational methods for estimating immune cell fractions from bulk RNA sequencing data.

Basic usage

immunedeconv::deconvolute(gene_expression_matrix, "quantiseq")

where gene_expression_matrix is a matrix with genes in rows and samples in columns. The rownames must be HGNC symbols and the colnames must be sample names. The method can be one of

quantiseq
timer
cibersort
cibersort_abs
mcp_counter
xcell
epic

For more detailed usage instructions, see the Documentation:

Available methods, Licenses, Citations

Note that, while immunedeconv itself is free (BSD), you may need to obtain a license to use the individual methods. See the table below for more information. If you use this package in your work, please cite both our package and the method(s) you are using.

Sturm, G., Finotello, F., Petitprez, F., Zhang, J. D., Baumbach, J., Fridman, W. H., ..., List, M., Aneichyk, T. (2019). Comprehensive evaluation of transcriptome-based cell-type quantification methods for immuno-oncology. Bioinformatics, 35(14), i436-i445. https://doi.org/10.1093/bioinformatics/btz363

methodlicensecitation
quanTIseqfree (BSD)Finotello, F., Mayer, C., Plattner, C., Laschober, G., Rieder, D., Hackl, H., ..., Sopper, S. (2019). Molecular and pharmacological modulators of the tumor immune contexture revealed by deconvolution of RNA-seq data. Genome medicine, 11(1), 34. https://doi.org/10.1186/s13073-019-0638-6
TIMERfree (GPL 2.0)Li, B., Severson, E., Pignon, J.-C., Zhao, H., Li, T., Novak, J., … Liu, X. S. (2016). Comprehensive analyses of tumor immunity: implications for cancer immunotherapy. Genome Biology, 17(1), 174. https://doi.org/10.1186/s13059-016-1028-7
CIBERSORTfree for non-commerical use onlyNewman, A. M., Liu, C. L., Green, M. R., Gentles, A. J., Feng, W., Xu, Y., … Alizadeh, A. A. (2015). Robust enumeration of cell subsets from tissue expression profiles. Nature Methods, 12(5), 453–457. https://doi.org/10.1038/nmeth.3337
MCPCounterfree (GPL 3.0)Becht, E., Giraldo, N. A., Lacroix, L., Buttard, B., Elarouci, N., Petitprez, F., … de Reyniès, A. (2016). Estimating the population abundance of tissue-infiltrating immune and stromal cell populations using gene expression. Genome Biology, 17(1), 218. https://doi.org/10.1186/s13059-016-1070-5
xCellfree (GPL 3.0)Aran, D., Hu, Z., & Butte, A. J. (2017). xCell: digitally portraying the tissue cellular heterogeneity landscape. Genome Biology, 18(1), 220. https://doi.org/10.1186/s13059-017-1349-1
EPICfree for non-commercial use only (Academic License)Racle, J., de Jonge, K., Baumgaertner, P., Speiser, D. E., & Gfeller, D. (2017). Simultaneous enumeration of cancer and immune cell types from bulk tumor gene expression data. ELife, 6, e26476. https://doi.org/10.7554/eLife.26476

Comparison of the methods

For a benchmark comparison of the methods, please see our publication. If you would like to benchmark additional methods, please see our benchmark pipeline.

Installation

System requirements: R >= 3.5. Only linux is officially supported, but Mac/Windows should work, too.

Bioconda (Linux/MacOS only)

The easiest way to retrieve this package and all its dependencies is to use Anaconda. The installation typically completes within minutes.

  1. Download Miniconda, if you don't have a conda installation already.

  2. (Optional) create and activate an environment for deconvolution:

conda create -n deconvolution
conda activate deconvolution
  1. Install the immunedeconv package
conda install -c bioconda -c conda-forge r-immunedeconv

conda will automatically install the package and all dependencies. You can then open an R instance within the environment and use the package.

Standard R Package

We highly recommend using conda, as it will avoid incompatibilities between different package versions. That being said, you can also install immunedeconv as a regular R package in your default R installation. The installation typically completes within 30 minutes, depending on how many dependency packages need to be compiled.

The easiest way to do so is to use the remotes package, which will automatically download all CRAN, Bioconductor and GitHub dependencies:

install.packages("remotes")
remotes::install_github("icbi-lab/immunedeconv")

Copy Link

Version

Version

2.0.3

License

BSD_3_clause + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

January 1st, 1970

Functions in immunedeconv (2.0.3)

dataset_racle

Example RNA-seq dataset from the EPIC publication.
deconvolute_xcell

Deconvolute using xCell
deconvolute_timer

Deconvolute using TIMER
deconvolute_quantiseq.default

Use quanTIseq to deconvolute a gene expression matrix.
map_cell_types

Use a tree-hierarchy to map cell types among different methods.
.get_all_children

Recursive helper function for get_all_children.
eset_to_matrix

Convert a Biobase::ExpressionSet to a gene-expression matrix.
map_result_to_celltypes

Map a result table as generated by deconvolute to a user-defined list of cell types.
scale_to_million

Scale sample to TPM
deconvolute_epic

Deconvolute using EPIC
fix_namespace

assign the following global variables .onLoad because of 'staged-install'
deconvolute_cibersort

Deconvolute using CIBERSORT or CIBERSORT abs.
summarise_children

sum up the fraction of all child nodes to a single value. Take into account which cell types are optional.
find_children

Recursive helper function for map_cell_types.
set_cibersort_binary

Set Path to CIBERSORT R script (CIBERSORT.R)
node_by_name

Lookup dictionary for cell-type nodes
quantiseq_helper

Helper functions for quanTIseq
deconvolution_methods

List of supported immune deconvolution methods
timer

Source code for the TIMER deconvolution method.
deconvolute

Perform an immune cell deconvolution on a dataset.
immunedeconv

Collection of immune cell deconvolution methods.
single_cell_simulation

Functions for generating simulated bulk samples from a single cell dataset.
deconvolute_quantiseq

Deconvolute using quanTIseq
get_all_children

Get all children of a certain cell type.
set_cibersort_mat

Set Path to CIBERSORT matrix file (LM22.txt)
deconvolute_mcp_counter

Deconvolute using MCP-counter
make_bulk_eset

Make a random expression set from a single-cell dataset
timer_available_cancers

TIMER signatures are cancer specific. This is the list of available cancer types.
make_random_bulk

Make a random bulk sample from a single-cell dataset
xCell.data

Data object from xCell.
annotate_cell_type

Annotate unified cell_type names
cell_type_mapping

Functions for mapping cell types between deconvolution methods and datasets.
check_cancer_types

process batch table and check cancer types.
GetFractions.Abbas

Constrained regression method implemented in Abbas et al., 2009
available_datasets

Available methods and datasets.
cell_type_map

Table mapping the cell types from methods/datasets to a single, controlled vocabulary.
cell_type_tree

Available cell types in the controlled vocabulary organized as a lineage tree.
cell_type_list

List with controlled cell-type vocabulary