| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 
 | mport re
 
ch1 = 'NAAGAGCTGACCAC'\
      +50*'N'\
      +'AGCTCGCTAGCTAGTCGGCTCGGTATAGGACAGATTAGACGCGATG'\
      +60*'N'\
      +'AGGC'+'NNNNNNNNNN'+'AGCTNNNGCTTTTAGCTTGCAAACATAGCCATG'\
      +70*'N'\
      +'T'+'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'+'AGCTTNAG'
 
ch2 = 50*'N'\
      +'AGCTCGCTAGCTAGTCGGCTCGGTATAGGACAGATTAGACGCGATG'\
      +60*'N'\
      +'AGGC'+'NNNNNNNNNN'+'AGCTNNNGCTTTTAGCTTGCAAACATAGCCATG'\
      +70*'N'\
      +'T'+'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'+'AGCTTNAG'
 
ch3 = 50*'N'\
      +'AGCTCGCTAGCTAGTCGGCTCGGTATAGGACAGATTAGACGCGATG'\
      +60*'N'\
      +'AGGC'+'NNNNNNNNNN'+'AGCTNNNGCTTTTAGCTTGCAAACATAGCCATG'\
      +70*'N'
 
ch4 = 'AGCTCGCTAGCTAGTCGGCTCGGTATAGGACAGATTAGACGCGATG'\
      +60*'N'\
      +'AGGC'+'NNNNNNNNNN'+'AGCTNNNGCTTTTAGCTTGCAAACATAGCCATG'\
      +70*'N'
 
pat = re.compile('N{50,}')
 
def plages(ch):
    li=[]
    [ li.extend(m.span()) for m in pat.finditer(ch) ]
    if li[0]==0:  li.pop(0)
    else: li.insert(0,0)
    if li[-1]==len(ch):  li[-1:] = []
    else:  li.append(len(ch))     
    return [ li[k:k+2] for k in xrange(0,len(li),2) ]
 
for ch in (ch1,ch2,ch3,ch4):
    print plages(ch) | 
Partager