Gradient Biotech

Cell-cell communication

The cell_communication pipeline scores immune ligand-receptor signaling and cytokine networks. It is the canonical shared engine used by Oncology.

The current implementation includes an initial CellPhoneDB/CellChat-style method-parity slice: heteromeric ligand/receptor complexes, subunit-aware expression thresholds, permutation p-values, adjusted p-values, interaction specificity scores, pathway aggregation, communication probability summaries, and incoming/outgoing sender-receiver role summaries.

Inputs

InputDescription
expression_path or expression_rowsPer-cell expression table
metadata_path or metadata_rowsCell metadata with cell type and optional condition
ligand_receptor_pathOptional ligand-receptor table
condition_columnOptional condition field for comparison

Outputs

  • ligand-receptor interaction scores
  • heteromeric ligand/receptor component fields and complex-edge flags
  • communication probability, specificity score, permutation p-value, and adjusted p-value
  • sender/receiver network summaries
  • incoming/outgoing sender-receiver role summaries
  • pathway aggregation
  • cytokine-specific network subset
  • ligand activity scores using built-in target priors
  • comparative deltas between conditions
  • role deltas between compared conditions
  • interpretation notes

Ligand activity inference workflow

Use the separate Ligand Activity Inference workflow when the question is not only "which cells may signal to each other?" but "which sender ligands may explain a receiver target-gene program?"

Inputs include expression, metadata, sender cell types, receiver cell type, explicit target genes or a target-gene file, and optional ligand-target priors. Outputs include ligand rankings, ligand-target matrix rows, ligand-receptor-target paths, and interpretation notes. If explicit target genes are not supplied, the pipeline can infer receiver targets from a two-condition comparison.

Experimental complex structures

Below the top interactions, the complex explorer shows how a ligand physically binds its receptor. Pick a ligand–receptor pair and click View complex: the platform searches the Protein Data Bank for the best-resolution entry containing both proteins, picks the interacting chain pair, and highlights the interface residues on each side (ligand in orange, receptor in blue) — residues that bury more than 1 Ų of solvent-accessible area when the complex forms. Side cards list the interface residues in UniProt numbering, with the entry's method, resolution, approximate interface area, and other entries containing both proteins.

Multi-subunit names from communication databases (for example ITGA4_ITGB1) use their first subunit, which the card states. When no experimental complex exists, the card says so. Structures are fetched server-side and cached; this is structural context for a predicted interaction, not evidence that the interaction occurs in your samples.

Reference methods

The implementation is inspired by CellPhoneDB-style ligand-receptor scoring, ligand activity prediction against ligand-target priors, and CellChat-style pathway and role summaries. It is a transparent Python research workflow, not a wrapped R/Bioconductor runtime and not causal signaling proof.