【发布时间】:2014-03-01 15:55:20
【问题描述】:
我使用 Python 2.7 和正则表达式模块。我使用这个表达式在更长的 DNA 序列中找到一个短序列:
output = regex.findall(r'(?:'+probe+'){s<'+str(int(mismatches)+1)+'}', sequence, regex.BESTMATCH)
参数为:
- probe:我在基因组中寻找的一个短字符串
- 基因组:一长串
- mismatches :我允许基因组中的探针/sn-p 之间存在多少差异。
有没有办法获得与基因组中正则表达式匹配的所有序列的位置?此脚本是否找到重叠匹配?它工作得很好,但后来我决定尝试,说:
probe = "TTGACAT"
genome = "TTGACATTGACATATAAT"
mismatches = 0
我明白了:
['TTGACAT']
参数相同但不匹配 = 10
我明白了:
['TTGACAT','GACATAT']
所以我不知道脚本是否只找到了一次“TTGACAT”,因为它与第二次出现重叠,或者它实际上找到了两次“TTGACAT”并且只显示了一次结果......
谢谢
【问题讨论】:
-
您确定不需要en.wikipedia.org/wiki/Sequence_alignment 之类的东西吗?
-
嘿。谢谢您的回答。我同意序列比对方法会更有效。我仍在学习如何使用 BioPython 库——尤其是 BLAST 功能——并且需要一个“紧急脚本”。现在使用正则表达式就足够了。无论如何谢谢:)
标签: regex python-2.7 dna-sequence