Cell–cell communication analysis: what CellChat and CellPhoneDB can honestly tell you

Ligand–receptor scoring is a hypothesis generator, not evidence of interaction. How to run it defensibly and how to report it.

Updated 2026-07-31

Do this on your own data: ligand-receptor scores read very differently once you see them presented as hypotheses rather than results. A worked cell-cell communication analysis stated that way: omics.hstgenomics.com/sample-communication.

Want it done rather than explained? We do analysis only — send a count matrix, an h5ad or Seurat object, Cell Ranger output or a public accession and get publication-ready results with the code that produced them, at a fixed price agreed before any work starts: omics.hstgenomics.com/quote.

These tools take your clustered data, look up ligand and receptor genes in a curated database, and score which cell types could be talking to each other. They are useful. They are also the analysis most often over-claimed in single-cell papers.

What the score actually measures

That the ligand gene is expressed in cluster A and the receptor gene in cluster B, more than expected by chance given the data. That is co-expression, not communication. It does not establish that the two cell types were ever in physical proximity, that the protein was translated, that it was secreted, or that the receptor was engaged. mRNA and protein correlate imperfectly, and many ligands require processing to become active.

How to run it so the result means something

  • Annotate first, carefully. Every result is conditional on your cluster labels. Merge two cell types by mistake and you will invent an interaction between them.
  • Keep the cell numbers comparable. Rare clusters with few cells produce unstable scores; most tools are sensitive to cluster size. Report the cell count per cluster alongside the interactions.
  • Compare conditions rather than reading absolute scores. "This pathway is stronger in treated than control" is far more defensible than "this pathway is active".
  • Check the database. Interaction databases differ substantially, and a hit present in one and absent from another is weak. Running two tools and reporting the intersection is cheap insurance.

What turns it into evidence

Spatial data showing the two populations adjacent. Protein-level confirmation of the ligand or receptor. A perturbation — block the pathway and the downstream phenotype changes. In a manuscript, one of these moves the claim from "suggested" to "supported"; without one, the honest phrasing is that the analysis nominates candidate interactions for testing.

Reporting that survives review

State the tool and version, the database, the cluster labels used, and the minimum cell count per cluster. Show the comparison between conditions rather than a hairball diagram of everything talking to everything — those figures look impressive and communicate nothing. Then write the sentence that matters: what you would do next to test the top candidate.

Need this done rather than explained?

We do analysis only — send a count matrix, an h5ad/Seurat object or a public accession and get publication-ready results with the code that produced them. Fixed price agreed before work starts.

→ Get a fixed quote  ·  See a full sample deliverable

More guides