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

2024-09-23 20:23:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有均聚物,是重复的,如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]

查找长度大于3的A或T或G或C的重复。在

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


Tags: inreforif模式groupstartseq
1条回答
网友
1楼 · 发布于 2024-09-23 20:23:46

您可以使用以下regex (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)]

相关问题 更多 >