homer进行motif分析 ChIP-seq
【怪毛匠子-整理】
5 2月 2013 | 程序员
HOMER是一个使用perl和C写成的motif分析工具。之前在分析clip-seq分析时,按照文献中材料和方法所写的流程进行分析,却无法得到与文献一致的结果。想来多半是文章发表时,并没有把所有的细节写清楚,导致我在重复时参数选择方面并没有与原作者保持一致。另一个原因是基因组几经修改,原本的hg17的数据无法下载到,只能下载到liftover到hg18的数据。为此,进行了一下google research,发现这个叫做homer的工具,很不错。HOMER主要用于分析基于NGS或者micorarrays的ChIP-Seq,ChIP-Chip数据。也可以分析DNase-Seq,GRO-Seq之类的数据。
HOMER并不能用于查找差异表达的基因,基因表达图谱分析,或者在已知的motif数据库当中去搜索motif。HOMER还有一个缺点,那就是没有用户界面,只能通过命令行形式工作。
HOMER的在分析motif时需要两组数据,一个是感兴趣的数据,另一个是背景数据。如果没有背景数据,HOMER会首先生成随机数据做为背景数据用于motif分析。在生成背景数据时,HOMER会考虑几个方面,一个是要避免CpG岛,一个是可以首先考虑目标数据的上下游的序列。
一但目标数据和背景数据确定了之后,HOMER就开始使用使用马尔可夫3级模型生成确定长度的motif,使用cummulative hypergeometric distribution来分析哪个motif是相对于背景数据而言在目标数据中富集了。当富集的简单motif确定之后,再基于目标数据进行微调以得到精确的motif。
之后的工作就是在已知的motif中去查找相类的motif。这里的已知motif不是来自于任何数据库,而是由作者从发表的ChIP-Seq实验中收集的。
HOMER比较适合分析长度8以上的motif。HOMER还可以进行有倾向性的motif搜索,这需要使用到参数opt 。比如:
findMotifsGenome.pl peaks.txt hg18r OutputDirectory -opt motif1.motif -len 30
对于比较长的motif,比如说长度20的motif,如果mismatch还是使用默认的话不一定会合适,这时可以使用-mis参数来设置可以mismatch多少个碱基,比如-mis 4等等。
HOMER的安装可以说有一点难度,但也不是特别难。首先要下载安装Ghostscript,seqlogo(2.8.1以上版本其实是可以工作的很好的,但安装文件说不行。)以及blat。安装好这些工具,然后把它们的工作目录都加入到PATH中去。比如使用PATH=$PATH:/path/to/blat:/path/to/seqlogo等等。
你的系统需要事先安装好GNU C++ compiler, perl, make, zip/unzip以及wget。
然后下载configureHomer.pl到你希望的安装目录,使用
|
perl configureHomer.pl |
来下载所需要的文件,以及自动安装好HOMER。
安装好之后,可以使用
|
perl ./configureHomer.pl -list |
来查看可能安装的数据,比如说我们接下来需要使用到的hg18基因组。
|
perl ./configureHomer.pl -install hg18 |
下面就是试用HOMER。我们先去UCSC下载所需要的fox2.clip数据。参数如下图所示
下载到数据后,我们运行命令
|
findMotifsGenome.pl fox2.clip.bed hg18 fox2.clip.rna -len 6 -rna > fox2.clip.rna.log 2>&1 & |
。然后打开fox2.clip.rna.log文件来查看程序的运行进展。运行结束之后打开fox2.clip.rna目录中的homerResults.html文件,可以看到下面类似的结果:
如果我们看到排在第一的是UGCAUG,那么就说明安装正常了。接下来就可以使用自己的数据来运行HOMER了。
homer进行motif分析 ChIP-seq的更多相关文章
- TCP ------ 抓包分析(seq ack)
总结: 1.ACK包可以和其他包合在一起,比如ACK包可以携带数据 2.可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答 3.在通信过程中,通过接收到的包的ack值可以判断是否是上 ...
- HOMER | MEME | 转录因子的靶基因预测
Finding Enriched Motifs in Genomic Regions (findMotifsGenome.pl) 在指定区域做motif enrichment,大大降低了假阳性. ME ...
- ChIP-seq 学习内容
chip-seq 流程图 书籍资料 工具 UCSU 安装 使用 原理 手册 Swiss在线分析工具 短序列比对工具 BWA 流程 格式处理 序列比对 peak-calling motif 可视化 输出 ...
- 表观 | Enhancer | ChIP-seq | 转录因子 | 数据库专题
需要长期更新! 参考:生信修炼手册 enhancer的基本概念: 长度几十到几千bp,作用是提高靶基因活性,属于顺式作用原件,DNA作用到DNA,转录因子就是反式,是结合到DNA的蛋白. 1981年, ...
- ChIP-seq技术介绍|易基因
大家好,这里是专注表观组学十余年,多组学科研服务领跑者的易基因. 染色质免疫沉淀后测序(ChIP seq)是一种针对DNA结合蛋白.组蛋白修饰或核小体的全基因组分析技术.由于二代测序技术的巨大进步,C ...
- 计算机网络(11)-----TCP连接的建立和释放
TCP连接的建立和释放 概述 TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程,运输连接有三个阶段:连接建立,数据传送和连接释放. TCP连接的建立 如图所示,假定A主机是客户端程序, ...
- 测序深度和覆盖度(Sequencing depth and coverage)
总是跑数据,却对数据一无所知,这说不过去吧. 看几篇文章吧 Sequencing depth and coverage: key considerations in genomic analyses( ...
- iOS,Android网络抓包教程之tcpdump
现在的移动端应用几乎都会通过网络请求来和服务器交互,通过抓包来诊断和网络相关的bug是程序员的重要技能之一.抓包的手段有很多:针对http和https可以使用Charles设置代理来做,对于更广泛的协 ...
- 如何在 Android 手机上实现抓包?
如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...
随机推荐
- 【转】PO/POJO/BO/DTO/VO的区别
PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中 ...
- 【问题记录】使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”
今天使用FreeMarker生成数据时一直报错,错误信息是“The following has evaluated to null or missing:”,告知我找不到值. 但是我再三确认,这些属性 ...
- (04) springboot 下的springMVC和jsp和mybatis
1. springboot 和springmvc下的注解完全一样(新增了一些有用的) 常用的注解如下: @Controller @RestController= @Controller + @Resp ...
- 小程序数据绑定点赞效果切换(交流QQ群:604788754)
如果对本例有更好的意见和建议,希望给予留言或是加群跟群主联系,交流学习. WXML: <block wx:for="{{nums}}" wx:for-index='idx' ...
- AS添加依赖报错Unable to merge dex
AS添加依赖报错Unable to merge dex 最近在给项目添加依赖的时候,要给项目导入Bmob的SDK,参照Bmob的官方文档,可以直接在app的build.gradle文件中添加 //Bm ...
- react-native-router-flux
这是一个路由,可以用来做Android底部的导航栏,学Android的都知道,如果用原生的代码来 做导航栏,会很复杂,关系到很多复杂的知识. 接下来我就简单的说明一下如何插入和使用吧: 1.你要先依赖 ...
- 初学python类编的一个求矩形小程序
简单的程序不简单,里面包含类定义类,传参,初始化,方法调用,创建实例,格式输出.主要在python中随时定义变量随时用,我这道题题想好久就是我初识类,传参,不是所有参数都的加单引号.简单的东西,复杂话 ...
- javaScript简单的留言板
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- C# [Win32] [API] WS_TABSTOP 無效的解決辦法
關鍵: IsDialogMessage function MSG msg; int bRet = 1; while (bRet != 0) { if (PeekMessageW(&msg, ( ...
- java入门-day02
变量和数据类型 Java是强类型语言.数据在计算之前一定要有确定的类型 基本数据类型; byte /short /int /long/(分别占1-4字节) float(4字节,精度6-7位) ...