返回分析流程中心

Pipeline Detail

Regulatory Network机制解释与多组学调控

转录因子调控网络分析

从 RNA-seq、WGCNA 或单细胞结果中推断关键转录因子和 TF-target 网络,整合 DoRothEA/VIPER、ChEA3、TRRUST、motif 和表达相关性证据。

创建时间
2026/6/3
分析难度
入门
推荐场景
调控网络
预计耗时
0.5-1 天

Metadata

流程元数据

先看应用场景、输入输出和工具依赖,再进入正文命令细节。

Difficulty

入门

Scenario

调控网络

Estimated Time

0.5-1 天

Tools

WGCNADoRothEAVIPERChEA3

Outputs

report

Workflow DAG

流程图

用步骤节点快速理解这个分析从原始数据到结果报告的流转关系。

STEP 1

项目目录与输入基因集

STEP 2

构建表达 signature

STEP 3

DoRothEA/VIPER TF 活性

STEP 4

ChEA3/TRRUST TF 富集

STEP 5

motif 支持证据

STEP 6

TF-target 网络

STEP 7

关键 TF 排序

STEP 8

调控机制报告

Protocol

流程文档

正文保留 Markdown 排版、代码语言标识和表格样式,适合边学边复现。

转录因子调控网络分析

一、项目目录

mkdir -p tf_network_project/{00_input,01_signature,02_tf_activity,03_tf_enrichment,04_motif,05_network,report}
tf_network_project/
├── 00_input/
│   ├── deg_table.csv
│   ├── expression_matrix.csv
│   └── target_gene_set.txt
├── 01_signature/
├── 02_tf_activity/
├── 03_tf_enrichment/
├── 04_motif/
├── 05_network/
└── report/

二、示例数据

00_input/deg_table.csv

gene_symbol,log2FoldChange,padj
IL6,2.4,0.00001
CXCL8,2.1,0.0002
NFKBIA,1.8,0.0003
JUN,1.5,0.001
FOS,1.3,0.002

三、整体流程图

flowchart TD
    A[DEG / WGCNA module / scRNA marker] --> B[ranked gene signature]
    B --> C[DoRothEA + VIPER TF activity]
    B --> D[ChEA3 / TRRUST TF enrichment]
    B --> E[motif enrichment]
    C --> F[integrated TF ranking]
    D --> F
    E --> F
    F --> G[TF-target network]
    G --> H[核心 TF 机制解释]

四、构建 ranked signature

library(tidyverse)

deg <- read.csv("00_input/deg_table.csv")

signature <- deg |>
  filter(!is.na(padj)) |>
  mutate(score = sign(log2FoldChange) * -log10(padj)) |>
  arrange(desc(score))

write.csv(signature, "01_signature/ranked_signature.csv", row.names = FALSE)

五、DoRothEA + VIPER 推断 TF 活性

library(dorothea)
library(viper)
library(tidyverse)

expr <- read.csv("00_input/expression_matrix.csv", row.names = 1, check.names = FALSE)

data(dorothea_hs, package = "dorothea")
regulons <- dorothea_hs |>
  filter(confidence %in% c("A", "B", "C"))

regulon_list <- df2regulon(regulons)
tf_activity <- viper(as.matrix(expr), regulon_list, verbose = FALSE)

write.csv(tf_activity, "02_tf_activity/viper_tf_activity.csv")

解释:

TF 自身表达不一定改变,但它的 target genes 可以整体上调或下调。
VIPER/DoRothEA 关注的是 regulon 活性,而不是只看 TF mRNA。

六、ChEA3/TRRUST 富集思路

输入上调基因和下调基因分别进行 TF enrichment。

up_genes <- deg |>
  filter(log2FoldChange > 1, padj < 0.05) |>
  pull(gene_symbol)

down_genes <- deg |>
  filter(log2FoldChange < -1, padj < 0.05) |>
  pull(gene_symbol)

writeLines(up_genes, "03_tf_enrichment/up_genes.txt")
writeLines(down_genes, "03_tf_enrichment/down_genes.txt")

可将基因列表提交至 ChEA3,或用 TRRUST/Enrichr API 获取候选 TF。

七、整合多个证据排序 TF

tf_viper <- read.csv("02_tf_activity/viper_tf_activity.csv", row.names = 1)
motif <- read.csv("04_motif/motif_results.csv")
chea3 <- read.csv("03_tf_enrichment/chea3_results.csv")

tf_rank <- chea3 |>
  transmute(tf = TF, chea3_rank = Rank) |>
  left_join(motif |> transmute(tf = MotifTF, motif_qvalue = qvalue), by = "tf") |>
  left_join(deg |> transmute(tf = gene_symbol, tf_log2FC = log2FoldChange, tf_padj = padj), by = "tf") |>
  mutate(
    evidence_score =
      -log10(motif_qvalue + 1e-300) +
      ifelse(!is.na(tf_padj), -log10(tf_padj + 1e-300), 0) +
      abs(tf_log2FC)
  ) |>
  arrange(desc(evidence_score))

write.csv(tf_rank, "05_network/integrated_tf_ranking.csv", row.names = FALSE)

八、TF-target 网络

library(igraph)

edges <- regulons |>
  filter(tf %in% head(tf_rank$tf, 10)) |>
  select(from = tf, to = target, mor)

g <- graph_from_data_frame(edges, directed = TRUE)
write_graph(g, "05_network/tf_target_network.graphml", format = "graphml")

图例解释:

元素含义
TF 节点候选调控因子
target 节点被调控基因
红色边激活关系
蓝色边抑制关系
节点大小DEG 显著性或网络度

九、结果解释示例

NF-kB regulon 活性在处理组升高,NFKBIA、IL6、CXCL8 等 target genes 同时上调。
ChEA3 和 motif 富集也支持 RELA/NFKB1。
因此可以提出处理激活 NF-kB 炎症调控网络的假设。

十、交付物

  • ranked gene signature
  • TF activity matrix
  • TF enrichment results
  • motif enrichment results
  • integrated TF ranking
  • TF-target network graphml
  • top TF 机制解释表