细胞间通讯分析 CellChat
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-ekt13cme/singlecell-cellchat。
技能介绍
解决的问题
单细胞测序数据中的细胞间通讯分析常面临配体-受体(ligand-receptor, LR)对数量庞大、单对分析难以揭示系统级通讯规律的问题。传统方法聚焦单个 LR 对的差异,而实际生物学过程中信号通路层面的协同作用更关键。此外,不同实验条件(如正常 vs 疾病)的通讯差异比较、空间转录组中的通讯距离效应等需求,也需要专门工具支持。
核心能力与工作流
- 信号通路层级聚合:将 LR 相互作用按信号通路分类,生成通路层面的通讯概率数组(
cellchat@netP$prob)与细胞群间通讯强度矩阵(cellchat@net$weight),避免单对 LR 的碎片化分析 - 双条件差异通讯:通过
mergeCellChat()合并两个数据集对象,使用compareInteractions()、netVisual_diffInteraction()比较通讯差异,并支持基于 DEG 的上下调 LR 分析(net.up/net.down) - 空间通讯分析:Visium 等 spot 级数据设置
distance.use = TRUE、interaction.range = 250(微米)考虑分泌型信号扩散;单细胞分辨率空间数据推荐 SpatialCellChat,contact.range约 10 微米处理接触依赖型通讯
工作流关键步骤:
- 确认物种(
CellChatDB.human或CellChatDB.mouse)、Seurat 版本(v4 / v5)、分析类型(单数据集或双条件比较)与数据类型(普通单细胞或空间转录组) - 从
RNA或SCTassay 构建 CellChat 对象,避免使用integrated - 预处理必须运行
subsetData()与identifyOverExpressedGenes() - 推断通讯概率:
computeCommunProbPathway()聚合通路,aggregateNet()生成通讯矩阵 - 系统分析:
netAnalysis_signaling_role()识别发送者 / 接收者等角色,identifyCommunicationPatterns()进行 NMF 通讯模式识别 - 可视化:热图(
netVisual_heatmap())、气泡图(netVisual_bubble())、通路特定网络(circle / chord plot)
适用边界与注意点
- 数据库选择:默认
subsetDB(CellChatDB)排除非蛋白信号,避免基于估计表达的不可靠结果 - Seurat 版本适配:v5 使用
seurat_obj[["RNA"]]$data,v4 使用@data语法 - 空间数据要求:metadata 必须包含
samples列(即使单样本);接触依赖型分析的contact.range需匹配数据分辨率 - 模式识别限制:NMF 分析要求不同数据集具有相同细胞类型组成,否则需使用
liftCellChat()转换 - 概率推断参数:
triMean较保守,可能过滤低表达信号;truncatedMean配合trim = 0.1更适合找回潜在生物学意义的通路 - 版本兼容性:旧 CellChat 对象需更新至 v2 / v3 格式,单细胞分辨率空间通讯建议使用独立的 SpatialCellChat 包
核心价值在于将碎片化的 LR 对分析转化为通路级别的系统通讯视图,覆盖从单数据集分析到双条件差异与空间通讯的完整流程。
使用场景
- 拿到两份 Seurat 对象,想比较疾病组和对照组在信号通路层面的通讯差异,找出增强或减弱的通路
- 分析 Visium 空间数据时,想考虑细胞间距离衰减,推断分泌型和接触依赖型通讯的作用范围
- 单细胞数据中已聚类出多个细胞群,想计算各细胞群作为发送者或接收者的通讯角色并可视化
- 想用 NMF 识别多个样本共享的通讯模式,展示细胞群、信号通路与通讯模式之间的关系
适合人员
- 正在处理单细胞测序数据、需要解释细胞群间通讯通路的生物信息工程师
- 需要比较疾病与正常样本差异通讯、并输出通路图和气泡图的研究生
- 负责空间转录组研究、要评估分泌型与接触依赖型信号范围的计算生物学研究员
- 需要把 CellChat 分析流程整合进 R/Seurat 分析管线、确保结果可复现的技术分析人员