关于 footprint 可视化总结

引言

之前关于下面这两篇的文章:
rgt-hint 转录因子预测结果可视化
rgt-hint 转录因子预测结果可视化(续)

在这里做一个总结, 把繁琐的地方和代码整理打包成函数, 方便大家使用和美化自己的分析结果。借助昨天的 facet_sub 来插入图形, 构建了 zoom_motif_grob 来放大 转录因子 结合的 motif 区域。
安装

install.packages(“devtools”)

devtools::install_github(“junjunlab/JunJunZai”)

or

remotes::install_github(“junjunlab/JunJunZai”)
测试

我们的目的是对 rgt-hint 输出的结果进行重新绘图, 相关推文见 ATAC-seq 数据分析实操教程:
motif 位点数据:
(base) [laojunjun@cloud 6.footprint-data]$ tree match
match
├── CTL_mpbs.bed
└── siNCoR_mpbs.bed

0 directories, 2 files
(base) [laojunjun@cloud 6.footprint-data]$
差异分析数据:
(base) [laojunjun@cloud 6.footprint-data]$ tree CTL_siNCoR -L 1
CTL_siNCoR
├── differential_factor.txt
├── differential_log2foldChange
├── differential_statistics.pdf
├── differential_statistics.txt
├── facet_own_test.R
├── Lineplots
├── panel_table.rda
├── replot_TF_diffres.R
└── zoom_motif_grob.R

1 directory, 8 files
(base) [laojunjun@cloud 6.footprint-data]$

有了这些数据, footprintPlot 函数可以绘制曲线图, 输入你想绘制的转录因子的名称, 当然这些名称在 Lineplots/ 文件夹里写的有, 返回的一个 ggplot 对象:
library(grid)
library(JunJunZai)
library(BSgenome.Hsapiens.UCSC.hg19)

footprint line plot

footprintPlot(linePath = “../CTL_siNCoR/Lineplots/”,TFname = “MA0039.4.KLF4”)

footprintPlot(linePath = “../CTL_siNCoR/Lineplots”,TFname = “MA1648.1.TCF12(var.2)”)


绘制 motif 也是类似的操作, 给转录因子名称和文件夹位置, 先提取序列然后转为 pwmMatrix对象, shift 参数指定从中间向两边拓展的区域大小:

get motif sequences

myseq <- getSeqFrombed(mbpsPath = “../match/”,
TFname = “MA0039.4.KLF4”,
genome = BSgenome.Hsapiens.UCSC.hg19)

check

head(myseq,3)

[1] “TGTCCGGCCCTTCCACCCTAGTTCTCTTCACCGTCCGCCCATCCTATCGCGCGCGGCCTCAGGTCCCCATTCGGCATGTGGCTTGTCTTCCATCGTCCCCACCCTCGCCCCTCTTGGCCCCTCAGGGCAGCCCTGGGATTCGGCAGACGCCAGTCCTCCCTGAGATGCTTCCCCGTCCTTCCCTCCGCCAGGCCCTACGT”

[2] “AGCCCCCCTGGGCCCTCCAGGACACAGCCGTGCACAGCTTGTAGGAGCCTCCCAGGCCCAACAAGCCAGGCCACCCCTGGCCCCTGGCTGCCCTGCCCCCTCCCTGAGCTCCGAGGGCCAGGCCAGTGACCCTGGGCGGGGTAGCATTGGGCTGGGGGTCCCACCCTTGGTCCCCCCAGCAGTCCTACTCTGGGGGTCCT”

[3] “ATGAAACCCTGCAGGAAAATCCAAACTCAGCCAAGGGTTCTCACCCACCCCAAGCCACGTCCCATCCAGAGCAGCTGTCAAAGGAAGCACTTGGAGACCCACCCCTGCTGGCCTCACTCTCTCCTCAGGGGAGCTCCTACCCCAACCACCCCACCCTGCTGGACCTTGGCACTGTCCACACCAGGCTGACAGTGTTCCGG”

convert to pwmMatrix

pwmmat <- seq2pwmMatrix(seqs = myseq,shift = c(-5,5))
然后使用 zoom_motif_grob 函数即可出图:

generate zoomed grobs

zgrb <- zoom_motif_grob(pwmMatrix = pwmmat)

plot

grid.newpage()
grid.draw(zgrb)

你也可以调整一下其他参数:

generate zoomed grobs

zgrb <- zoom_motif_grob(pwmMatrix = pwmmat,
rel_height = c(0.45,0.1,0.45),
link_gp_col = “black”)

plot

grid.newpage()
grid.draw(zgrb)

使用 facet_sub 插入:

combine

footprintPlot(linePath = “../CTL_siNCoR/Lineplots/”,TFname = “MA0039.4.KLF4”) +
facet_sub(position = “left”,
addGrob = gList(zgrb,rectGrob(gp = gpar(fill = “transparent”))))

可以放在上面,设置一下大小:

combine

footprintPlot(linePath = “../CTL_siNCoR/Lineplots/”,TFname = “MA0039.4.KLF4”) +
facet_sub(position = “top”,
addGrob = gList(zgrb,rectGrob(gp = gpar(fill = “transparent”))),
panelWidth = c(0.5,1))

最后我们看看原图:

结尾


路漫漫其修远兮,吾将上下而求索。
欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 (微信交流群需收取 20 元入群费用,一旦交费,拒不退还!(防止骗子和便于管理)) 。QQ 群可免费加入, 记得进群按格式修改备注哦。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/416778.html

(0)
联系我们
联系我们
分享本页
返回顶部