欢迎关注”生信修炼手册”!
ggseqlogo是一个motif可视化的R包,可以看做是seqLogo的加强版。除了基本的创建sequence logo的功能,新增了许多自定义的选项,灵活性更强,项目网址如下
https://omarwagih.github.io/ggseqlogo/
接受两种格式的motif信息,第一种为序列数据,以下图为例
在R中的表示方式如下
代码语言:javascript复制motif_seq <- c(
"CCCATTGTTCTC",
"TTTCTGGTTCTC",
"TCAATTGTTTAG",
"CTCATTGTTGTC",
"TCCATTGTTCTC",
"CCTATTGTTCTC",
"TCCATTGTTCGT",
"CCAATTGTTTTG"
)
第二种为motif的PFM矩阵,以下图为例
在R中的表示方式如下
代码语言:javascript复制motif_pfm <- rbind(
c(0, 0, 2, 7, 0, 0, 0, 0, 0, 0, 1, 0),
c(4, 6, 4, 1, 0, 0, 0, 0, 0, 5, 0, 5),
c(0, 0, 0, 0, 0, 1, 8, 0, 0, 1, 1, 2),
c(4, 2, 2, 0, 8, 7, 0, 8, 8, 2, 6, 1)
)
rownames(motif_pfm) <- c("A", "C", "G", "T")
准备好任意一种符合格式的输入文件之后,就可以进行可视化了。对于序列格式的信息,绘图方式如下
代码语言:javascript复制ggseqlogo(motif_seq)
输出结果如下
对于PFM矩阵,绘图方式如下
代码语言:javascript复制ggseqlogo(motif_pfm)
输出结果如下
以上只是ggseqlogo的基本用法,除此之外,还有以下几种额外功能
1. 调整配色方案
和webLogo类似,针对核酸和蛋白序列,内置了多种配色方案。对于DNA和RNA序列,支持以下两种配色防范
- nucleotide
- base_pairing
对于蛋白质序列,支持以下几种配色方案
- chemistry
- hydrophobicity
- clustalx
- taylor
默认情况下会自动根据输入的序列类型自动匹配配色方案,可以通过col_scheme
强制指定,用法如下
ggseqlogo(motif_pfm, col_scheme='base_pairing')
输出结果示意如下
还支持自定义配色方案,具体细节请参考官方文档。
2. 绘制多个sequence logo
当有多个motif信息时,支持一键绘制多个motif的sequence logo, 用法如下
代码语言:javascript复制motif_list <- list(
"A"=motif_pfm,
"B"=motif_pfm,
"C"=motif_pfm,
"D"=motif_pfm)
ggseqlogo(motif_list,ncol = 2)
将多个motif信息存储在list
中,直接操作这个list对象即可,输出结果如下
除了这些功能外,还提供了自定义字符集,字符高度,字体等各种功能,更多用法与细节请参阅帮助文档。
·end·
—如果喜欢,快分享给你的朋友们吧—
扫描关注微信号,更多精彩内容等着你!