擅长:python、mysql、java
<p>这个简单的while循环检测所有重复的模式:</p>
<pre><code>def expand():
global hi
hi += 1
def shrink():
global lo
lo += 1
s = 'AAACACGTACGTAATTCCGTGTGTCCCCTATACGTATACGTTT'
motifs = set()
lo = 0
hi = 0
f = expand
while hi <= len(s):
sub = s[lo : hi+1]
if s.count(sub) > 1:
motifs.add(sub)
if lo==hi: f = expand
f()
else:
f = shrink if lo<=hi else expand
f()
</code></pre>
<p>此时,<code>motifs</code>包含所有重复的模式。。。让我们用一些标准来筛选它们:</p>
^{pr2}$