我使用Python 2.7和正则表达式模块。我用这个表达在较长的DNA序列,找到一个短序列:Python正则表达式:重叠序列位置
output = regex.findall(r'(?:'+probe+'){s<'+str(int(mismatches)+1)+'}', sequence, regex.BESTMATCH)
的参数是:
- 探头:一个简短的字符串我期待在基因组
- 基因组:长字符串
- 不匹配:我在基因组的探针/片段之间允许多少差异。
是否有一种方法可以获得与基因组中正则表达式匹配的所有序列的位置?这个脚本是否发现重叠匹配?它工作得很好,但后来我决定尝试一下,说:
probe = "TTGACAT"
genome = "TTGACATTGACATATAAT"
mismatches = 0
我:
[ 'TTGACAT']
使用相同的参数,但不匹配= 10
我得到了:
[“TTGACAT”,“GACATAT”]
所以我不知道,如果脚本发现“TTGACAT”只有一次,因为它与第二occurence重叠,或者如果它实际上找到“TTGACAT”两次,显示结果只有一次...
谢谢
你确定你不需要像http://en.wikipedia.org/wiki/Sequence_alignment之类的东西吗? –
嘿。谢谢您的回答。我同意序列比对方法会更有效率。我仍然在学习如何使用BioPython库 - 特别是BLAST功能 - 并需要一个“紧急脚本”。现在使用正则表达式就足够了。无论如何谢谢:) – WhyOhWhy