Chapter 14 Building regulatory network
TOBIAS has been able to build the regulatory network of TF from the identified footprints. This is somewhat flawed due to the fact that it annotates peaks to the nearest gene. Here, we got reliable peak-gene linkages in the previous chapter. We can construct more stable regulatory networks. Simply put, if there is a TF A footprint in an open region that happens to be associated with the expression of gene B, then we consider that TF A regulates gene B.
14.1 Motif2Gene
We first need to prepare the necessary annotation files. One is a PWM file containing TF motifs. The other is the family annotation information corresponding to each TF. The following is an example of a TF family annotation file:
## Symbol Ensembl Family
## 1 ZBTB8B ENSG00000273274 ZBTB
## 2 GSX2 ENSG00000180613 Homeobox
## 3 TBX2 ENSG00000121068 T-box
## 4 PAX8 ENSG00000125618 PAX
## 5 CREB3L1 ENSG00000157613 TF_bZIP
## 6 NKX6-1 ENSG00000163623 Homeobox
library(org.Hs.eg.db)
<- getMotif2Gene(motif_file = "F:/cisDynet/example/jaspar.moitf.txt", orgdb = org.Hs.eg.db, tf_family = "F:/cisDynet/example/tf_family.txt")
motif2gene head(motif2gene)
## ENSEMBL Motif_ID Motif_Name Gene_Name Family
## 1 ENSG00000001167 MA0060.3 NFYA NFYA NF-YA
## 2 ENSG00000005102 MA0661.1 MEOX1 MEOX1 Homeobox
## 3 ENSG00000005513 MA0868.2 SOX8 SOX8 HMG
## 4 ENSG00000006194 MA0528.2 ZNF263 ZNF263 zf-C2H2
## 5 ENSG00000006377 MA0882.1 DLX6 DLX6 Homeobox
## 6 ENSG00000006468 MA0761.2 ETV1 ETV1 ETS
14.2 Building regulatory network
<- getNetwork(sample = "Bulk_B",
net tf = "TFEB_MA0692.1",
peak2gene = "F:/cisDynet/example/Peak2Gene_All_Links.rds",
p2g_cutoff = 0.6,
motif2gene = motif2gene,
targets = 1,
level = 2)
head(net)
## Source Target P2G_Correlation Motif_ID Level
## 1 TFEB TBX21 0.6410822 TBX21_MA0690.2 1
## 2 TFEB ZNF416 0.6401947 ZNF416_MA1979.1 1
## 3 TFEB MYBL2 0.8903174 MYBL2_MA0777.1 1
## 4 TFEB DBP 0.6732853 DBP_MA0639.1 1
## 5 TFEB BHLHE41 0.7490192 BHLHE41_MA0636.1 1
## 6 TFEB NR1D1 0.6404045 NR1D1_MA1531.1 1
We can visualize this network with the plotNetwork function.
plotNetwork(network = net)