Learn R Programming

⚠️There's a newer version (2.0.3) of this package.Take me there.

immunedeconv - 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

methodcitation
quanTIseqFinotello, F., Mayer, C., Plattner, C., Laschober, G., Rieder, D., Hackl, H., … Trajanoski, Z. (2017). quanTIseq: quantifying immune contexture of human tumors. BioRxiv, 223180. https://doi.org/10.1101/223180
TIMERLi, 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
CIBERSORTNewman, 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
MCPCounterBecht, 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
xCellAran, 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
EPICRacle, 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.4.1. Only linux is officially supported, but Mac/Windows should work, too.

Conda

The easiest way to retrieve this package and all its dependencies is to use Anaconda. Install 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 --override -c grst -c bioconda -c conda-forge/label/cf201901 r-immunedeconv

Note: due to a recent conda compiler update, immunedeconv needs to be installed using the cf201901 label of conda-forge. I'm working on making it work with the default version...

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. 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("grst/immunedeconv")

Citation

If you use this package, please cite

Sturm, G., Finotello F. et al. "Comprehensive evaluation of cell-type quantification methods for immuno-oncology", bioRxiv, https://doi.org/10.1101/463828

Copy Link

Version

Version

1.1.1

License

BSD_3_clause + file LICENSE.md

Issues

Pull Requests

Stars

Forks

Maintainer

Gregor Sturm

Last Published

August 4th, 2021

Functions in immunedeconv (1.1.1)

available_datasets

Available methods and datasets.
find_children

Recursive helper function for map_cell_types.
cell_type_map

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

Use quanTIseq to deconvolute a gene expression matrix.
deconvolute_timer

Deconvolute using the TIMER technique
make_random_bulk

Make a random bulk sample from a single-cell dataset
scale_to_million

Scale sample to TPM
get_all_children

Get all children of a certain cell type.
set_cibersort_binary

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

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

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

Data object from xCell.
GetFractions.Abbas

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

process batch table and check cancer types.
deconvolute

Perform an immune cell deconvolution on a dataset.
make_bulk_eset

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

Collection of immune cell deconvolution methods.
set_cibersort_mat

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

Annotate unified cell_type names
single_cell_simulation

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

Recursive helper function for get_all_children.
quantiseq_helper

Helper functions for quanTIseq
map_result_to_celltypes

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

List of supported immune deconvolution methods
cell_type_mapping

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

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

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

Source code for the TIMER deconvolution method.
summarise_children

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

example gene expression dataset