引言
之前关于下面这两篇的文章:
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