NicheNet配受体分析从入门到实战 - 第1节
NicheNet 简介:配受体分析在细胞通讯中的作用
细胞通讯,说白了就是细胞之间互相“递话”。你想想看,肿瘤微环境里免疫细胞和肿瘤细胞怎么勾搭的?发育过程中信号如何层层传递?这些都是依靠配体-受体机制完成的。
配受体分析不是什么新概念,但之前大家做得比较粗糙——简单统计一下哪些配体受体对在两组细胞中高表达,然后画个圈就完事。但这样会漏掉最关键的信息:配体结合受体之后,到底激活了哪些下游基因? 我在做肿瘤免疫项目时就被坑过一次:只靠配受体对的表达量选了三个候选配体,结果实验验证全军覆没——因为受体虽然表达了,但下游信号通路根本没走通。
NicheNet 就是来补这个缺的。 它由 GIGA 实验室开发,2019 年发表在 Nature Methods。核心思路很简单:利用现有的公共数据库(如 KEGG、Reactome、STRING)把配体-受体互作和下游靶基因关系全部灌进去,然后根据你的单细胞数据,预测哪个配体最有可能激活特定的基因程序。
一句话总结: NicheNet 不只是告诉你“配体 A 可以和受体 B 结合”,而是告诉你“配体 A 在细胞类型 C 上,最可能引起哪一组靶基因变化”。
为什么我们需要配受体分析?
单细胞测序技术现在普及了,能拿到成百上千个细胞类型。但光知道“细胞 A 和细胞 B 挨在一起”没用,得搞清楚它们之间到底在传什么信号。配受体分析就是干这个的。我在一个胚胎发育项目里,靠简单的组间差异基因筛选,根本解释不了为什么某些祖细胞会在特定时间点集体分化——后来用 NicheNet 发现是旁分泌的 FGF 配体在起作用,模型和实验吻合得非常好。
NicheNet 能做什么?
- 输入: 单细胞表达矩阵(基因×细胞),以及细胞类型注释。
- 中间模型: 预构建的配体-受体互作 + 下游靶基因调控网络(来自文献挖掘和数据库)。
- 输出:
- 每个配体对指定细胞群的“活性评分”(Likelihood Ratio)。
- 最可能的下游靶基因列表。
- 配体-受体-靶基因三元组交互网络。
我的习惯: 新手可以先跑 NicheNet 的默认模版(比如人类 PBMC 示例数据),10 分钟就能出结果,看看配体排名热图和靶基因富集,快速感受一下这个工具的用途。
NicheNet 与其他工具的对比与选择
市面上的细胞通讯分析工具一把抓,CellChat、iTALK、SingleCellSignalR、scDiffCom 等等。初学者容易挑花眼。我自己全用了一遍,下面这张表直接告诉你它们的核心差异。
| 工具 | 核心原理 | 输入要求 | 特色输出 | 适用场景 |
|---|---|---|---|---|
| NicheNet | 配体-受体-靶基因三重网络 + 概率模型 | 单细胞表达矩阵 + 细胞类型 | 配体活性评分、下游靶基因预测 | 想知道“某个配体是否驱动特定细胞状态变化” |
| CellChat | 配体-受体对统计 + 社交网络分析 | 单细胞表达矩阵 + 细胞类型 | 通讯网络中心性分析、信息流图 | 宏观通讯模式比较、细胞类型间互作强度 |
| iTALK | 双细胞类型差异表达 + 配体-受体对富集 | 单细胞表达矩阵 + 细胞类型 | 配体-受体对表格、差异表达统计 | 快速筛选差异通讯对,不需要下游靶基因 |
| SingleCellSignalR | 配体-受体对 + 评分加自研数据库 | 单细胞表达矩阵 | 配体-受体网络、细胞间关系热图 | 有自带网页工具,适合不写代码的研究者 |
我该如何选择?
先问自己三个问题:
- 你想不想看下游信号? 如果你只想知道“细胞 A 和 B 是否存在通迅”,iTALK 或 CellChat 就够了。但若需要推测哪个配体最可能改变了细胞 C 的基因表达程序,NicheNet 是唯一能给出配体→靶基因关系链的工具。
- 数据规模多大? 几万细胞?CellChat 的随机游走算法比较吃内存。我有次跑 10 万细胞的肺癌数据集,CellChat 直接崩了,换 NicheNet 加上稀疏矩阵处理反而更快。
- 你要讲故事还是挖机制? 做综述性的通讯图谱,CellChat 的社交网络图好看。但如果要发大文章,需要实验验证的靶基因,NicheNet 的预测列表可直接用于 qPCR 或 CRISPR 验证。
我曾经踩过的坑: 不要迷信单一工具。NicheNet 的配体数据库偏重人类和小鼠,如果你做斑马鱼或植物,很多配体-受体对根本匹配不上。我有个学生做拟南芥,拿着 NicheNet 跑了半天,结果完全是空的——后来改用 iTALK 自己配数据库才解决。所以先看看你的物种在不在官方支持的列表里。
我的建议(仅供参考): 对于标准的人类/小鼠单细胞转录组分析,我个人习惯先用 NicheNet 做一轮配体活性扫描,再用 CellChat 可视化通讯网络,两个工具互补。不要只选一个。
快速上手:安装 NicheNet
R 包安装非常简单,一行命令。注意需要预先安装 devtools。
install.packages("devtools")
devtools::install_github("saeyslab/nichenetr")
# 加载
library(nichenetr)
# 查看内置示例数据
data("nichenetr_expression")
head(example_expression_matrix)
跑完安装后的第一步:加载内置的配体-受体网络和靶基因数据。
data("lr_network")
data("ligand_target_matrix")
dim(lr_network) # 看一下配体-受体对数量
dim(ligand_target_matrix) # 配体 x 靶基因矩阵