FastCCC Cell–Cell Communication Analysis Report

{{ sample_name }}  |  Task: {{ task_id }}
{{ report_date }}  |  DB: {{ database_name }}  |  FastCCC v{{ version }}
{% for tab in tabs %} {% endfor %} {% if has_differential %} {% endif %}
{% macro render_tab(tab, ri) %} {% set f = tab.figs %} {% set s = tab.stats %} {% set n = tab.name %}

Contents

  1. Executive Summary
  2. Global CCC Overview
  3. Ligand–Receptor Pair Analysis
  4. Pathway Enrichment
  5. Cell Type Profiles
  6. Network Analyses
  7. Advanced L-R Analyses
  8. Co-occurrence & Crosstalk

1. Executive Summary

{{ s.n_celltypes }}
Cell types
{{ s.n_sig_interactions }}
Significant interactions
{{ s.n_lr_pairs }}
Unique L-R pairs
{{ s.n_ct_pairs }}
Active cell-type pairs
{{ s.n_pathways }}
Pathway classes
{% if s.top_sender %}

FastCCC identified {{ s.n_sig_interactions }} significant L-R interactions across {{ s.n_ct_pairs }} cell-type pairs in {{ n }}. Top sender: {{ s.top_sender }} ({{ s.top_sender_count }} outgoing). Top receiver: {{ s.top_receiver }} ({{ s.top_receiver_count }} incoming). Dominant pathway: {{ s.top_pathway }} ({{ s.top_pathway_count }} interactions).

{% endif %}

Run Parameters

{% if ri.has_conditions %} {% endif %}
Sample{{ n }}
Task ID {%- if tab.id == 'cond_a' and ri.cond_a_task_id -%} {{ ri.cond_a_task_id }} {%- elif tab.id == 'cond_b' and ri.cond_b_task_id -%} {{ ri.cond_b_task_id }} {%- else -%} {{ ri.task_id }} {%- endif -%}
Database{{ ri.database_name }}
p-value threshold{{ ri.pval_threshold }}
Top L-R pairs shown{{ ri.top_n_lr }}
Top cell types shown{{ ri.top_n_celltypes }}
Chord connections shown{{ ri.max_chords }}
Enrichment gene sets{{ ri.gene_sets_str }}
Conditions compared{{ ri.name_a }} vs {{ ri.name_b }}
Report generated{{ ri.report_date }}
FastCCC version{{ ri.version }}
Interpretation scope. FastCCC significance in this tab is assessed within the supplied sample or condition using the configured L-R database and communication-score construction. Figures in the condition-comparison tab summarize differences between independently analysed result sets; replicate-aware differential claims require an explicit between-condition model.

2. Global CCC Overview

Figure 1 — Interaction Count Heatmap

{% if f.count_heatmap[0] %}
Count Heatmap
Figure 1. {{ f.count_heatmap[1] }}
{% else %}

Figure 1 not generated.

{% endif %}

Figure 2 — Communication Strength Heatmap

{% if f.strength_heatmap[0] %}
Strength Heatmap
Figure 2. {{ f.strength_heatmap[1] }}
{% else %}

Figure 2 not generated.

{% endif %}

Figure 3 — Chord Diagram

{% if f.chord[0] %}
Chord Diagram
Figure 3. {{ f.chord[1] }}
{% else %}

Figure 3 not generated.

{% endif %}

Figure 4 — Top Sender and Receiver Cell Types

{% if f.sr_bar[0] %}
Sender Receiver Bar
Figure 4. {{ f.sr_bar[1] }}
{% else %}

Figure 4 not generated.

{% endif %}

3. Ligand–Receptor Pair Analysis

Figure 5 — Top L-R Pairs Dot Plot

{% if f.lr_dotplot[0] %}
LR Dotplot
Figure 5. {{ f.lr_dotplot[1] }}
{% else %}

Figure 5 not generated.

{% endif %}

Figure 5B — Cell-Type L-R Evidence Explorer

{% if f.celltype_lrs.profiles %}
Figure 5B. {{ f.celltype_lrs.caption }}
{% else %}

{{ f.celltype_lrs.caption }}

{% endif %}

Figure 6 — Pathway Classification Distribution

{% if f.class_bar[0] %}
Classification Bar
Figure 6. {{ f.class_bar[1] }}
{% else %}

Figure 6 not generated.

{% endif %}

Figure 6B — Cell-Type Pathway Evidence Explorer

{% if f.celltype_pathways.profiles %}
Pathway classification Cumulative significance evidence Significant CCC roles
Figure 6B. {{ f.celltype_pathways.caption }}
{% else %}

{{ f.celltype_pathways.caption }}

{% endif %}

Figure 7 — Pathway × Cell-Type Pair Heatmap

{% if f.path_ct[0] %}
Pathway CT Heatmap
Figure 7. {{ f.path_ct[1] }}
{% else %}

Figure 7 not generated.

{% endif %}

