欢迎关注”生信修炼手册”!
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语言来读取,代码如下
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·
—如果喜欢,快分享给你的朋友们吧—
扫描关注微信号,更多精彩内容等着你!