Single-Cell RNA-seq-2026-08-28

Single-Cell RNA-seq Downstream Analysis

NM

Nasir Mahmood Abbasi, PhD

Bioinformatics Educator

Downstream Analysis

After clustering and annotation, choose the analysis by the question it can answer. Ligand–receptor tools nominate candidate communication, regulon methods estimate transcription-factor activity from target-gene patterns, and plots help inspect the underlying measurements. None of these steps alone demonstrates a molecular interaction or causal mechanism.

Format: Conceptual guide. For readers who have completed clustering and cell annotation, this guide develops a defensible analysis plan and input review; it supplies no dataset or runnable downstream pipeline, so readers prepare their own annotated object.

Start with the biological question and sample design

Before opening a package, write down the comparison you intend to make, the biological replicate, and the evidence that could support or contradict your interpretation. A cell is an observation within a sample; cells from one donor or condition are not independent biological replicates. For condition-level inference, retain sample identity and plan a replicate-aware comparison. A pooled cell-level result can describe the observed cells, but it does not by itself establish a population-level condition effect.

Starting point and expected object. If you need an upstream worked workflow, use the Seurat PBMC3K guided clustering tutorial (R/Seurat); it starts with a public 10x count matrix and demonstrates preprocessing, clustering and annotation. Its example is a single healthy donor and is not a replicated condition-comparison design. This downstream guide does not require both languages: use the R object route for CellChat/Seurat workflows or the Python/AnnData route for Scanpy/decoupler workflows. Before proceeding, your chosen object should expose one cell-by-feature expression matrix (document counts versus normalized values), a stable cell identifier, a cell-type label for every cell, and, when relevant, independent sample and condition labels. Record organism and feature-ID convention. A minimal manifest could be object, assay_or_layer, species, feature_id_type, cell_id, cell_type, sample_id, condition, database_or_network_release, package_versions; mark genuinely unavailable sample fields as unavailable rather than inventing replicates.
  • Question: Are you generating hypotheses about signaling between annotated cell groups, comparing candidate regulator activity, or communicating marker patterns?
  • Input: Record the species, gene identifier convention, expression representation (for example, normalized expression versus counts), annotation column, and sample column. Confirm that the chosen method expects that representation.
  • Unit: State whether the output describes cells, cell groups, or independent samples. For a condition comparison, identify how replicate-level variability enters the analysis.
  • Validation: Decide what independent evidence could test a candidate: an orthogonal protein assay, spatial context, perturbation, or a separately designed replicate-aware analysis, as appropriate to the claim.
Interpretation boundary. An inferred interaction score or TF activity score is a model-based summary of expression and prior knowledge. It is not direct measurement of protein abundance, binding, secretion, receptor activation, or causal direction.

Choose an analysis that matches the question

Match the biological question to an analysis and its main interpretive limit.
QuestionApproachInspectDo not conclude from the score alone
Which annotated groups may exchange a known ligand–receptor signal?CellChat (R) or CellPhoneDBSpecies and database; gene identifiers; cell labels; expression threshold; group sizes; sampling designThat cells physically contacted one another or that signaling occurred in tissue
Which regulators have target-gene patterns consistent with activity?DoRothEA regulons with a scoring method such as decoupler MLM or an R VIPER workflowNetwork version and confidence subset; target overlap; expression layer; signed weights; score scaleThat the TF protein is present, bound DNA, or caused the observed expression
How do marker expression and group composition look?Seurat/Scanpy plots or SCpubr wrappersAssay/layer, feature identifiers, grouping, scale, sample representation, overplottingThat an attractive embedding validates clusters or removes batch effects

These tools answer related but distinct questions. CellChat and CellPhoneDB use curated ligand–receptor knowledge and expression patterns to prioritize candidate interactions. CellPhoneDB's statistical mode permutes cell labels to evaluate cell-type specificity under its procedure; its p-values do not replace biological replication or validate physical signaling. CellChat's database and model assumptions likewise constrain what can be inferred. Check the current package tutorial and database release before comparing results across species, versions, or datasets.

Prepare and check the inputs

  1. Freeze a named analysis object. Keep an untouched source object and document which expression assay or layer is being passed to each method. Do not assume an object's raw slot is raw integer counts: in Scanpy it may hold a saved expression matrix whose meaning depends on how the object was prepared.
  2. Align feature names and species. Match identifiers to the selected resource. CellPhoneDB documentation specifies human gene/protein identifiers and defaults to Ensembl IDs; for HGNC symbols, its method input must identify that choice. Before running, compare the feature IDs in the expression matrix with the resource IDs after applying only the documented species/ID mapping: report matched = |matrix IDs ∩ resource IDs|, unmatched = |matrix IDs − resource IDs|, and matched fraction matched / |matrix IDs| (also report resource coverage if relevant). Inspect example IDs on both sides and check for mixed species, Ensembl version suffixes, capitalization, duplicated symbols, and accidental use of feature names versus stable IDs. There is no universal acceptable fraction: pause if overlap is unexpectedly low or concentrated in a subset, verify the selected organism and resource release, then apply a documented mapping and recompute the counts. If ambiguity remains, consult the method-specific input guidance or database maintainers; do not interpret an empty result as biological absence.
  3. Validate cell metadata. Each barcode in the expression input must map to one cell-type label in the metadata, with no missing or duplicated cell identifiers. Use descriptive, stable labels and inspect the number of cells per group. Very small groups can be excluded by method-specific filters.
  4. Keep sample labels. Preserve donor/sample and condition columns through aggregation and plotting. If comparing conditions, check that each condition has independent samples and that cell composition is not confounded with sample. Decide in advance how unequal cell numbers will be handled.
