使用seqLogo可视化motif

2019-12-19 15:49:12 浏览数 (1)

欢迎关注”生信修炼手册”!

seqLogo是一个bioconductor上的R包,专门用于DNA序列的motif可视化,网址如下

https://www.bioconductor.org/packages/release/bioc/html/seqLogo.html

因为功能的单一性,所以其用法也特别的简单,只需要输入motif对应的PPM矩阵就可以了,下面通过一个实际例子来看下

上图为一个motif的PFM矩阵,只需要通过以下几个步骤就可以得到对应的sequence logo。

1. 读取PFM矩阵

将PFM矩阵保存在一个文件pfm.txt中,内容如下

注意PFM矩阵中规定碱基顺序为ACGT, 不能任意调换碱基的顺序。通过R语言来读取,代码如下

代码语言:javascript复制
data <- read.table("pfm.txt", header = F, sep = "t", row.names = 1)
2. 生成PPM矩阵

PPM矩阵就是将PFM矩阵中的频数转化成频率,除以每列的总和就可以了, 代码如下

代码语言:javascript复制
ppm <- sapply(1:ncol(data), function(t){ data[[t]] / sum(data[[t]]) })

ppm的内容如下

因为行的顺序统一为ACGT, 所以我们不需要设置行名称。

3. 绘图

基本用法如下

代码语言:javascript复制
p <- makePWM(ppm)
seqLogo(p)

输出结果示意如下

相比其他工具,这个R包的功能较为单一,存在无法调整配色方案等问题,但是作为一个可视化工具,其足够简单,已经能满足基本要求。

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描关注微信号,更多精彩内容等着你!

0 人点赞