-1
我试图做一些模糊匹配的DNA读取字符串。我想允许最多1个替换错误,同时允许特定的底层对象成为两个选项之一(在这种情况下为A或G)。蟒蛇模糊正则表达式与嵌套或正则表达式
我已经开始与以下:
>>> regex.findall("([A|G]TTAGATACCCTGGTAGTCC){0<=s<=1}", "ATTAGATACCCTGGTAGTCA")
['ATTAGATACCCTGGTAGTCA']
如预期,因为我对匹配的确切字符串作为预期的,因为我对匹配的确切字符串
>>> regex.findall("([A|G]TTAGATACCCTGGTAGTCC){0<=s<=1}", "GTTAGATACCCTGGTAGTCA")
['GTTAGATACCCTGGTAGTCA']
比赛比赛但第一个碱基对已从A切换到G(允许)
>>> regex.findall("([A|G]TTAGATACCCTGGTAGTCC){0<=s<=1}", "GTTAGATACCCTGGTAGTCx")
['GTTAGATACCCTGGTAGTCx']
个匹配,而预期的,因为单个替换发生(C-> X)
>>> regex.findall("([A|G]TTAGATACCCTGGTAGTCC){0<=s<=1}", "xTTAGATACCCTGGTAGTCx")
[]
不匹配(如预期),因为有两个取代
>>> regex.findall("([A|G]TTAGATACCCTGGTAGTCC){0<=s<=1}", "xTTAGATACCCTGGTAGTCA")
[]
应该匹配,由于第一basepair错误(x代替A或G)应该被视为替代。