This skill infers cell-cell communication from spatial transcriptomics data by scoring ligand-receptor co-expression between sender and receiver cell types against a permutation null. Its core job is decision-making, not recipe-running: choosing a method by whether spatial distance is actually modeled (squidpy ligrec is space-blind, COMMOT is distance-aware, stLearn and CellChat-spatial sit between), choosing the ligand-receptor database deliberately because it drives the result as much as the algorithm, guarding against segmentation spillover that fabricates short-range hits, and treating every call as a co-expression hypothesis on a confidence ladder rather than as validated signaling.
pip install squidpy scanpy anndata statsmodels matplotlib
pip install commot # distance-aware optimal-transport inference
# CellChat v2 (spatial) and NicheNet are R/Bioconductor packages
Tell your AI agent what you want to do: - "Map cell-cell communication in my Visium data and tell me which calls are spatially supported" - "Run ligand-receptor analysis but treat the hits as hypotheses, not signaling" - "Use a distance-aware method so adjacency is actually modeled" - "Check whether a short-range interaction is just segmentation spillover"
"I have Xenium data -- pick a communication method that actually models spatial distance and explain why squidpy ligrec alone is not spatial."
"Run COMMOT on my spatial data and set the signaling range correctly for a secreted chemokine versus a contact-dependent Notch pair."
"Run ligand-receptor analysis and correct for multiple testing across all pair and cell-type-pair combinations."
"Rank the communication hits as hypotheses and tell me what evidence would move each up the confidence ladder."
"A T-cell-to-macrophage interaction came up at their shared boundary -- check whether this is transcript spillover from imperfect segmentation."
"My 300-gene panel returned no communication -- is that a real negative or a panel limitation?"
ligrec is space-blind by default (it permutes cluster labels). Do not present it as spatial communication; use COMMOT or stLearn for distance-modeled inference.threshold in sq.gr.ligrec is the expression-fraction floor, not a p-value cutoff.