查找Trie键的子字符串

2024-04-26 13:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

这似乎是一个普遍的问题,但我似乎找不到任何符合我需要的东西。在

我有2个序列文件。一个是另一个的集合,所以我想从组合的序列中创建一个trie或后缀树,并搜索每个子序列。在

例如:

s1 = 'ATTCCG'
s2 = 'ATT'
s3 = 'CCG'

我想在trie中使用s1作为键,并在其中搜索子字符串s2和s3。在

以下是我目前所做的尝试:

  1. 生物Pythontrie和triefind

这只允许整个键匹配,或者前缀匹配。所以在上面的例子中,我只能成功地搜索s2而不能搜索s3。在

  1. python的后缀树。在

我看了this中的数字2和4,但它们似乎都无法处理我正在处理的巨大字符串大小(每个字符串可以长达几百万个字符)。在

如果可能的话,我更喜欢使用Trie,因为我以前在这个大小的数据集上使用过它。有没有一种方法可以搜索不完全匹配或前缀的子字符串?在

如果没有,什么是一个合适的后缀树库可以处理非常大的字符串?在

我使用的是linux 24核128GB RAM机器。在

谢谢你


Tags: 文件字符串s3生物序列后缀att例子