用多个字符替换字符串中的两个字符?

时间:2017-11-30 20:19:20

标签: python regex bioinformatics

所以我遇到了这个问题,我试图解决这个问题。 让我们说我有一个用户输入我们想要在字符串中找到的序列。但是他们被允许进入' X'它将被4个字符替换并搜索字符串。例如,如果用户输入AXXT,它将搜索字符串中的AGCT,AGGT等。所以这就是我试图做的:

y_re = y.replace('X', '[ACGT]')

然而,这并没有重叠,所以我输入了AXX,它只给了我AAC。有谁知道我怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

与其他评论者所说的一样,请提供一个包含样本数据和预期输出的最小,完整和可验证的示例。

但我想我明白你要完成的事情。比如,您有序列ACATGT,用户输入AXXT,然后您想要找到重叠的子序列ACATATGT。使用正则表达式执行此操作的方法是使用positive lookahead(?=...)

import re
sequence = 'ACATGT'
user_input = 'AXXT'

pattern = user_input.replace('X', '[ACGT]')
pattern = '(?=({}))'.format(pattern )

m = re.findall(pattern, sequence)
print(m)