BioF3 FigCode · SCI 绘图代码集

TF 活性热图(SCENIC Regulon Heatmap)

导出日期:2026年6月27日

分类:聚类可视化 | 依赖包:ComplexHeatmap、circlize

解决的生物学问题

每个 cluster 的细胞身份由哪些 TF 主导?驱动这些细胞类型的"主控调控子"是谁?

应用场景

输入数据格式

SCENIC AUCell 矩阵:行 = regulons (TF),列 = 细胞

关键参数

快速开始

1. 直接在线运行

打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。

2. 本地复现

下载脚本和示例数据,本地 RStudio 运行:

# 下载
curl -O https://<your-site>/figcode/scripts/scenic-regulon.R
curl -O https://<your-site>/figcode/data/scenic-regulon.csv

3. 安装依赖

# CRAN 包
install.packages(c("ComplexHeatmap", "circlize"))

# Bioconductor 包(如需)
# BiocManager::install(c())

完整代码

library(ComplexHeatmap)
library(circlize)

# --- Demo: 简化版(实际使用要先跑完 SCENIC pipeline 拿 AUCell 矩阵) ---
set.seed(42)
n_tf <- 30
n_cluster <- 6
TFs <- paste0(c("CEBPA","SPI1","GATA1","KLF4","IRF8","HOXA9",
                "TAL1","RUNX1","FOXP3","RORC","TBX21","BATF",
                "MYB","JUNB","STAT1","STAT3","NF","RELA",
                "PRDM1","XBP1","BACH2","MAFB","ETS1","CIITA",
                "EOMES","TCF7","BCL6","IRF4","ID2","TFEB"))
clusters <- paste0("C", 1:n_cluster)

# Simulate cluster-specific TF activity
auc_mat <- matrix(rnorm(n_tf * n_cluster, 0, 0.3), nrow = n_tf,
                  dimnames = list(TFs, clusters))
# Inject specificity: each cluster has 3-4 active TFs
for (i in 1:n_cluster) {
  active_tf <- sample(1:n_tf, 4)
  auc_mat[active_tf, i] <- auc_mat[active_tf, i] + 1.5
}

# --- Heatmap ---
col_fun <- colorRamp2(c(-1, 0, 2), c("#2563eb", "white", "#dc2626"))
Heatmap(
  auc_mat,
  name = "AUCell\nactivity",
  col = col_fun,
  show_row_dend = FALSE,
  cluster_columns = TRUE,
  row_names_gp = grid::gpar(fontsize = 9),
  column_names_gp = grid::gpar(fontsize = 11),
  column_title = "Regulon Activity per Cluster",
  rect_gp = grid::gpar(col = "white", lwd = 0.5)
)

替换为自己的数据

脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:

延伸阅读