在接下来的10个字符中查找python中的各种字符串重复

在接下来的10个字符中查找python中的各种字符串重复,python,bioinformatics,biopython,Python,Bioinformatics,Biopython,因此,我正在研究一个问题,在遇到初始字符串后,我必须找到各种字符串重复,比如我们使用ACTGAC,因此数据文件的序列如下所示: AAACTGACACCATCGATCAGACCTGA 所以在这个字符串中,一旦我们找到ACTGAC,我需要分析接下来的10个字符,根据一些规则重复字符串。我已经对规则进行了编码,但谁能告诉我,一旦我找到了需要的字符串,我可以为接下来的十个字符生成一个子字符串进行分析。我知道一旦我找到字符串,str.partition函数就可以这样做,然后[1:10]可以得到接下来的十个

因此,我正在研究一个问题,在遇到初始字符串后,我必须找到各种字符串重复,比如我们使用ACTGAC,因此数据文件的序列如下所示:

AAACTGACACCATCGATCAGACCTGA

所以在这个字符串中,一旦我们找到ACTGAC,我需要分析接下来的10个字符,根据一些规则重复字符串。我已经对规则进行了编码,但谁能告诉我,一旦我找到了需要的字符串,我可以为接下来的十个字符生成一个子字符串进行分析。我知道一旦我找到字符串,str.partition函数就可以这样做,然后[1:10]可以得到接下来的十个字符


谢谢

您几乎已经有了它,但请注意,在Python中,索引从零开始计数

分区方法将根据第一次出现的分隔符将字符串拆分为head、separator、tail

因此,您只需从尾部的前十个字符中选取一部分:

Python允许您在默认值为零的片段中省略起始索引,即字符串的起始索引,以及它默认值为字符串长度的结束索引

请注意,您也可以在一行中完成整个操作,如下所示:

>>> data.partition('ACTGAC')[2][:10]
'ACCATCGATC'

您几乎已经有了它,但请注意,在Python中索引从零开始计数

分区方法将根据第一次出现的分隔符将字符串拆分为head、separator、tail

因此,您只需从尾部的前十个字符中选取一部分:

Python允许您在默认值为零的片段中省略起始索引,即字符串的起始索引,以及它默认值为字符串长度的结束索引

请注意,您也可以在一行中完成整个操作,如下所示:

>>> data.partition('ACTGAC')[2][:10]
'ACCATCGATC'

因此,根据marcog在中的回答,我建议:

>>> import re
>>> data = 'AAACTGACACCATCGATCAGAACCTGAACTGACTGACAAA'
>>> sep = 'ACTGAC'
>>> [data[m.start()+len(sep):][:10] for m in re.finditer('(?=%s)'%sep, data)]
['ACCATCGATC', 'TGACAAA', 'AAA']

因此,根据marcog在中的回答,我建议:

>>> import re
>>> data = 'AAACTGACACCATCGATCAGAACCTGAACTGACTGACAAA'
>>> sep = 'ACTGAC'
>>> [data[m.start()+len(sep):][:10] for m in re.finditer('(?=%s)'%sep, data)]
['ACCATCGATC', 'TGACAAA', 'AAA']

请记住string.partition在第一次出现sep时分割字符串。如果有多个分隔符或重叠分隔符,请查看此处:请记住string.partition在第一次出现sep时分割字符串。如果有多个分隔符或重叠分隔符,请查看此处: