我有一个有趣的遗传学问题,我想在原生 Python 中解决(标准库之外没有)。这是为了使该解决方案在任何计算机上都非常易于使用,而无需用户安装额外的模块。
这里是。我从 454 次新一代测序运行中收到了 100,000 条 DNA 序列(最多 20 亿条)。我想修剪四肢以去除两端可能存在的引物,包括正常序列和有义序列。例子:
seq001: ACTGACGGATAGCTGACCTGATGATGGGTTGACCAGTGATC
--primer-1--- --primer-2-
引物可以出现一次或多次(一个接一个)。正常的感觉总是在左边,而反向在右边。因此,我的目标是找到引物,剪切序列,只保留无引物的部分。为此,我想使用已在本机 Python 中实现的经典对齐算法(即:Smith-Waterman)(即:不是通过 biopython)。我知道这可能需要相当长的时间(最多几个小时)。
注意:这不是直接的“单词”搜索,因为序列和引物中的 DNA 可能由于各种技术原因而“突变”。
你会用什么?