MEME是用于从一堆序列中搜索功能结构域的工具。比如说当你拿到了许多CHIP-chip或者CHIP-seq的数据,当分析出峰所处的位置之后可以得到一些这些峰所代表的序列,这就是蛋白质与DNA相到作用所保护下来的片段。所以使用MEME搜索其中非常相似的序列片段就可能是有一定功能的结构域。
所以,MEME的输入必须至少有一个Pearson/FASTA格式的序列文件。
命令:meme <dataset> [optional arguments]
这里的<dataset>就是那个序列文件,必须是Pearson/FASTA格式,文件格式示例:
>ICYA_MANSE INSECTICYANIN A FORM (BLUE BILIPROTEIN) GDIFYPGYCPDVKPVNDFDLSAFAGAWHEIAK LPLENENQGKCTIAEYKYDGKKASVYNSFVSNGVKEYMEGDLEIAPDA >LACB_BOVIN BETA-LACTOGLOBULIN PRECURSOR (BETA-LG) MKCLLLALALTCGAQALIVTQTMKGLDI QKVAGTWYSLAMAASDISLLDAQSAPLRVYVEELKPTPEGDLEILLQKW
FASTA文件使用 “>”来进行注释,其后第一个单词为序列名,其后是一些说明性的文字。而后另起一行为序列,直到下一个注释符号截止。
MEME可以读取FASTA文件当中的权重。权重为单独的一行注释,以>WEIGHT这一注释符号开始,注意WEIGHT必须全部大写。其后是介于0~1的数字。这些数字按照序列的排序排布。
>WEIGHTS 0.5 .5 1.0 >seq1 GDIFYPGYCPDVKPVNDFDLSAFAGAWHEIAK >seq2 GDMFCPGYCPDVKPVGDFDLSAFAGAWHELAK >seq3 QKVAGTWYSLAMAASDISLLDAQSAPLRVYVEELKPTPEGDLEILLQKW
下面就是meme的相关参数的说明:
输出位置:
默认值为 meme_out/目录。如果这个目录不存在,会新建一个。输出的文件会有meme.html,meme.xml, meme.txt, meme.xsl以及一些LOGO图片。当然你也可以设置输出的位置。
- -o <output dir> 输出目录名;如果已经存在的话不覆盖该目录;
- -oc <output dir> 输出目录名;如果已经存在的话覆盖该目录;
- -text 只输出meme.txt文件。
DNA还是蛋白质:
MEME可以处理DNA序列和蛋白质序列文件,但是不能同时处理这两种不同格式的序列。所以必须指定是dna还是protein。MEME默认值为蛋白质。
对于DNA序列来说,可以包含ACGT,以及BDHKMNRSUVWY*-
对于蛋白质序列来说,可以包含ACDEFGHIKLMNPQRSTVWY,以及BUXZ*-
而其它的字符,MEME全部会转换为X(未知)。
- -dna 序列为DNA序列
- -protein 序列为蛋白质序列
功能域分布:
一般来讲,你必须对功能域可能的分布有一定概念。默认值认为每一个功能域在每段序列中至多只能出现一次,要不就不出现。
- -mod <string> 分布类型
- oops 每个功能域在每一段序列中都会出现一次,而且只出现一次。这种模式是运算速度最快,而且最为敏感的。但是如果并不是每个序列都包含功能域,那就可能会有不正确的结果。
- zoops 每个功能域在每一段序列中至多只出现一次,可能不出现。这种模式运算速度较快,敏感性稍弱。
- anr 每个功能域在每一段序列中出现的次数不定。这种模式运算速度最慢,可能会多花十倍以上的时间。但是对于功能分布的情况完全未知的情况下,这一参数可能会有帮助。
与之关联的一个参数是
- -maxsites
,这个后面会讲到。
搜索选项:
log likelihood ration (LLR) 以及 E-value是MEME用于搜索功能域排序的两个重要的依据。llr = log ( Pr ( sites | motif ) / Pr (sites | back ) )。其中,Pr ( sites | motif ) 是功能域序列每个残基出现的可能性,集合起来,就是一个距阵,被称为position-specific probability matrix (PSPM)。而Pr(sites|back)则是功能域在背景序列中出现的可能性,如果你提供了背景序列文件的话,与参数
- -bfile
相关。
搜索选项分别为:
- 功能域数
- -nmotifs <n> 一共搜索多少个功能域就停止。默认值为1。
- -evt <p> 如果E-value大于<p>时,就停止搜索。默认值为无穷大。
- 功能域出现的次数
- -nsites <n>
-minsites <n>
-maxsites <n>
nsites设定之后,MEME搜索到一个功能域出现n次之后就停止该功能域的搜索并进入下一个功能域搜索。而出现次数的最小值和最大值由minsites和maxsites来设定。默认值为-minsites:2,-maxsites: zoops: 序列总数,anr:5倍序列总数或者50之间的最小值。而对于oops,这两参数不起作用。对于anr,如果你不设定,那MEME会至多搜索50次功能域。 - -wnsites <n> 每次搜索到功能域时的权重设置,介于0~1之间 [0..1)。默认值为0.8。
- -nsites <n>
- 功能域长度
- -w <n>
-minw <n>
-maxw <n>
功能域长度值。如果-w指定,那么只尝试指定长度的功能域。要不就设定最大值和最小值。默认值为 -minw 8, -maxw 50 - -nomatrim
-wg <a>
-ws <a>
-noendgaps
序列比对相关的参数,-wg gap扣分 -ws 空隔扣分 -noendgaps 不扣分
- -w <n>
- 背景模型
- -bfile <bfile>
- 优先模型
- -psp <pspfile>
背景模型及优先模型可以使用MEME Suite的psp-gen工具来生成。
- -psp <pspfile>
- DNA序列正反义及回文可能性
- -revcomp 是否搜索互补链,默认不搜索,加上这个参数后就变成为搜索
- -pal 是否优先回文结构,默认不搜索。
- Expectation Maximization (EM)算法
- Expectation Maximization (EM)初始化
- Expectation Maximization (EM)分枝搜索
以上三组因为都比较复杂,就不讲述了。