4. Pathway Enrichment Analysis

Figure 8 — Ligand Gene ORA

{% if f.lig_ora[0] %}
Ligand ORA
Figure 8. {{ f.lig_ora[1] }}
{% else %}

Figure 8 not generated.

{% endif %}

Figure 8B — Cell-Type Ligand Gene Evidence Explorer

{% if f.celltype_ligands.profiles %}
Figure 8B. {{ f.celltype_ligands.caption }}
{% else %}

{{ f.celltype_ligands.caption }}

{% endif %}

Figure 9 — Receptor Gene ORA

{% if f.rec_ora[0] %}
Receptor ORA
Figure 9. {{ f.rec_ora[1] }}
{% else %}

Figure 9 not generated.

{% endif %}

Figure 9B — Cell-Type Receptor Gene Evidence Explorer

{% if f.celltype_receptors.profiles %}
Figure 9B. {{ f.celltype_receptors.caption }}
{% else %}

{{ f.celltype_receptors.caption }}

{% endif %}

Figure 10 — Predicted TF Activation Heatmap

{% if f.tf[0] %}
TF Heatmap
Figure 10. {{ f.tf[1] }}
{% else %}

Figure 10 not generated (requires CPDBv5).

{% endif %}

5. Cell Type Communication Profiles

Figure 11 — Sender vs. Receiver Scatter

{% if f.io_scatter[0] %}
IO Scatter
Figure 11. {{ f.io_scatter[1] }}
{% else %}

Figure 11 not generated.

{% endif %}

Figure 12 — Sender Pathway Specificity

{% if f.sender_pathway[0] %}
Sender Pathway
Figure 12. {{ f.sender_pathway[1] }}
{% else %}

Figure 12 not generated.

{% endif %}

Figure 13 — Outgoing Interaction Flow

{% if f.flow[0] %}
Interaction Flow
Figure 13. {{ f.flow[1] }}
{% else %}

Figure 13 not generated.

{% endif %}

Figure 25 — Receiver Pathway Specificity

{% if f.receiver_pathway[0] %}
Receiver Pathway
Figure 25. {{ f.receiver_pathway[1] }}
{% else %}

Figure 25 not generated.

{% endif %}

Figure 26 — Incoming Interaction Flow

{% if f.incoming_flow[0] %}
Incoming Flow
Figure 26. {{ f.incoming_flow[1] }}
{% else %}

Figure 26 not generated.

{% endif %}

6. Network-Level Analyses

Figure 14 — Communication Network

{% if f.network[0] %}
Network
Figure 14. {{ f.network[1] }}
{% else %}

Figure 14 not generated.

{% endif %}

Figure 15 — Sender → Pathway → Receiver Alluvial

{% if f.sankey[0] %}
Sankey
Figure 15. {{ f.sankey[1] }}
{% else %}

Figure 15 not generated.

{% endif %}

Figure 16 — Autocrine vs. Paracrine

{% if f.autocrine[0] %}
Autocrine
Figure 16. {{ f.autocrine[1] }}
{% else %}

Figure 16 not generated.

{% endif %}

Figure 17 — L-R Bipartite Network

{% if f.bipartite[0] %}
Bipartite
Figure 17. {{ f.bipartite[1] }}
{% else %}

Figure 17 not generated.

{% endif %}

Figure 27 — Pairwise Communication Asymmetry

{% if f.asymmetry[0] %}
Asymmetry
Figure 27. {{ f.asymmetry[1] }}
{% else %}

Figure 27 not generated.

{% endif %}

Figure 28 — Communication Network Communities

{% if f.communities[0] %}
Communities
Figure 28. {{ f.communities[1] }}
{% else %}

Figure 28 not generated.

{% endif %}

7. Advanced Ligand–Receptor Analyses

Figure 18 — Pathway Information Flow

{% if f.info_flow[0] %}
Info Flow
Figure 18. {{ f.info_flow[1] }}
{% else %}

Figure 18 not generated.

{% endif %}

Figure 18B — Cell-Type Pathway Communication Score Explorer

{% if f.celltype_pathway_flow.profiles %}
Figure 18B. {{ f.celltype_pathway_flow.caption }}
{% else %}

{{ f.celltype_pathway_flow.caption }}

{% endif %}

Figure 19 — Top L-R Pairs per Pathway

{% if f.lr_multiples[0] %}
LR Multiples
Figure 19. {{ f.lr_multiples[1] }}
{% else %}

Figure 19 not generated.

{% endif %}

Figure 20 — L-R Pair Specificity Heatmap

{% if f.lr_spec[0] %}
LR Specificity
Figure 20. {{ f.lr_spec[1] }}
{% else %}

Figure 20 not generated.

{% endif %}

Figure 21 — CS Distribution Violin

{% if f.cs_violin[0] %}
CS Violin
Figure 21. {{ f.cs_violin[1] }}
{% else %}

Figure 21 not generated.

{% endif %}

