motifStack | 绘制motif序列结构图
时间:2022-07-23
本文章向大家介绍motifStack | 绘制motif序列结构图,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我们在日常分析中,有时会比较不同物种间motif序列结构的保守性。今天小编教大家使用R包“ motifStack ”绘制美观的motif序列结构图!
## 安装R包
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("motifStack")
安装好R包后,我们就可以准备输入文件啦~
比如我想绘制拟南芥中HSF结合的motif结构。在JASPAR 数据库中(http://jaspar.genereg.net/)搜索“HSF”。
找到自己感兴趣的motif,点击ID号。
下载 JASPAR 格式的矩阵。
下载完成后我们需要将它处理成以下格式(空格分隔),并命名为"motif_ID.pcm"。
如果想展示自己鉴定的motif序列结构的话,可以使用小编写的脚本
(https://github.com/biozhp/motifStack_input),点击“ 阅读原文 ”即可下载。
使用脚本前需要准备两个输入文件:
输入文件一:motif序列(第一列为ID,第二列为序列,Tab分隔)。
输入文件二:motif ID。
## 输入motif序列, motif ID及输出文件位置
sh ./run.sh motif.seq motif.id out_path
执行完脚本后即可获得矩阵文件,绘制motif序列结构图。
## 加载R包
library("motifStack")
## 导入motif文件
pcm <- read.table("input.pcm")
## 生成motif矩阵
pcm <- pcm[,3:ncol(pcm)]
rownames(pcm) <- c("A","C","G","T")
motif <- new("pcm", mat=as.matrix(pcm), name="bin_SOLEXA")
## 生成图形
plot(motif)
如果你想绘制多个motif的序列图,可以将所有的motif矩阵文件放入一个文件夹中。
## 导入motif文件
motifs<-importMatrix(dir(path ="your_folder_name", full.names = TRUE))
## 生成图形
motifStack(motifs, layout="stack", ncex=1.0)
## 添加树状图
motifStack(motifs, layout="tree")
除了绘制这些图,我们还可以用“ motifStack ”绘制多种多样的motif序列结构图。
这篇文章只是抛砖引玉,剩下的就要靠大家按照自己的需求参考Manual去实现啦~
参考资料:
http://www.bioconductor.org/packages/release/bioc/vignettes/motifStack/inst/doc/motifStack_HTML.html
- Maven构建项目速度太慢的解决办法
- 分析函数之窗口子句(r4笔记第3天)
- node模块加载层级优化
- 使用ajax方法实现form表单的提交
- 翻译:如何使用CSS实现多行文本的省略号显示
- node中子进程同步输出
- Java开源博客My-Blog之docker容器组件化修改
- 几个行列转换的实用小例子(r4笔记第2天)
- History API与浏览器历史堆栈管理
- node中创建服务进程
- 数据挖掘工程师:如何通过百度地图API抓取建筑物周边位置、房价信息
- crontab导致CPU异常的问题分析及处理(r3笔记第100天)
- 短信接口被恶意调用(二)肉搏战-阻止恶意请求
- 关于首屏时间采集自动化的解决方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法