Checkpoint: Write an input manifest listing object name, assay/layer, species, identifier type, cell-label column, sample and condition columns, database/network release, and package version. Resolve any mismatch before interpreting a result.

Input-readiness review

Using your object and selected resource (without running an inference method), fill the manifest above and calculate feature overlap using the documented ID convention. Check that every expression-matrix cell has exactly one cell-type label and that sample labels remain attached to cells. Stop and resolve the issue if IDs/species do not match, labels are missing or duplicated, the expression layer is unclear, or a condition comparison has no independent samples. A passing structural review establishes only that inputs are aligned and described; it does not validate annotation, biological replication, or the biological suitability of the resource.

Hypothetical decision check

A hypothetical report claims that communication increased between conditions because a cell-label permutation test was significant in pooled data with one sample per condition. Is that sufficient evidence for a condition-level change or for signaling in tissue?

Reasoned feedback

No. A permutation test of cell-label specificity addresses the method's stated null for the supplied cells; it does not create independent biological replicates or separate condition from sample when there is only one sample in each condition. Expression-based predictions also do not establish physical contact or signaling in tissue. A condition claim needs an appropriate replicated, sample-aware comparison, with orthogonal evidence matched to the biological claim.

Interpret ligand–receptor results as candidates

CellChat's documented workflow builds an object from expression data and group labels, selects a species-specific database, identifies overexpressed genes/interactions, estimates communication probabilities, filters, and aggregates networks. CellPhoneDB's statistical analysis instead tests cell-type specificity using permutations of labels, subject to its expression threshold and input requirements. Do not describe either workflow as measuring ligand secretion or receptor activation.

Read the interaction table alongside the evidence that produced it: which genes and complexes are represented, the fraction of cells expressing each component, the source and target groups, group sizes, and whether the finding recurs across biological samples. Check for identifier mismatches and database coverage before treating absence as biological evidence. A missing interaction can reflect unrepresented genes, low detection, thresholds, or database scope.

When studying condition differences, run a design that respects the sample as the replicate. A cell-label permutation within one pooled dataset answers a question about specificity among the supplied cells under that null procedure; it does not create independent donors. Treat network diagrams as summaries whose edge width and inclusion rules must be explained in the caption.

Interpret regulator activity scores

Regulon methods combine a TF-to-target network with expression of those target genes. In the documented decoupler MLM API, the input network is long format with source, target, and weight columns; each sample's expression features are the response, and regulator weights are covariates. The returned t-values are activity estimates, with p-values also returned. When the input is AnnData, the documented outputs use obsm['mlm_estimate'] and obsm['mlm_pvals']. This API behavior is version-dependent; verify it against the version installed in your environment.

A score is relative to the network, weights, feature coverage, and input matrix. Inspect how many targets from each regulon are present and whether the network's confidence levels and species fit the question. A visualization colored by a score shows its distribution across cells or groups; it does not establish protein abundance or direct DNA binding. Compare groups at the appropriate replicate level rather than treating thousands of cells from one sample as thousands of independent experiments.

Make plots answer a specific question

Use a UMAP or other embedding to show where annotated cells fall in the representation used to construct it. Use a dot plot or similar summary to show marker detection and expression across groups. State the plotted assay/layer, scaling, and grouping in the caption. Embeddings can distort global distances, and visual separation is not a statistical test. Density contours may obscure smaller groups or imply boundaries that the data do not support. SCpubr offers Seurat-oriented plotting wrappers; check the current reference for available arguments rather than assuming a function call is portable across package versions.

Analysis-plan exercise

Choose one question from the table and complete this record before running analysis:

  • Question and intended interpretation
  • Input object, expression layer, species, identifiers, and annotation
  • Biological replicate and condition structure
  • Method/database or regulon release and parameters to report
  • One failure check and one independent validation route

Check your plan: another analyst should be able to identify what the output represents, what is independent, and what evidence would be needed before making a mechanistic claim.

Further examples and documentation

No package versions or runnable software examples are supplied here. For a reproducible analysis, record the R or Python version, relevant package versions, and ligand–receptor database or regulon release alongside the input manifest; capture them from the environment used for the analysis and consult the corresponding official documentation for version-specific behavior. If you find an error or broken reference, please report it through the Contact page.

Author: Nasir Mahmood Abbasi, PhD - Category: Single-Cell RNA-seq

Back to topSingle-Cell RNA-seq Downstream Analysis