8. Co-occurrence & Pathway Crosstalk

Figure 29 — L-R Pair Co-occurrence (Jaccard Similarity)

{% if f.lr_cooccurrence[0] %}
LR Co-occurrence
Figure 29. {{ f.lr_cooccurrence[1] }}
{% else %}

Figure 29 not generated.

{% endif %}

Figure 30 — Pathway Crosstalk Heatmap

{% if f.pathway_crosstalk[0] %}
Pathway Crosstalk
Figure 30. {{ f.pathway_crosstalk[1] }}
{% else %}

Figure 30 not generated.

{% endif %}
{% endmacro %} {% set ri = { 'task_id': task_id, 'database_name': database_name, 'pval_threshold': pval_threshold, 'top_n_lr': top_n_lr, 'top_n_celltypes': top_n_celltypes, 'max_chords': max_chords, 'gene_sets_str': gene_sets_str, 'has_conditions': has_conditions, 'name_a': name_a, 'name_b': name_b, 'cond_a_task_id': cond_a_task_id, 'cond_b_task_id': cond_b_task_id, 'report_date': report_date, 'version': version, } %} {% for tab in tabs %}
{{ render_tab(tab, ri) }}
{% endfor %} {% if has_differential %}

CCC Condition Comparison - {{ name_a }} vs. {{ name_b }}

Statistical scope. Each condition was analysed independently by FastCCC. This page compares significant interaction counts, communication scores, and within-condition evidence across the two result sets. It does not by itself estimate a replicate-aware differential p-value.

Figure 22 — Interaction Count Comparison Heatmap

{% if diff_figs.heatmap[0] %}
Diff Heatmap
Figure 22. {{ diff_figs.heatmap[1] }}
{% else %}

Figure 22 not generated.

{% endif %}

Figure 23 — L-R Comparison Evidence Plot

{% if diff_figs.volcano[0] %}
Diff Volcano
Figure 23. {{ diff_figs.volcano[1] }}
{% else %}

Figure 23 not generated.

{% endif %}

Figure 24 — Pathway Interaction Count Comparison

{% if diff_figs.pathway[0] %}
Diff Pathway
Figure 24. {{ diff_figs.pathway[1] }}
{% else %}

Figure 24 not generated.

{% endif %}

Figure 31 — L-R Pair Stability Ranking

{% if diff_figs.stability[0] %}
LR Stability
Figure 31. {{ diff_figs.stability[1] }}
{% else %}

Figure 31 not generated.

{% endif %}
{% endif %}

Supplementary Tables (full dataset)

Table 1 — Top 50 Significant Interactions

{% for row in top_interactions %} {% endfor %}
#SenderReceiverLigandReceptor p-valuePathway
{{ loop.index }} {{ row.sender_celltype }}{{ row.receiver_celltype }} {{ row.ligand }}{{ row.receptor }} {{ "%.2e"|format(row['p-value']) }} {{ row.classification }}

Table 2 — Interaction Count per Cell-Type Pair

{% for row in ct_pair_counts %} {% endfor %}
SenderReceiverN interactions
{{ row.sender }}{{ row.receiver }}{{ row.count }}

Figure Generation Audit

Report figures are generated independently so an unsupported panel does not hide the remaining analysis. The audit below records the figure status for this HTML artifact.

{{ figure_audit.counts.generated }}Figures generated
{{ figure_audit.counts.skipped }}Panels skipped
{{ figure_audit.counts.failed }}Panels failed
{% if figure_audit.unavailable %} {% for item in figure_audit.unavailable %} {% endfor %}
ArtifactStatusReason
{{ item.artifact }}{{ item.status }}{{ item.note }}
{% else %}

All requested report panels were generated.

{% endif %}

Methods

Cell–cell communication inference. FastCCC (Hou et al., Nat. Commun. 16, 11428, 2025) was used to infer significant L-R interactions via FFT-based analytical p-values and a Cauchy combination test across 16 summary-statistic/aggregation variants. Database: {{ database_name }}. Threshold: p < 0.05.

Pathway enrichment. ORA was performed with gseapy (Fang et al., 2023) against {{ gene_sets_str }}. Fisher's exact test; Benjamini–Hochberg correction; adj. p < 0.05.

Network analyses. Directed graph built with NetworkX; betweenness centrality (weighted). Alluvial/Sankey diagrams use custom matplotlib Hermite S-curve ribbon fills.

Condition comparison. When two condition result sets are supplied, each condition has already been analysed independently. Count heatmaps and pathway panels report descriptive differences (Delta = B - A). The L-R evidence plot combines within-condition FastCCC p-values with a Cauchy transform to prioritize interactions supported in either condition and displays log2 fold-change in CS. These summaries are not a replacement for a replicate-aware between-condition differential model.

Visualisation. All figures generated with matplotlib (Hunter, 2007) and seaborn (Waskom, 2021). Saved at {{ "300" }} DPI (PNG + SVG).