这似乎应该是一个常见的问题,但我似乎找不到任何完全符合我需要的东西。
我有2个序列(fasta)文件。一个是另一个的集合,所以我想从组装的序列中制作一个trie或后缀树,并搜索每个子序列。
例如:
s1 = 'ATTCCG'
s2 = 'ATT'
s3 = 'CCG'
我想使用s1作为trie中的键,并搜索子串s2和s3。
这是我到目前为止所尝试的内容:
- 生物蟒蛇trie和triefind:
醇>
这只允许整个键匹配,或者匹配前缀。所以在上面的例子中,我只能成功搜索s2而不是s3。
- python的后缀树。
醇>
我查看了this中的数字2和4,但似乎无法处理我正在使用的巨大字符串大小(每个字符串最长可达几百万个字符)。
如果可能的话,我希望在成功之前使用Trie,因为我已经在这个大小的数据集上使用过它。有没有办法搜索不是完整匹配或前缀的子串?
如果没有,什么是合适的后缀树库,可以处理非常大的字符串?
我使用的是Linux 24核128 GB RAM机器。
谢谢