Motif Discovery | DREME

写在前面

文献中常用的有DREME和HOMER,这次先搞定DREME,下次再写HOMER。

使用MEME套件中的DREME,用于鉴定meRIP-Seq数据中peak的motif。motif是序列中反复出现的由几个碱基组成的小片段,可能有特定的生物学意义。不过看meRIP-seq的文章里,这块的分析在结果中一般体现为一句话,交代找到的显著motif与已有报道一致,或者说多个发育阶段鉴定的保守motif是什么。

DREME的原理(http://meme-suite.org/doc/dreme-tutorial.html?man_type=web):

  • 输入文件:positive sequences和negative sequences(背景序列,如果没有提供,会根据positive sequences自动生成);
  • 寻找positive sequences中的3-8bp(默认长度)片段, 计算每个片段在positive和negative中出现的次数,通过Fisher's exact test 确定显著性,按照P-value排序成regular expression motifs.
  • 选取前100个motif,将其中1个碱基替换成ambiguity code,重新计算p-value;重复该过程,使得每个碱基都可以有ambiguity code,得到generalized RE motifs.(相当于consensus sequences)
  • 针对上一步得到的generalized RE motifs,计算每个motif在positive和negative中出现的次数,通过Fisher's exact test 确定显著性,按照设定的E-value值输出motif及相应的频率矩阵。

实战

01 安装
下载软件:http://meme-suite.org/doc/download.html

#install
mkdir meme
tar zxf meme_5.0.1.tar.gz 
cd meme_5.0.1
./configure --prefix=/root/cc/biosoft/bin/meme --with-url=http://meme-suite.org --enable-build-libxml2 --enable-build-libxslt
make
make test
make install

#加入PATH(~/.bash_profile)
PATH=/root/cc/biosoft/bin/meme/bin:$PATH
source ~/.bash_profile
#test
dreme 

#根据提示需要安装imagemagick
yum install ImageMagick
convert -version

02 实战
输入文件:fasta格式的序列文件

dreme -p input.fa -oc outDir -dna -png -eps -e 0.05 -t 18000 -m 20 
#-dna, -rna : 默认是dna
#-png, -eps : 输出图片格式
# -e, -t, -m : 是设置软件结束运行的参数,不设置的话,默认在e-value>e时停止,否则会一直运行下去。
# -e: e-value,0.05(default)  一直search,直到下一个motif 的e-value >e
# -t: 运行时间 一直search,直到达到这个时间
# -m: 找到的motif数目 一直search,直到找到的motif数目达到这个值
#还可以设置Core Motif Width:--mink 最小值;--maxk 最大值

设置为-dna时,可以识别U(等同于T),但输出LOGO时使用T.
设置为-rna时,仍然能识别T(等同于U),但输出LOGO时使用U. 同样的序列和参数,设置为-dna-rna,找到的motif是不一样的。Why? 没找到说明

是不是灰常简单?嘻嘻(#.#)

03 LOGO编辑
DREME生成的xml文件中,有每个motif的PWM matrix,里面有motif的每个位置上每种碱基的probability。可以用来直接画LOGO,方便的工具有如下几个。

seqLogo可以调整横纵坐标、碱基高度按比例/绝对大小展示等。

source("https://bioconductor.org/biocLite.R")
biocLite("seqLogo")
require(seqLogo)
mFile <- read.table("inp")
mFile
#  V1       V2 V3 V4 V5       V6
#1  0 0.000000  1  0  1 0.000000
#2  0 0.000000  0  1  0 0.000000
#3  1 0.907213  0  0  0 0.636825
#4  0 0.092787  0  0  0 0.363175

p<-makePWM(m)
seqLogo(p)  
seqLogo(p,ic.scale=FALSE)
seqLogo(p)
seqLogo(p)

seqLogo(p,ic.scale=FALSE)
seqLogo(p,ic.scale=FALSE)

不足:目前seqLogo只能识别DNA alphabet,无法识别RNA,Protein

motifStack用途更广泛,这里仅用于把motif中的T替换成U。
需要安装ghostscript,然后将安装路径设置为环境变量R_GSCMD.
比如我安装的是64位的,安装在C:\Program Files\gs\gs9.23,按如下设置:

Sys.setenv(R_GSCMD=file.path("C:", "Program Files", "gs", 
                             "gs9.23", "bin", "gswin64c.exe"))

将矩阵中的T换成U。

source("https://bioconductor.org/biocLite.R")
biocLite("motifStack")
require(motifStack)
Sys.setenv(R_GSCMD=file.path("C:", "Program Files", "gs", 
                             "gs9.23", "bin", "gswin64c.exe"))

pcm=read.table("inp")
#0 0.000000  1  0  1 0.000000
#0 0.000000  0  1  0 0.000000
#1 0.907213  0  0  0 0.636825
#0 0.092787  0  0  0 0.363175

rownames(pcm) <- c("A","C","G","U")
motif <- new("pcm", mat=as.matrix(pcm), name="KD")
plot(motif,ncex=2,xaxis=F)  #ncex: fond size of name; xaxis 不显示横坐标
T--> U
T--> U

04 Note
meRIP-seq的数据,分析得到的peak有时会跨区域。比如两个相邻的exon都是peak,但是得到的是一个包含这两个exon的区域,那么,提取序列时,应该提取的是真实的peak区域,即相应的exon区域。如果是exomePeak的结果,生成的BED12文件里包含block的信息,可以利用bedtools getfasta -split直接提取相应block的序列,再“串联”起来;如果是普通的BED文件(chr start end),那么就需要结合exon的坐标(比如GTF,GFF等注释文件),自己生成相应的BED12文件了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容