使用HOMER分析CLIP-SEQ数据

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的安装可以说有一点难度,但也不是特别难。首先要下载安装Ghostscriptseqlogo(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数据。参数如下图所示UCSCtable

下载到数据后,我们运行命令

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文件,可以看到下面类似的结果:
Screen shot 2013-02-05 at 12.36.05 PM
如果我们看到排在第一的是UGCAUG,那么就说明安装正常了。接下来就可以使用自己的数据来运行HOMER了。

24 thoughts on “使用HOMER分析CLIP-SEQ数据

  1. 其实吧, 要说CLIP-seq的分析也不是没有”标准”. 比如处理背景数据这一块. 可以用超几何分布纯数据模拟. 不过配套同时做一个RNA-seq来当背景数据更加靠谱吧. 都是找一个threshold去过滤clusters而已~~~

  2. 欢迎访问并留下宝贵意见。homer主页上写了是适合8〜20碱基长度的motif。但是,上限的设置是出于对内存的考虑,所以我就没写了。

  3. google就进来这个网页了。
    最近在configure HOMER,不太顺利,用configureHomer.pl -install mm9发现每次安装的mm9 directory所含的文件不一样。并且缺失了preparsed目录里的一些文件。所以做motif discovery出现error,找不到mm9.
    博主能给点建议吗?
    谢谢。【可以email联系】

    1. 你可以先等上两天,因为这两天HOMER的服务器不太稳定,可能导致你安装的文件有误。过两天再试一遍,如果还是不行的话,再同我联系,我很乐意同你一起探讨。

    2. 我今天试着安装了一下,似乎没有问题了。你可以再试试。然后把安装目录下的文件列表传给我。

  4. 在用homer 做motif analysis 时,有时会遇到这样的error(不是每次都会遇到):

    Preparing HTML output with sequence logos…
    1 of 215 (1e-395) Foxa2(Forkhead)/Liver-Foxa2-ChIP-Seq/Homer
    ESP Ghostscript 815.02: Unrecoverable error, exit code 1
    2 of 215 (1e-341) FOXA1(Forkhead)/LNCAP-FOXA1-ChIP-Seq/Homer
    ESP Ghostscript 815.02: Unrecoverable error, exit code 1

    ….

    请问博主知道这是什末原因吗?
    谢谢

    1. 看上去好象是你的Ghostscript的问题。不过也可能是生成的PS文件不对。具体的我没有遇到过。你可以把中间生成的PS文件拿出来分析分析。

    1. 我这两天又运行了一次homer,看了一下,似乎没有PS临时文件。那你生成的目录文件中,是否是所有的motif logo都没有生成,还是其中有个别的没有生成?

  5. 您好,我按照您给的参数设置去UCSC下载所需要的fox2.clip数据,结果发现我的结果和您做出来的结果不一样,不知道这是什么缘故呢?但是既然能出结果,应该能说明homer安装成功了对吗?非常感谢。如果可以,我可以给您写邮件,把我得到的fox2ClipSeq.hg18.bed数据和homerResults.html结果发给您看看吗?

    1. 是比例比我的高呢还是低呢?你把结果发过来看看吧。其实我这个教程少了两步,第一步是需要makeTagDirectory,第二步是findPeaks,第三步才是findMotifsGenome。如果你的比例比我的高,那就是正确的了。如果低了,就需要再看看。

  6. 谢谢,我的第一个motif大字母是 GGCGUU P-value是 1e-8, log P-pvalue是-1.845e+01,% of Targets是21.74%,% of Background是6.73%,是正确的对不?

    1. 问题有很多种可能。因为对你的具体操作过程不清楚,我无法判断。你可以试试以下的步骤:
      首先确认基因组是正确的版本,如果你下载的hg18的fox2的文件,请使用hg18基因组。
      如果你有了fox2.bed,命令行为:
      #make the tag directory:
      makeTagDirectory FOX2-CLIP fox2.bed -format bed

      #find FOX2 clip peaks
      findPeaks FOX2-CLIP -style factor -strand separate > peaks.txt

      #find Motifs (add -p # if you want to use multiple CPUs)
      findMotifsGenome.pl peaks.txt hg18 FOX2Motifs/ -rna

  7. 博主我有几个问题

    1 table browser里table下有4个选项是用fox2clipseq吗,我看这里面好像是每个read对应一个记录,而cluster里是按照位置把overlap的read放到一起了(但是丢失了strand的信息)

    2 下载的文件第一列是一个bin,不符合bed的文件格式,很奇怪。

    3 改了文档符合格式以后用findMotifsGenome.pl做出来UGCAUG在第二行,但是% of targets只有2% (博主po的图片里也只有8.99%)。homer网页上说不到10%的都是假阳性应该忽略,而不管是这个clip seq的提供者也好其他的文献也好都支持这个是fox的binding motif,请问博主对此有何看法?

    谢谢。

    1. 1和2都是正常的。关于3,我和HOMER的作者交流过。他也不记得当初他是怎么做的了。但是有一点可以肯定,那就他拿到的bed文件并不是我们从ucsc上下载下来的,而是他们的合作实验室为他们准备的。那个bed文件是经过过滤后的bed文件。至于合作实验室是如何过滤的数据,就不得而知了。

  8. #make the tag directory:
    makeTagDirectory FOX2-CLIP fox2.bed -format bed

    #find FOX2 clip peaks
    findPeaks FOX2-CLIP -style factor -strand separate > peaks.txt

    做了这两步以后 % of targets 到了8%,% of bg有5%,感觉只能这样了。

    是不是可以说clip seq对binding motif识别度不够高?

    1. 我也对这个问题非常苦恼,无法释怀。很多文献上给出的数据比我再跑一遍的结果要好很多。我想很可能是我不熟悉他们的数据,所以无法完整的重复他们的结果。但也客观地说明clip-seq的分析,比想象中的要复杂得多。至少peak calling和reads clean就是众说纷纭。

  9. 您好,博主!有个问题请教您,在Filtering Peaks过程中,在设置参数C时,Homer提到“we noticed there are many peaks near repeat elements that contain odd tag distributions. These appear to arise from expanded repeats that result in peaks with high numbers of tags from only a small number of unique positions, even when many of the other positions withing the region may be “mappable”. ”这个不太理解,请给予指导,非常感谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注