Motif 是一段典型的序列或者一个结构。一般来说,我们称之为基序。它是构成任何一种特征序列的基本结构。通俗来讲,motif 是有特征的短序列,一般认为它是拥有生物学功能的保守序列。motif 可能包含特异性的结合位点,或者是涉及某一个特定生物学过程的有共性的序列区段。
简单来说, motif 是一段有规律的序列,我们认为这些序列有一定的作用,那就延伸出一个问题,我们怎么找出这些规律。
比如我们有一个参考基因组序列
$ head refs/saccer3.fa
>chrI
CCACACCACACCCACACACCCACACACCACACCACACACCACACCACACC
CACACACACACATCCTAACACTACCCTAACACAGCCCTAATCTAACCCTG
GCCAACCTGTCTCTCAACTTACCCTCCATTACCCTGCCTCCACTCGTTAC
CCTGTCCCATTCAACCATACCACTCCGAACCACCATCCATCCCTCTACTT
ACTACCACTCACCCACCGTTACCCTCCAATTACCCATATCCAACCCACTG
CCACTTACCCTACCATTACCCTACCATCCACCATGACCTACTCACCATAC
TGTTCTTCTACCCACCATATTGAAACGCTAACAAATGATCGTAAATAACA
CACACGTGCTTACCCTACCACTTTATACCACCACCACATGCCATACTCAC
CCTCACTTGTATACTGATTTTACGTACGCACACGGATGCTACAGTATATA
我们想知道这个序列中有没有GTGACGT
,这样的序列模式。
使用 seqkit 工具完成这个操作。
REF=refs/sc.fa
cat $REF | seqkit locate -p GTGACGT | head
seqID patternName pattern strand start end matched
chrI GTGACGT GTGACGT + 10705 10711 GTGACGT
chrI GTGACGT GTGACGT + 19820 19826 GTGACGT
chrI GTGACGT GTGACGT + 84191 84197 GTGACGT
chrI GTGACGT GTGACGT + 101042 101048 GTGACGT
chrI GTGACGT GTGACGT + 120400 120406 GTGACGT
chrI GTGACGT GTGACGT - 225247 225253 GTGACGT
chrI GTGACGT GTGACGT - 212278 212284 GTGACGT
chrI GTGACGT GTGACGT - 206179 206185 GTGACGT
chrI GTGACGT GTGACGT - 193433 193439 GTGACGT
也可以简单统计一下有多少个匹配
cat $REF | seqkit locate -p GTGACGT | wc -l
717
可以看到有 717 个位置存在这个序列模式。
当然了,这只是一种很粗糙的寻找方式,而且真正的 motif 也并不是完全按照这个 GTGACGT
这样的方式进行排列,可能在某些位点上有所替换。比如:
cat $REF | seqkit locate -r -p 'G(T|A)GA(C|T)(G|A)T' | wc -l
11395
我们使用正则表达式来表示更多的替换情况,相应的匹配模式就会多很多
尽管如此,在实际研究中,我们很少会这样天马行空的想到一个 motif,然后探索他们在基因组中的出现情况,通常情况下,我们通过 ChIP-Seq 分析,会得到一个 peaks 文件,也就是我们关注的蛋白与基因组 “结合” 位点信息,我们想知道这些序列中,存不存在某些规律。另外如果存在某些规律(motif),是否和已发现的 motif 相同或者相似,进而佐证我们实验的准确性。那我们就需要更加专业的工具了。
motif 分析是 ChIP-Seq 中的常规分析,可以了解到 motif 分析就是找基因序列上的规律,那在 ChIP-Seq 分析中,我们是想知道 peaks 序列上的 motif, 在选择序列问题上,我们也有两种选择。
输入类型 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
峰顶附近扩展的序列 | 转录因子(TF)结合位点明确集中在峰顶附近(如窄峰,如酵母、转录因子ChIP-seq) | 减少背景噪音,提高motif信噪比 | 若结合位点分布较广(如组蛋白修饰宽峰),可能遗漏部分motif |
全长peaks的序列 | 结合位点分布广泛(如增强子区域、组蛋白修饰宽峰) | 覆盖所有潜在结合区域,避免遗漏motif | 引入更多非特异序列,增加计算量,可能降低motif富集的显著性 |
这里也有一些建议
findMotifs.pl -size 200
)。这里我们就使用峰顶附近扩展的序列。MEME-ChIP推荐使用左右各拓展 250bp。
可以看到峰顶BED文件包含三行,染色体、起始位点、终止位点
$ head peaks-published.bed
chrII 136120 136121
chrIV 916956 916957
chrIV 976718 976719
chrIV 1345400 1345401
chrV 85278 85279
chrVI 4803 4804
chrVI 31373 31374
chrVI 106730 106731
chrVI 255611 255612
chrVII 384892 384893
使用awk
工具左右拓展
cat peaks-published.bed | awk '$2=$2-249, $3=$3+250' OFS="\t" > TF_500bp_summits.bed
$ head TF_500bp_summits.bed
chrII 135871 136371
chrIV 916707 917207
chrIV 976469 976969
chrIV 1345151 1345651
chrV 85029 85529
chrVI 4554 5054
chrVI 31124 31624
chrVI 106481 106981
chrVI 255362 255862
chrVII 384643 385143
bedtools getfasta -fi refs/saccer3.fa -bed TF_500bp_summits.bed -fo TF_500bp.fa
得到一个 fasta
文件
>chrII:135871-136371
AAAGCGTGCTGTCCGGGTCACAGTTAAAGTTCATATACATGTTACCCTACCCAGTCCGGGTTATGTAAATCGTGAAAAAGAATATCTGGTTTTAAAATCTCTCTTTTCTTTTTCCCCCTGGTGGGTATGGGTGAAATGCTAGAGAGGCAAAAAAAAAGGTTGCCAAGTAAAGCGAAGTATTTGAAGTATACTGCAAGCATCACCGAAACAGGAAATCACGAAGCTGACTCATCTGTGATTTTCCGTCCCCACCATAGTGATGTAACATGCAGTAACGCACGGCGGGCCGAAAGTCGGACTTTACCCCAGATTTGTAGTTGTATCCTATTGGATCACGGGCGACGGACAAGACCCGAAGTGCGGACCGGCATGGTCAGCTTGCACGGAAGCTTTAAGGGTTTCCCTTGTTTCGGCATTAGAAGAGGCATTTCGCACGTTTTACCGGGTCAGAAACTTCGAGGAAGCTGTGACAATTGGAAAAAAAGGCAAAACTAAATGCA
``````
``````
``````
meme-chip -maxw 10 -minw 5 -o result TF_500bp.fa
这样就得到了分析结果,具体解读不再做说明,官网很清晰。官网也提供了一个网页可以在线执行命令。https://meme-suite.org/meme/tools/meme-chip
Homer 可能需要更少的命令就能够完成 meme-chip 类似的分析,主要使用findMotifsGenome.pl
子程序来实现在基因组中寻找 motif。
findMotifsGenome.pl peaks-published.bed refs/saccer3.fa TF_motifs -size given
一行命令就可以了。
这两个工具有很多的参数和命令,下周就暂定对这个软件使用命令和输出进行详细解读吧。