Codar
下载

单细胞细胞通讯分析(CellChat、LIANA)

细胞通讯分析利用单细胞转录组中配体、受体及其辅助亚基的表达,推断哪些细胞类型之间可能在传递信号、走哪条通路。基本逻辑是:发送细胞表达配体,接收细胞表达对应受体,两者表达越高、越特异,打分越高。常用工具有 CellChat(R,按通路汇总,组间比较作图完整)、CellPhoneDB(Python,置换检验判断特异性)、LIANA(整合多种打分方法,给出共识排名)和 NicheNet(预测配体对下游靶基因的影响)。典型输入是已完成质控、聚类和注释的单细胞数据,常见于肿瘤微环境、免疫应答和发育研究。结果是有表达基础的候选相互作用,用于提出假设和挑选验证对象。

什么时候用

  • 在肿瘤微环境中寻找肿瘤细胞与 T 细胞、巨噬细胞之间的候选检查点或趋化因子信号
  • 比较处理组与对照组,找出增强或减弱的信号通路,如 TGF-β、CXCL、MIF
  • 在发育或再生过程中筛选可能驱动某类细胞分化的旁分泌信号
  • 差异分析提示某配体上调,想知道它可能作用于哪些细胞群
  • 为空间转录组、共培养或阻断实验挑选优先验证的配体-受体对

不适合的情况

  • 细胞注释尚未稳定,或关键细胞群在某组只有十几个细胞
  • 想证明两类细胞确实发生接触或下游信号已被激活,表达推断只能提供假设
  • 只有 bulk RNA-seq,无法区分配体和受体分别来自哪类细胞

需要准备的数据

标准化表达矩阵
使用对数标准化后的表达值(如 Seurat 的 data 层),不要用 scale 后的数据;行为基因名,列为细胞。
细胞类型标签
每个细胞一个最终注释,不建议直接用聚类编号;组间比较时两组需使用同一套细胞类型名称。
样本与分组信息
样本 ID 和组别。组间比较通常按组分别建对象,并保留样本 ID 以便逐样本检查一致性。
配体-受体数据库
按物种选择,如 CellChatDB.human 或 CellChatDB.mouse;基因命名方式(大小写、别名)需与表达矩阵一致。

分析步骤

  1. 1

    核对注释与细胞数

    按组统计每类细胞数量,过少的类别考虑合并或剔除,并确认注释粒度符合研究问题。例如关心 M1/M2 样巨噬细胞就不能只标成「髓系」。做对的标志是每个保留的细胞群在每组都有足够细胞。

  2. 2

    选择数据库范围

    可用全库,也可只取分泌信号、细胞外基质-受体或细胞接触类相互作用。建对象后检查数据库基因在表达矩阵中的匹配数量,匹配很少通常意味着物种选错或基因名格式不一致。

  3. 3

    筛选高表达配体受体

    CellChat 中依次运行 identifyOverExpressedGenes 和 identifyOverExpressedInteractions,只保留至少在某个细胞群中高表达的配体和受体,减少低表达噪音对后续打分的干扰。

  4. 4

    计算通讯概率

    computeCommunProb 根据各细胞群的平均表达计算每对细胞群在每个配体-受体对上的通讯概率,并用置换检验得到 P 值。默认的 triMean 较保守,结果少而稳。

  5. 5

    过滤并汇总到通路

    filterCommunication 去掉细胞数过少群体的结果,教程中常设 min.cells = 10;computeCommunProbPathway 把配体-受体对汇总到信号通路,aggregateNet 得到细胞群之间的互作次数和强度矩阵。

  6. 6

    可视化与角色分析

    用圈图、热图和气泡图展示互作;netAnalysis_computeCentrality 计算每个细胞群在各通路中作为发送者、接收者、中介者的得分;identifyCommunicationPatterns 用非负矩阵分解归纳主要的输出和输入模式。

  7. 7

    组间比较

    两组对象细胞类型一致后用 mergeCellChat 合并;compareInteractions 比较互作总数和强度,rankNet 比较各通路的信息流,气泡图查看具体配体-受体对的升降。细胞类型不完全相同时先用 liftCellChat 对齐。

  8. 8

    交叉验证

    用 LIANA 多方法共识或 CellPhoneDB 复核关键配对;回到原始数据看配体、受体在对应细胞群中的表达比例;有空间数据时检查发送和接收细胞是否邻近。多种证据一致的配对才适合进入实验验证。

关键参数与决策

平均表达计算方式(type)

CellChat 默认 triMean,基因在一个细胞群中表达比例低于约 25% 时平均值为 0,结果偏保守。想保留低丰度配体(如部分细胞因子)可改为 truncatedMean 并设 trim = 0.1,但假阳性会增加。

是否考虑细胞群大小(population.size)

未经分选的组织样本中,细胞比例本身有生物学意义,可设为 TRUE,让丰度高的群体权重更大;经过分选或富集的样本比例失真,应设为 FALSE。

最小细胞数(min.cells)

过滤掉细胞数低于阈值的群体的通讯结果。阈值太低,小群体的平均表达受个别细胞影响大;太高则丢失稀有细胞。可先看各群细胞数分布再定。

数据库类别

研究旁分泌因子时取分泌信号子集可减少噪音;研究免疫突触、检查点时需保留细胞接触类。报告中应写明用了哪个子集,否则结果难以复现。

LIANA 排名指标

