作者 (author): LKP kunpeng.liao@abiosciences.com Skill 及脚本参数来源: Chen et al., 2025, Cancer Cell 43, 1656–1676, https://doi.org/10.1016/j.ccell.2025.06.020
NicheNet 配体优先级分析
预测哪些配体最可能调控接收细胞的差异表达基因(geneset),输出配体活性排名与 ligand-target 网络。
安装(Windows 不可装,WSL 运行)
# nichenetr 依赖 mlrMBO 链,Windows R 4.4 无法安装,WSL Ubuntu 运行:
Rscript -e 'install.packages("remotes"); remotes::install_github("saeyslab/nichenetr")'
# 先验数据(二选一):
# v2(默认):Zenodo 7074291 NSGA2R 矩阵(2022-12):
# nichenetr_prior/lr_network_human.rds + ligand_target_matrix_nsga2r_final.rds
# v1(论文时代):Zenodo 3260758:lr_network.rds + ligand_target_matrix.rds
1. Geneset 定义(接收细胞差异基因)
de <- FindMarkers(tumor, ident.1 = "S02_Schwann-TGFBI",
min.pct = 0.5, logfc.threshold = 0.5, only.pos = FALSE) # 双向
targets <- rownames(de)[de$p_val_adj < 0.05 & de$avg_log2FC >= 0.25]
background_expressed_genes <- intersect(rownames(tumor), rownames(ligand_target_matrix))
2. 先验加载与矩阵预处理
lr_network <- readRDS("nichenetr_prior/lr_network_human.rds")
ligand_target_matrix <- readRDS("nichenetr_prior/ligand_target_matrix_nsga2r_final.rds")
# 关键预处理:剔除全零配体列(制造 aupr 虚高,如 IGFL3 aupr=0.498)
ligand_target_matrix <- ligand_target_matrix[, colSums(ligand_target_matrix) > 0, drop = FALSE]
3. 配体活性预测(三重交集防假配体)
potential_ligands <- unique(lr_network$from) |>
intersect(colnames(ligand_target_matrix)) |>
intersect(object_genes) # 肿瘤对象中实际表达的基因
ligand_activities <- nichenetr::predict_ligand_activities(
geneset = targets,
background_expressed_genes = background_expressed_genes,
ligand_target_matrix = ligand_target_matrix,
potential_ligands = potential_ligands)
ligand_activities <- ligand_activities[is.finite(ligand_activities$aupr_corrected), ]
ligand_activities <- ligand_activities[order(-ligand_activities$aupr_corrected), ]
best_upstream_ligands <- unique(head(rownames(ligand_activities), 20)) # top20
4. Ligand-target 网络
# 每配体取 n=200 条加权链接
weighted_links <- nichenetr::get_weighted_ligand_target_links(
ligand = best_upstream_ligands, geneset = targets,
ligand_target_matrix = ligand_target_matrix, n = 200)
# 热图靶点筛选:按 20 配体平均调控潜力保留 top 50% 靶基因(论文口径)
5. 敏感性对照(结果稳健性必查)
# 多 geneset 对照:复现 DE geneset vs 作者 Table marker geneset
# (例如 74 基因 vs 77 marker,交集 64)
# 追踪关键配体排名(如 TGFB1/HGF)在 {geneset} × {v1/v2 先验} 组合下的变化
# v2+复现geneset:TGFB1 排 16-17/1194、HGF 排 815-816
# v2+作者marker:HGF rank 2、TGFB1 rank 11 —— 与论文一致
常见坑
- 全零配体列必须剔除:否则 aupr_corrected 虚高污染排名
- potential_ligands 三重交集:不去重/不交矩阵列/不交表达基因会引入大量假配体
- aupr_corrected 排序:用
order(-aupr_corrected),先过滤is.finite - 背景基因集影响排名:background = 对象表达 ∩ 矩阵行名
- 结论必须敏感性检验:单一 geneset 的 top 配体不稳定,报告时注明 geneset 与先验版本
微信扫一扫