/CellChat

R toolkit for inference, visualization and analysis of cell-cell communication from single-cell data

Primary LanguageR

CellChat: Inference and analysis of cell-cell communication

Important update!!

February 17, 2021 (Version 1.0.0)

  • CellChat paper is now officially published (Jin et al., Nature Communications, 2021). Compared to the preprint, we have now experimentally validated CellChat's predictions on embryonic skin using RNAscope technique, applied CellChat to a human diseased skin dataset and updated many others.
  • We have now developed a standalone CellChat Shiny App for interactive exploration of the cell-cell communication analyzed by CellChat. Want to share your results with your collaborators like biologists for further exploration? Try it out!

January 05, 2021 (Version 0.5.0)

  • Slight changes of CellChat object (Please update your previously calculated CellChat object via updateCellChat())
  • Enhanced documentation of functions and tutorials (use help() to check the documentation, e.g., help(CellChat))
  • New features for comparison analysis of multiple datasets
  • Support for creating a new CellChat object from Seurat V3 or SingleCellExperiment object

Web-based “CellChat Explorer”

We build a user-friendly web-based “CellChat Explorer” that contains two major components:

  • Ligand-Receptor Interaction Explorer that allows easy exploration of our novel ligand-receptor interaction database, a comprehensive recapitulation of known molecular compositions including multimeric complexes and co-factors. Our database CellChatDB is a manually curated database of literature-supported ligand-receptor interactions in both human and mouse.
  • Cell-Cell Communication Atlas Explorer that allows easy exploration of the cell-cell communication for any given scRNA-seq dataset that has been processed by our R toolkit CellChat.

We have now also developed a standalone CellChat Shiny App for our Cell-Cell Communication Atlas Explorer.

Capabilities

In addition to infer the intercellular communication from any given scRNA-seq data, CellChat provides functionality for further data exploration, analysis, and visualization.

  • It is able to analyze cell-cell communication for continuous states along cellular development trajectories.
  • It can quantitatively characterize and compare the inferred cell-cell communication networks using an integrated approach by combining social network analysis, pattern recognition, and manifold learning approaches.
  • It provides an easy-to-use tool for extracting and visualizing high-order information of the inferred networks. For example, it allows ready prediction of major signaling inputs and outputs for all cell populations and how these populations and signals coordinate together for functions.
  • It provides several visualization outputs to facilitate intuitive user-guided data interpretation.

Check out our paper (Jin et al., Nature Communications, 2021) for the detailed methods and applications.

Installation

CellChat R package can be easily installed from Github using devtools:

devtools::install_github("sqjin/CellChat")

Please make sure you have installed the correct version of NMF and circlize package. See instruction below.

Installation of other dependencies

  • Install NMF (>= 0.23.0) using install.packages('NMF'). Please check here for other solutions if you encounter any issue. You might can set Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS=TRUE) if it throws R version error.
  • Install circlize (>= 0.4.12) using devtools::install_github("jokergoo/circlize") if you encounter any issue.
  • Install ComplexHeatmap using devtools::install_github("jokergoo/ComplexHeatmap") if you encounter any issue.
  • Install UMAP python pacakge for dimension reduction: pip install umap-learn. Please check here if you encounter any issue.

Some users might have issues when installing CellChat pacakge due to different operating systems and new R version. Please check the following solutions:

  • Installation on Mac OX with R > 3.6: Please re-install Xquartz.
  • Installation on Windows, Linux and Centos: Please check the solution for Windows and Linux.

Tutorials

Please check the tutorial directory of the repo.

System Requirements

  • Hardware requirements: CellChat package requires only a standard computer with enough RAM to support the in-memory operations.

  • Software requirements: This package is supported for macOS, Windows and Linux. The package has been tested on macOS: Mojave (10.14.5) and Windows 10. Dependencies of CellChat package are indicated in the Description file, and can be automatically installed when installing CellChat pacakge. CellChat can be installed on a normal computer within few mins.

Help or Suggestion

If you have any question, comment or suggestion, please post it in the 'Issues' section or contact cellchat.package@gmail.com.

How to cite?

Suoqin Jin, Christian F. Guerrero-Juarez, Lihua Zhang, Ivan Chang, Raul Ramos, Chen-Hsiang Kuan, Peggy Myung, Maksim V. Plikus, Qing Nie. Inference and analysis of cell-cell communication using CellChat. Nature Communications, 12:1088 (2021). https://www.nature.com/articles/s41467-021-21246-9