liana-py 的 rank_aggregate 同时给出 magnitude_rank(表达强度)和 specificity_rank(特异性)。优先选两项都靠前的配对;只按其中一项筛选会偏向高表达管家型配体或低表达特异配对。

常见错误

  • 把 scale.data 或 SCT 残差当作输入:中心化后出现负值,平均表达和通讯概率失去意义,应使用对数标准化后的数据。
  • 直接比较两组的互作总数并下结论:细胞数、测序深度、注释粒度不同都会改变总数,应结合通路信息流和具体配对变化来解释。
  • 小鼠数据误用人类数据库或基因名大小写不一致:大量配体受体匹配不上,结果偏少且偏向少数通路,建对象后要先检查匹配基因数。
  • 把多个样本合并成一组后只算一次:个别样本的极端表达可能驱动整组结论,有条件时应逐样本计算,看结论是否在多数样本中成立。
  • 只凭圈图下结论:圈图突出总量,容易被细胞数多的群体主导;应同时看气泡图中的具体配对和配体、受体的表达比例。
  • 把通讯概率写成「信号强度」或「激活」:它只由 mRNA 表达计算,没有考虑蛋白水平、分泌和空间距离,论文中应表述为推断的潜在相互作用。

结果怎么看

细胞群互作圈图与热图

边的粗细或格子颜色代表互作次数或强度,用来看谁是主要发送者和接收者。如果几乎所有细胞群互相强连接且差别不大,常见原因是阈值过松或注释过粗。

配体-受体气泡图

CellChat 中颜色表示通讯概率,点大小表示 P 值。看某一对细胞群之间排名靠前的配对,组间比较时能直接看到升降。只在单一细胞群出现、且受体表达比例很低的配对需谨慎。

信号角色图

散点图或热图展示每个细胞群在各通路中的出向和入向强度。可用于说明某细胞群主要在发送还是接收某类信号;如果与已知生物学明显矛盾,先回头检查注释和细胞数。

通路信息流对比图

rankNet 生成的条形图列出各通路在两组中的总信息流及相对比例。关注两组差别大且绝对值不低的通路;两组都接近零的通路即使比例差异大,生物学意义也有限。

和相近方法怎么选

CellChat 与 CellPhoneDB

两者都基于配体受体表达并考虑多亚基复合物。CellChat 额外建模了激动剂、拮抗剂和辅助受体,按通路汇总并内置组间比较作图;CellPhoneDB 以置换检验判断特异性,输出表格更直接。需要通路层面叙事选 CellChat,想要简洁的显著配对列表可用 CellPhoneDB。

LIANA 与单一工具

不同方法和数据库的结果重叠度往往不高。LIANA 在同一输入上同时运行多种打分方法并做排名聚合,适合作为稳健性检查或筛选候选。单一工具的可视化和解读更成熟,常见做法是用 LIANA 筛选、用 CellChat 作图。

配体-受体打分与 NicheNet

配体-受体打分只看配体和受体是否都有表达;NicheNet 进一步利用先验调控网络,评估某配体能否解释接收细胞中的差异基因。已有接收细胞的差异基因集、想知道哪个上游配体可能驱动这些变化时,NicheNet 更合适。

常见问题

CellChat 输入应该用 counts 还是标准化数据?

用对数标准化后的数据,例如 Seurat 对象的 data 层。原始 counts 未校正测序深度,scale.data 有负值,都不合适。如果用的是 SCTransform 流程,取 SCT assay 的 data 层,而不是残差。

CellChat 怎么做两组比较?

两组分别创建对象并跑完完整流程,确认细胞类型集合一致后 mergeCellChat。先用 compareInteractions 看整体次数和强度,再用 rankNet 看哪些通路变化,最后用气泡图定位具体配体-受体对。细胞类型不一致时用 liftCellChat 对齐。

结果有几百个配对,怎么挑选去验证?

优先选同时满足以下条件的:在多个工具或 LIANA 共识中排名靠前,配体和受体在对应细胞群中表达比例都不低,在多数样本中方向一致,并且与差异表达结果或已知生物学相互印证。有空间数据时再加上邻近性证据。

CellChat 和 CellPhoneDB 结果不一致正常吗?

正常。两者数据库收录不同,平均表达和显著性的计算方式也不同,独立评测中各方法结果重叠有限。应把一致的配对作为高可信结果,不一致的配对回到表达数据逐个核查,而不是挑选有利的那一个工具。

细胞通讯分析需要多少细胞?

没有统一硬门槛。关键是每个参与分析的细胞群在每组中有足够细胞,使平均表达稳定;教程中常把少于 10 个细胞的群体结果过滤掉。稀有群体的结果应结合样本间一致性谨慎解读。

在 Codar 里怎么做

在 Codar 里说明单细胞数据的位置(如本地 Seurat 对象或 h5ad 文件)、注释所在的列和要比较的分组。Codar 会先确认分析方案,包括物种对应的配体-受体数据库、纳入哪些细胞群、是否做组间比较,再运行单细胞细胞通讯分析,交付细胞群互作网络图、配体-受体气泡图、通路角色图、显著配对统计表,以及分析报告和可复现脚本。

可以这样提问
我有一个已注释的小鼠肿瘤单细胞 Seurat 对象,想比较抗 PD-1 治疗组和对照组里巨噬细胞与 CD8 T 细胞之间的通讯变化。
了解单细胞与虚拟细胞插件