均聚物过滤器用于重复2个或更多个碱基

时间:2015-02-26 03:58:55

标签: python regex

我有均聚物,如ACACAC,GTGT等重复。

如何在python中使用regex查找此类模式。例如。

seq = 'ACCTTAAAGG'
x = [(m.group(), m.start()) for m in re.finditer(r'([ACGT])\1{2,}', seq) if len(m.group()) > 3]

寻找长度> 1的A或T或G或C的重复。 3.

你能否建议我如何使用正则表达式来重复AT,CG,AG等类型的重复。

1 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式(AC){3,}|(AG){3,}|(GC){3,}|(GT){3,}

>>> import re
>>> s = 'ACACACCTTAACGCGCGAGGCGCGCGC'
>>> pat = re.compile(r'(AC){3,}|(AG){3,}|(GC){3,}|(GT){3,}')
>>> [(m.group(), m.start()) for m in re.finditer(pat, s)]
[('ACACAC', 0), ('GCGCGCGC', 19)]