【发布时间】:2017-09-27 18:51:03
【问题描述】:
我正在尝试搜索并计算出现在较大序列 (F) 中的小 DNA 序列 (R) 的数量,但 R 有一些可能是可变的字符。我能想到的最简单的方法是为 R 设置一个比率并计算 F 中高于 80% 的所有命中,但似乎这样做的唯一命令(例如 difflib 的 SequenceMatcher 或 get_close_matches)需要列表才能工作。我不能将 F 分解为任何此类列表。有什么想法吗?
编辑 2:根据要求提供更多信息。
DNA 片段 (F) 中存在一定数量的重复 (R)。 F 长度为 353 个字符,单次重复长度为 15 个字符。不应发生重叠,因为 R 足够不同而不会重叠。问题是 R 可以是可变的,15 个字符中有 2 个可以改变或保持不变。我需要能够检测到这些变化以及未来可能发生的任何变化。我试图避免在 R 中拥有一个充满这些变体的单独数据库。变量字符也可能不在同一位置,因此使用如下正则表达式:
re.findall(pattern = "CTGCTTGGCGGG[TC]T[CG]", string = fragment)
无法工作。另外,这是我在通过 difflib 尝试时使用的:
difflib.get_close_matches(repeat, fragment, cutoff = 0.85)
重复是CTGCTTGGCGGGTTC,DNA 片段是AAAATTGCGGCATGTGGGCTGACTCTGAAAGCGATGCTCACGAAAAGGGAACGCGGCGCCGTCGGGCGCCGCGCGCCGCTTAGGACTGCTGGCCTGCGGCCGGCGCCTGCTTGGCGGGTTCCTGCTTGGCGGGCTCCTGCTTGGCGGGTTCCTGCTTGGCGGGTTCCTGCTTGGCGGGTTCCTGCTTGGCGGGCTGCTGCTTGGCGGGCTGCTGGGCCGGCGCCTGCTGGCCAGGAGCGGGCTGCTGGCCGGCAGGCGCCGCGCCCCCCTTGTTCCAGGGCGAAGCCTGCACCGGCGCCCCCGGACGGATCTTCTGGAAGCCTTCGACCACCACCACGTCTCCCGCCGCCAGG。
重复是指 R 在 DNA 片段中重复多次。
谢谢。
【问题讨论】:
-
不完全清楚你想做什么。请举个例子。此外,您最好指定是否重叠计数等。
-
您能否粘贴
R和F的示例并进一步解释您对重复的定义? -
谢谢,但如果可以的话,我想避免添加 biopython。
-
您能解释一下“未来可能发生的任何变化”是什么意思吗?
标签: python-2.7 bioinformatics fuzzy-search